《软件开发设计流程》详细课件_第1页
《软件开发设计流程》详细课件_第2页
《软件开发设计流程》详细课件_第3页
《软件开发设计流程》详细课件_第4页
《软件开发设计流程》详细课件_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件开发设计流程详细课件软件开发设计流程PPT课件2/25/20223 一、一、EDA工具软件工具软件1、ALTERA: MAX+PLUS II、QUARTUS II2、LATTICE: isp EXPERT SYSTEM、 isp Synario ispDesignExpert SYSTEM ispCOMPILER、PAC-DESIGNER3、XILINX: FOUNDATION、ISE4、FPGA Compiler、FPGA Express、Synplify、 Leonardo Spectrum . CADENCE、EXEMPLAR、MENTOR GRAPHICS、OrCAD、SYNOPS

2、YS、SYNPLICITY、VIEWLOGIC、.2/25/20224自然语言描述或者相互通信的进程自然语言描述或者相互通信的进程进程及通信进程及通信数据处理数据处理系统级系统级电路的功能描述电路的功能描述基本单元基本单元时序单位时序单位抽象层次抽象层次二、二、 系统设计是数字系统设计的最高层次。一个系统可以包括若干芯片。系统设计是数字系统设计的最高层次。一个系统可以包括若干芯片。如果是如果是“System on Chip”System on Chip”设计,则在一个系统芯片上,也会有若干类似设计,则在一个系统芯片上,也会有若干类似于处理器、存储器等这样的部件。于处理器、存储器等这样的部件。

3、系统设计主要任务是将设计要求转换为明确的、可实现的功能和技术指标,确系统设计主要任务是将设计要求转换为明确的、可实现的功能和技术指标,确定可行的技术方案,且在系统一级(顶层)进行功能和技术指标的描述。这类描述定可行的技术方案,且在系统一级(顶层)进行功能和技术指标的描述。这类描述一般通过文字来表示就可以,不会用一般通过文字来表示就可以,不会用HDLHDL来描述。来描述。2/25/20225设计层次(1)系统级系统级数据采集信号转换预处理火候控制意外处理LCD显示控制调料控制机械控制中心主控数据存储键盘控制实例:智能电烤箱机实例:智能电烤箱机2/25/20226行为有限状态机、数据流图、控制流图

4、行为有限状态机、数据流图、控制流图运算的控制运算的控制运算步运算步算法级算法级自然语言描述或者相互通信的进程自然语言描述或者相互通信的进程进程及通信进程及通信数据处理数据处理系统级系统级电路的功能描述电路的功能描述基本单元基本单元时序单位时序单位抽象层次抽象层次 算法级是对整个系统的数学模型进行建模,一般通过对输入算法级是对整个系统的数学模型进行建模,一般通过对输入/ /输出之间的关系描述,输出之间的关系描述,来模拟器件的行为,检验其功能是否正确,而不考虑具体实现。来模拟器件的行为,检验其功能是否正确,而不考虑具体实现。2/25/20227设计层次(2)算法级(温度控制)算法级(温度控制)熄火

5、升温等待降温错误处理温度到达门限温度到达门限阶段切换熟了焦了新任务2/25/20228抽象层次抽象层次时序单位时序单位基本单元基本单元电路的功能描述电路的功能描述系统级数据处理进程及通信自然语言描述或者相互通信的进程算法级运算步运算的控制行为有限状态机、数据流图、控制流图寄存器变寄存器变换级换级时钟周期时钟周期寄存器、运算、寄存器、运算、变换变换布尔方程、二元决策图、有限状布尔方程、二元决策图、有限状态机态机2/25/20229设计层次设计层次(3)寄存器级(数字信号处理)寄存器选择时钟时钟寄存器寄存器时钟2/25/202210抽象层次抽象层次时序单位时序单位基本单元基本单元电路的功能描述电路

6、的功能描述系统级数据处理进程及通信自然语言描述或者相互通信的进程算法级运算步运算的控制行为有限状态机、数据流图、控制流图寄存器变换级时钟周期寄存器、运算、变换布尔方程、二元决策图、有限状态机逻辑门级逻辑门级延时延时逻辑门、器件逻辑门、器件(晶体管)(晶体管)原理图原理图2/25/202211设计层次(4)逻辑门级逻辑门级(RS触发器触发器)SRQQ2/25/202212抽象层次抽象层次时序单位时序单位基本单元基本单元电路的功能描述电路的功能描述系统级数据处理进程及通信自然语言描述或者相互通信的进程算法级运算步运算的控制行为有限状态机、数据流图、控制流图寄存器变换级时钟周期寄存器、运算、变换布尔

7、方程、二元决策图、有限状态机逻辑门级延时逻辑门、器件(晶体管)原理图电路级物理时间晶体管、R,L,C等电压、电流的微分方程2/25/202213设计层次(5)电路级(CMOS反向器)2/25/202214抽象层次抽象层次时序单位时序单位基本单元基本单元电路的功能描述电路的功能描述系统级数据处理进程及通信自然语言描述或者相互通信的进程算法级运算步运算的控制行为有限状态机、数据流图、控制流图寄存器变换级时钟周期寄存器、运算、变换布尔方程、二元决策图、有限状态机逻辑门级延时逻辑门、器件(晶体管)原理图电路级物理时间晶体管、R,L,C等电压、电流的微分方程物理(版图)级几何图形2/25/202215抽

8、象层次抽象层次时序单位时序单位基本单元基本单元电路的功能描述电路的功能描述系统级系统级数据处理数据处理进程及通信进程及通信自然语言描述或者相互通信的进自然语言描述或者相互通信的进程程算法级算法级运算步运算步运算的控制运算的控制行为有限状态机、数据流图、控行为有限状态机、数据流图、控制流图制流图寄存器变寄存器变换级换级(RTL)时钟周期时钟周期寄存器、运算、寄存器、运算、变换变换布尔方程、二元决策图、有限状布尔方程、二元决策图、有限状态机态机逻辑门级逻辑门级延时延时逻辑门、器件逻辑门、器件(晶体管)(晶体管)原理图原理图电路级电路级物理时间物理时间晶体管、晶体管、R,L,C等等电压、电流的微分方

9、程电压、电流的微分方程物理(版物理(版图)级图)级几何图形几何图形前端后端2/25/202216系统说明系统说明/行为级行为级-设计文档设计文档/算术描述算术描述RTL/功能级功能级-Verilog门级门级/结构级结构级-Verilog版图版图/物理级物理级-几何图形几何图形行为综合行为综合综合前仿真综合前仿真逻辑综合逻辑综合综合后仿真综合后仿真版图版图借助于借助于EDA软件,将设计从一层次自动转换到另一个层次称之为综合软件,将设计从一层次自动转换到另一个层次称之为综合(Synthesis)2/25/202217v设计在抽象级上需要进行折衷设计在抽象级上需要进行折衷系统说明系统说明/行为级行为

10、级-设计文档设计文档/算术描述算术描述RTL/功能级功能级-Verilog门级门级/结构级结构级-Verilog版图版图/物理级物理级-几何图形几何图形详细程度详细程度 低低 高高输入输入/仿真速度仿真速度 高高 低低一个设计可以用任何层次来表示,当设计从上而下进行时,该设计就逐步接近物理实一个设计可以用任何层次来表示,当设计从上而下进行时,该设计就逐步接近物理实现,在表示上就更少了一些抽象。但一个设计所需的细节会随着它在层次中的下降而现,在表示上就更少了一些抽象。但一个设计所需的细节会随着它在层次中的下降而增加。细节不充分会造成不精确的结果,过多的细节则会使该层次的设计复杂。增加。细节不充分

11、会造成不精确的结果,过多的细节则会使该层次的设计复杂。2/25/202218 HDL语言有四种不同的描述方式:行为描述方式(语言有四种不同的描述方式:行为描述方式(behavior)、)、数据流描述方式(数据流描述方式(dataflow)或寄存器)或寄存器RTL描述方式、结构化描述方式描述方式、结构化描述方式(structural)以及混合描述方式。)以及混合描述方式。VHDL或或Verilog通过这四种不同的描通过这四种不同的描述方式从不同的侧面描述结构体的功能。前三种是最基本的描述方式,述方式从不同的侧面描述结构体的功能。前三种是最基本的描述方式,他们组合起来就成为混合描述方式。他们组合起

12、来就成为混合描述方式。 下面结合一个全加器来说明这四种描述风格,全加器的端口示意图如下面结合一个全加器来说明这四种描述风格,全加器的端口示意图如图所示,其输入输出关系如表所示。图所示,其输入输出关系如表所示。 2/25/202219全加器的输入输出关系全加器的输入输出关系 输入输入 输出输出c_in x y c_out sum 0 0 0 0 00 0 1 0 10 1 0 0 10 1 1 1 01 0 0 0 11 0 1 1 01 1 0 1 01 1 1 1 1 全加器框图全加器框图2/25/202220a a、行为描述方式、行为描述方式行为描述输入与输出间转换的行为,不需包含任何结构

13、信息,行为描述输入与输出间转换的行为,不需包含任何结构信息,它对设计实体按算法的路径来描述。它对设计实体按算法的路径来描述。行为描述在行为描述在EDA工程中通常被称为高层次描述,设计工程师只需工程中通常被称为高层次描述,设计工程师只需要注意正确的实体行为、准确的函数模型和精确的输出结果就可以要注意正确的实体行为、准确的函数模型和精确的输出结果就可以了,无需关注实体的电路组织和门级实现。了,无需关注实体的电路组织和门级实现。2/25/202221Verilog行为描述module full_adder(sum,c_out,a, b, c_in);/端口声明端口声明 output sum; out

14、put c_out; input a, b; input c_in;assign c_out,sum=a+b+c_in;endmodule2/25/202222b、数据流描述方式、数据流描述方式 数据流描述方式表示行为,也隐含表示结构,它描述了数据流的运数据流描述方式表示行为,也隐含表示结构,它描述了数据流的运动路线、运动方向和运动结果动路线、运动方向和运动结果。 2/25/202223对于全加器,用布尔方程描述其逻辑功能如下:对于全加器,用布尔方程描述其逻辑功能如下: S1 =A XOR B S = s1 XOR Cin Co = (A AND B) OR( S1 AND Cin) 下面是基

15、于上述布尔方程的数据流风格的描述:下面是基于上述布尔方程的数据流风格的描述: 2/25/202224Verilog 数据流描述module full_adder(sum,c_out,a, b, c_in);/端口声明端口声明 output sum; output c_out; input a, b; input c_in;assign assign sum=(ab)cin;assign cout= (a&b) | (cin & (ab);endmodule2/25/202225c、结构描述方式、结构描述方式 结构化描述方式就是在多层次的设计中,结构化描述方式就是在多层次的设计中

16、,高层次的设计可以调高层次的设计可以调用低层次的设计模块,或直接用门电路设计单元来构成一个复杂用低层次的设计模块,或直接用门电路设计单元来构成一个复杂逻辑电路的方法逻辑电路的方法。利用结构化描述方法将已有的设计成果方便地用于新。利用结构化描述方法将已有的设计成果方便地用于新的设计中,能大大提高设计效率。在结构化描述中,建模的焦点是端口及的设计中,能大大提高设计效率。在结构化描述中,建模的焦点是端口及其互连关系。其互连关系。 结构化描述的建模步骤如下:结构化描述的建模步骤如下:(1 1)元件说明)元件说明: :用于描述局部接口;用于描述局部接口;(2 2)元件例化)元件例化: :是相对于其他元件

17、来放置该元件;是相对于其他元件来放置该元件;(3 3)元件配置)元件配置: :用于指定元件所用的设计实体。用于指定元件所用的设计实体。 2/25/202226对于上图给出的全加器端口结构,可以认为它是由两个半加器和一对于上图给出的全加器端口结构,可以认为它是由两个半加器和一个或门组成的个或门组成的 。基于上图所示的结构,可以写出全加器的结构化描述设计程序基于上图所示的结构,可以写出全加器的结构化描述设计程序如下。如下。 全加器f-adder电路图2/25/202227abc_insumc_outs1c1c2module fulladd(sum,c_out, a, b, c_in);/端口声明端

18、口声明 output sum,c_out; input a, b, c_in; /内部网线声明内部网线声明wire s1,c1,c2;/门级实例引用门级实例引用xor (s1,a,b);and (c1,a,b);and (c2,s1,c_in);xor (sum,s1,c_in);or (c_out,c1,c2); endmodule1位全加器程序如下:位全加器程序如下:Verilog结构化描述方式结构化描述方式1:2/25/202228module full_adder(sum,c_out,x,y,c_in);output sum,c_out;input x,y,c_in;wire a,b,

19、c;h_adder h1(b,a,x,y);h_adder h2(sum,c,c_in,b);or(c_out,c,a);endmodulemodule h_adder(sum,c_out, a, b);/端口声明端口声明 output sum,c_out; input a, b;assign c_out,sum=a + b; endmodule1位全加器程序如下:位全加器程序如下:Verilog结构化描述方式结构化描述方式2:2/25/202229nHDL可以在3个抽象级上建模n+n+SGD+版图级版图级电路级电路级逻辑门级逻辑门级RTL级级系统级和算法级系统级和算法级行为描述行为描述(Be

20、havior)数据流描述(Data Flow)结构描述结构描述(Structure)混合描述混合描述|+行为级行为级l 用功能块之间的数据用功能块之间的数据流对系统进行描述流对系统进行描述l 在需要时在函数块之间进行在需要时在函数块之间进行调度赋值。调度赋值。RTL级级/功能级功能级l用功能块内部或功能块之用功能块内部或功能块之间的数据流和控制信号描述间的数据流和控制信号描述系统系统l基于一个已定义的时钟的基于一个已定义的时钟的周期来定义系统模型周期来定义系统模型结构级结构级/门级门级l用基本单元用基本单元(primitive)或低层元件或低层元件(component)的连接来描述系统以的连接

21、来描述系统以得到更高的精确性,特别是时序方得到更高的精确性,特别是时序方面。面。l在综合时用特定工艺和低层元件在综合时用特定工艺和低层元件将将RTL描述映射到门级网表描述映射到门级网表2/25/202230n抽象级抽象级(Levels of Abstraction)描述选取描述选取v设计工程师在不同的设计阶段采用不同的抽象级设计工程师在不同的设计阶段采用不同的抽象级首先在行为级描述各功能块,以降低描述难度,提高仿真速度。首先在行为级描述各功能块,以降低描述难度,提高仿真速度。在综合前将各功能模块进行在综合前将各功能模块进行RTL级描述。级描述。用于综合的库中的大多数单元采用结构级描述。在本教程

22、中的结构级描述部分用于综合的库中的大多数单元采用结构级描述。在本教程中的结构级描述部分将对结构级将对结构级(门级门级)描述进行更详细的说明。描述进行更详细的说明。2/25/202231三、典型三、典型FPGA应用设计流程应用设计流程系统设计算法设计RTL设计系统验证算法验证RTL验证逻辑综合布局布线后仿真数据流下载硬件验证为什么需要后仿真和硬件验证?2/25/202232典型FPGA应用设计流程系统设计算法设计RTL设计系统验证算法验证RTL验证逻辑综合布局布线后仿真数据流下载硬件验证EDA工具辅助完成2/25/202233典型FPGA应用设计流程系统设计算法设计RTL设计系统验证算法验证RT

23、L验证逻辑综合布局布线后仿真数据流下载硬件验证重点掌握2/25/202234 一个系统由总设计师先进行系统描述,将系统划分为若干模一个系统由总设计师先进行系统描述,将系统划分为若干模块,编写模块模型块,编写模块模型( (一般为行为级一般为行为级) ),仿真验证后,再把这些模块,仿真验证后,再把这些模块分配给下一层的设计师,由他们完成模块的具体设计,而总设计分配给下一层的设计师,由他们完成模块的具体设计,而总设计师负责各模块的接口定义师负责各模块的接口定义顶层模块顶层模块子模块子模块1子模块子模块2子模块子模块3基本单元基本单元基本单元基本单元基本单元基本单元基本单元基本单元基本单元基本单元基本

24、单元基本单元2/25/202235(1).相对独立、功能单一的模块结构相对独立、功能单一的模块结构结构化设计的基本思想是将系统设计成由多个相对独立、功能单一的模块组成的结构。由于模块之间相对独立,每一模块就可以单独地被理解、编写、测试、排错和修改,从而可以有效防止错误在模块之间的扩散,提高系统的质量。 (2).“块内联系大,块间联系小块内联系大,块间联系小”的模块性能标准的模块性能标准模块内部联系要大,模块之间联系要小,这是结构化设计中衡量模块相对独立性能的标准。事实上,块内联系和块间联系是同一个事物的两个方面。若把联系密切的成分组织在同一模块中,块内系统高了,块间联系自然就少了。 (3).采

25、用模块结构图的描述方式采用模块结构图的描述方式结构化设计方法使用的描述方式是模块结构图,即以图形的方式来表达。2/25/202236(1)分割后最底层的逻辑块应适合用逻辑语言进行表达。如果利用逻辑图作最底层模块输入方法,需要分解到门,触发器和宏模块一级;用HDL行为描述语言则可以分解到算法一级。 (2)考虑共享模块。在设计中,往往会出现一些功能相似的逻辑模块,相似的功能应该设计成共享的基本模块,象子程序一样由高层逻辑块调用。这样可以减少需要设计的模块数目、改善设计的结构化特性。 (3)接口信号线最少。复杂的接口信号容易引起设计错误,并且给布线带来困难。以交互信号的最少的地方为边界划分模块,用最

26、少的信号线进行信号和数据的交换为最佳的方法。 2/25/202237(4)结构均称。同层次的模块之间,在资源和IO分配上,不出现悬殊的差异,没有明显的结构和性能上的瓶颈。 (5)通用性好,易于移植。模块的划分和设计应满足通用性要求,模块设计应考虑移植的问题。一个好的设计模型块应该可以在其它设计中使用,并且容易升级和移植;另外,在设计中应尽可能避免使用与器件有关的特性,即设计具有可移植性。 2/25/202238 自顶向下设计法设计过程是通过功能分割手段,将系统由上而下分自顶向下设计法设计过程是通过功能分割手段,将系统由上而下分层次、分模块进行设计和仿真。先进行高层次设计,主要进行功能和接层次、

27、分模块进行设计和仿真。先进行高层次设计,主要进行功能和接口描述,定义模块的功能和接口。这种方法可以用于系统的前期设计,口描述,定义模块的功能和接口。这种方法可以用于系统的前期设计,在没有选定器件、做出电路系统之前,可用软件的仿真手段验证方案的在没有选定器件、做出电路系统之前,可用软件的仿真手段验证方案的可行性。然后再进行底层设计,此时,才涉及具体逻辑门和寄存器等实可行性。然后再进行底层设计,此时,才涉及具体逻辑门和寄存器等实现方式的描述。在每一个层次上,大体都有描述、划分、综合和验证等现方式的描述。在每一个层次上,大体都有描述、划分、综合和验证等4种类型的工作,种类型的工作,EDA系统正是要做

28、这些工作。系统正是要做这些工作。 五、自顶向下的设计过程五、自顶向下的设计过程2/25/202239系统级算法级寄存器级逻辑门级电路级,版图级传统:自底向上传统:自底向上现代:自顶向下现代:自顶向下2/25/202240开始开始系统功能要求系统功能要求HDL性能描述性能描述HDL结构模型结构模型性能性能/行为模拟行为模拟系统分解系统分解满足要求满足要求 ?叶子模块的数据流描述叶子模块的数据流描述数据流描述的综合数据流描述的综合结束结束NY 自顶向下的设计方法并不是一自顶向下的设计方法并不是一个一次就可以完成的设计过程,个一次就可以完成的设计过程,而是一个需要反复改进、反复而是一个需要反复改进、

29、反复实践的过程。这个过程可以分实践的过程。这个过程可以分为:系统性能描述与行为模拟、为:系统性能描述与行为模拟、系统结构分解、产生系统结构系统结构分解、产生系统结构模型、描述叶子模块、逻辑综模型、描述叶子模块、逻辑综合与设计实现。合与设计实现。 自顶向下设计法设计过程自顶向下设计法设计过程2/25/202241(1)系统性能描述与行为模拟)系统性能描述与行为模拟 设计从系统的功能和性能要求开始。首先要将系统的功能要求转设计从系统的功能和性能要求开始。首先要将系统的功能要求转换为用换为用HDL对系统进行的性能描述,建立设计的行为模型。建立设计对系统进行的性能描述,建立设计的行为模型。建立设计的行

30、为模型之后,可以在设计的早期阶段对设计的行为模型进行模拟,的行为模型之后,可以在设计的早期阶段对设计的行为模型进行模拟,通过对模拟结果进行分析,进而调整、修改设计。经过具体的描述和通过对模拟结果进行分析,进而调整、修改设计。经过具体的描述和模拟模拟,可以验证对于系统功能要求的理解是否可以验证对于系统功能要求的理解是否正确正确,是否,是否完整完整。另外,。另外,通过这样的描述和模拟,还可能发现原来对系统功能的要求的不通过这样的描述和模拟,还可能发现原来对系统功能的要求的不完善或者不准确的地方。所以,这个过程有可能要反复进行。完善或者不准确的地方。所以,这个过程有可能要反复进行。2/25/2022

31、42(2)系统结构分解)系统结构分解 系统结构分解,则是将系统分解为若干子系统,子系统又可以再系统结构分解,则是将系统分解为若干子系统,子系统又可以再分解为若干功能模块。这样的分解可以一层一层地进行下去,直到树形分解为若干功能模块。这样的分解可以一层一层地进行下去,直到树形结构的末端,即叶子功能模块。系统分解也不一定是一次就可以完成的,结构的末端,即叶子功能模块。系统分解也不一定是一次就可以完成的,在系统的实现过程中,很可能发现某个层次的分解不一定合适,这时,在系统的实现过程中,很可能发现某个层次的分解不一定合适,这时,就可以进行重新分解。就可以进行重新分解。 系统分解完成后,系统的层次结构就很清晰了。这时,可系统分解完成后,系统的层次结构就很清晰了。这时,可以用以用HDL的结构描述能力,完成系统和子系统的结构描述。的结构描述能力,完成系统和子系统的结构描述。 2/25/202243(3)对叶子功能模块进行数据流描述)对叶子功能模块进行数据流描述 叶子模块是构成系统的最基本的模块。对于这样的模块,叶子模块是构成系统的最基本的模块。对于这样的模块,即即RTL模型(寄存器级层次),应该用数据流进行描述。因为模型(寄存器级层次)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论