开发软件与开发流程.ppt

上传人:za****8 文档编号:15883601 上传时间:2020-09-12 格式:PPT 页数:43 大小:523.50KB
收藏 版权申诉 举报 下载
开发软件与开发流程.ppt_第1页
第1页 / 共43页
开发软件与开发流程.ppt_第2页
第2页 / 共43页
开发软件与开发流程.ppt_第3页
第3页 / 共43页
资源描述:

《开发软件与开发流程.ppt》由会员分享,可在线阅读,更多相关《开发软件与开发流程.ppt(43页珍藏版)》请在装配图网上搜索。

1、第2章 开发软件与开发流程,FPGA的设计流程 一个简单的开发项目 开发软件使用进阶,课程要求,熟悉FPGA设计流程,熟悉开发软件功能,掌握原理图输入、VHDL语言输入方法。,2.1 FPGA的设计流程,2.1.1 基本设计方法 1. 传统的系统硬件电路设计方法 在EDA出现以前, 人们采用传统的硬件电路设计方法来设计系统。 传统的硬件电路采用自下而上(Bottom Up)的设计方法。 其主要步骤是: 根据系统对硬件的要求, 详细编制技术规格书, 并画出系统控制流图;,然后根据技术规格书和系统控制流图, 对系统的功能进行分化, 合理地划分功能模块, 并画出系统功能框图; 接着就是进行各功能模块

2、的细化和电路设计; 各功能模块电路设计调试完毕以后, 将各功能模块的硬件电路连接起来, 再进行系统的调试; 最后完成整个系统的硬件电路设计。 如一个系统中, 其中一个功能模块是一个十进制计数器, 设计的第一步是选择逻辑元器件, 由数字电路的知识可知, 可以用与非门、 或非门、 D触发器、 JK触发器等基本逻辑元器件来构成一个计数器。,设计人员根据电路尽可能简单, 价格合理, 购买和使用方便及各自的习惯来选择元器件。 第二步是进行电路设计, 画出状态转移图, 写出触发器的真值表, 按逻辑函数将元器件连接起来, 这样计数器模块就设计完成了。 系统的其它模块也照此方法进行设计, 在所有硬件模块设计完

3、成后, 再将各模块连接起来进行调试, 如有问题则进行局部修改, 直至系统调试完毕。,从上述过程可以看到, 系统硬件的设计是从选择具体逻辑元器件开始的, 并用这些元器件进行逻辑电路设计, 完成系统各独立功能模块设计, 然后再将各功能模块连接起来, 完成整个系统的硬件设计。 上述过程从最底层设计开始, 到最高层设计完毕, 故将这种设计方法称为自下而上的设计方法。,传统自下而上的硬件电路设计方法主要特征如下: 1 采用通用的逻辑元器件。 设计者根据需要, 选择市场上能买得到的元器件, 如54/74系列, 来构成所需要的逻辑电路。 随着微处理器的出现, 系统的部分硬件电路功能可以用软件来实现, 在很大

4、程度上简化了系统硬件电路的设计。 但是, 选择通用的元器件来构成系统硬件电路的方法并未改变。,2 在系统硬件设计的后期进行仿真和调试。 系统硬件设计好以后才能进行仿真和调试, 进行仿真和调试的仪器一般为系统仿真器、 逻辑分析仪和示波器等。 由于系统设计时存在的问题只有在后期才能较容易发现, 一旦考虑不周, 系统设计存在缺陷, 那就得重新设计系统, 使得设计费用和周期大大增加。 3 主要设计文件是电原理图。 在设计调试完毕后, 形成的硬件设计文件主要是由若干张电原理图构成的。 在电原理图中详细标注了各逻辑元器件的名称和相互间的信号连接关系。,该文件是用户使用和维护系统的依据。 如果是小系统, 这

5、种电原理图只要几十张、 几百张就行了, 但是, 如果系统很复杂, 那么就可能需要几千张、 几万张甚至几十万张。 如此多的电原理图给归档、 阅读、 修改和使用都带来了极大的不便。,传统的自下而上的硬件电路设计方法已经沿用了几十年, 随着计算机技术、 大规模集成电路技术的发展, 这种设计方法已落后于当今技术的发展。 一种崭新的自上而下的设计方法已经兴起, 它为硬件电路设计带来一次重大的变革。,2. 新兴的EDA硬件电路设计方法 20世纪80年代初, 在硬件电路设计中开始采用计算机辅助设计技术(CAD), 开始仅仅是利用计算机软件来实现印刷板的布线, 以后慢慢地才实现了插件板级规模的电子电路的设计和

6、仿真。,在我国所使用的工具中, 最有代表性的设计工具是Tango和早期的ORCAD。 它们的出现, 使得电子电路设计和印刷板布线工艺实现了自动化, 但还只能算自下而上的设计方法。 随着大规模专用集成电路的开发和研制, 为了提高开发的效率和增加已有开发成果的可继承性, 以及缩短开发时间, 各种新兴的EDA工具开始出现, 特别是硬件描述语言HDL(Hardware Description Language)的出现,,使得传统的硬件电路设计方法发生了巨大的变革, 新兴的EDA设计方法采用了自上而下(Top Down)的设计方法。 所谓自上而下的设计方法, 就是从系统总体要求出发, 自上而下地逐步将设

7、计内容细化, 最后完成系统硬件的整体设计。 各公司的EDA工具基本上都支持两种标准的HDL, 分别是VHDL和Verilog HDL。 利用HDL语言对系统硬件电路的自上而下设计一般分为三个层次, 如图2.1所示。,图 2.1 自上而下设计系统硬件的过程,第一层次为行为描述, 它是对整个系统的数学模型的描述。 一般来说, 对系统进行行为描述的目的是试图在系统设计的初始阶段, 通过对系统行为描述的仿真来发现系统设计中存在的问题。 在行为描述阶段, 并不真正考虑其实际的操作和算法用什么方法来实现, 考虑更多的是系统的结构及其工作过程是否能达到系统设计规格书的要求, 其设计与器件工艺无关。,第二层是

8、寄存器传输描述RTL(又称数据流描述)。 用第一层次行为描述的系统结构程序是很难直接映射到具体逻辑元件结构的, 要想得到硬件的具体实现, 必须将行为方式描述的HDL程序, 针对某一特定的逻辑综合工具, 采用RTL方式描述, 然后导出系统的逻辑表达式, 再用仿真工具对RTL方式描述的程序进行仿真。 如果仿真通过, 就可以利用逻辑综合工具进行综合了。,第三层是逻辑综合。 利用逻辑综合工具, 可将RTL方式描述的程序转换成用基本逻辑元件表示的文件(门级网络表), 也可将综合结果以逻辑原理图方式输出, 也就是说逻辑综合结果相当于在人工设计硬件电路时, 根据系统要求画出了系统的逻辑电原理图。 此后再对逻

9、辑综合结果在门电路级上进行仿真, 并检查定时关系, 如果一切正常, 那么系统的硬件设计基本结束, 如果在某一层上仿真发现问题, 就应返回上一层, 寻找和修改相应的错误, 然后再向下继续未完的工作。,由逻辑综合工具产生门级网络表后, 在最终完成硬件设计时, 还可以有两种选择: 一种是由自动布线程序将网络表转换成相应的ASIC芯片的制造工艺, 定制ASIC芯片; 第二种是将网络表转换成相应的PLD编程码点, 利用PLD完成硬件电路的设计。 EDA自上而下的设计方法具有以下主要特点。,具有以下主要特点。 1) 电路设计更趋合理 硬件设计人员在设计硬件电路时使用PLD器件, 就可自行设计所需的专用功能

10、模块, 而无需受通用元器件的限制, 从而使电路设计更趋合理, 其体积和功耗也可大为缩小。 2) 采用系统早期仿真 在自上而下的设计过程中, 每级都进行仿真, 从而可以在系统设计早期发现设计存在的问题, 这样就可以大大缩短系统的设计周期, 降低费用。,3) 降低了硬件电路设计难度 在使用传统的硬件电路设计方法时, 往往要求设计人员设计电路前应写出该电路的逻辑表达式和真值表(或时序电路的状态表), 然后进行化简等, 这一工作是相当困难和繁杂的,特别是在设计复杂系统时, 工作量大也易出错, 如采用HDL语言, 就可免除编写逻辑表达式或真值表的过程, 使设计难度大幅度下降, 从而也缩短了设计周期。,4

11、) 主要设计文件是用HDL语言编写的源程序 在传统的硬件电路设计中, 最后形成的主要文件是电原理图, 而采用HDL语言设计系统硬件电路时, 主要的设计文件是用HDL语言编写的源程序。 如果需要, 也可以将HDL语言编写的源程序转换成电原理图形式输出。,用HDL语言的源程序作为归档文件有很多好处: 一是资料量小, 便于保存; 二是可继承性好,当设计其它硬件电路时, 可以使用文件中的某些库、 进程和过程程序; 三是阅读方便,阅读程序很容易看出某一硬件电路的工作原理和逻辑关系, 而阅读电原理图, 推知其工作原理需要较多的硬件知识和经验, 而且看起来也不那么一目了然。,2.1.2 设计流程 可编程逻辑

12、器件的设计是指利用EDA开发软件和编程工具对器件进行开发的过程。 高密度复杂可编程逻辑器件的设计流程如图2.2所示, 它包括设计准备, 设计输入, 功能仿真, 设计处理, 时序仿真和器件编程及测试等七个步骤。,图 2.2 可编程逻辑器件设计流程,1. 设计准备 在系统设计之前, 首先要进行方案论证、 系统设计和器件选择等准备工作。 设计人员根据任务要求, 如系统的功能和复杂度, 对工作速度和器件本身的资源、 成本及连线的可布性等方面进行权衡, 选择合适的设计方案和合适的器件类型。 一般采用自上而下的设计方法, 也可采用传统的自下而上的设计方法。 2. 设计输入 设计人员将所设计的系统或电路以开

13、发软件要求的某种形式表示出来, 并送入计算机的过程称为设计输入。 设计输入通常有以下几种形式。,1) 原理图输入方式 原理图输入方式是一种最直接的设计描述方式, 要设计什么, 就从软件系统提供的元件库中调出来, 画出原理图, 这样比较符合人们的习惯。 这种方式要求设计人员有丰富的电路知识及对PLD的结构比较熟悉。 其主要优点是容易实现仿真, 便于信号的观察和电路的调整; 缺点是效率低, 特别是产品有所改动, 需要选用另外一个公司的PLD器件时, 就需要重新输入原理图,而采用硬件描述语言输入方式就不存在这个问题。,2) 硬件描述语言输入方式 硬件描述语言是用文本方式描述设计, 它分为普通硬件描述

14、语言和行为描述语言。 普通硬件描述语言有ABEL、 CUR和LFM等, 它们支持逻辑方程、 真值表、 状态机等逻辑表达方式, 主要用于简单PLD的设计输入。 行为描述语言是目前常用的高层硬件描述语言, 主要有VHDL和Verilog HDL两个IEEE标准。 其突出优点有: 语言与工艺的无关性, 可以使设计人员在系统设计、 逻辑验证阶段便确立方案的可行性;,语言的公开可利用性, 便于实现大规模系统的设计; 具有很强的逻辑描述和仿真功能, 而且输入效率高, 在不同的设计输入库之间的转换非常方便, 用不着对底层的电路和PLD结构的熟悉。,3) 波形输入方式 波形输入方式主要是用来建立和编辑波形设计

15、文件, 以及输入仿真向量和功能测试向量。 波形设计输入适用于时序逻辑和有重复性的逻辑函数。 系统软件可以根据用户定义的输入输出波形自动生成逻辑关系。 波形编辑功能还允许设计人员对波形进行拷贝、 剪切、 粘贴、 重复与伸展, 从而可以用内部节点、 触发器和状态机建立设计文件, 并将波形进行组合, 显示各种进制的状态值, 也可以将一组波形重叠到另一组波形上, 对两组仿真结果进行比较。,3. 功能仿真 功能仿真也叫前仿真。 用户所设计的电路必须在编译之前进行逻辑功能验证, 此时的仿真没有延时信息, 对于初步的功能检测非常方便。 仿真前, 要先利用波形编辑器和硬件描述语言等建立波形文件和测试向量(即将

16、所关心的输入信号组合成序列), 仿真结果将会生成报告文件和输出信号波形, 从中便可以观察到各个节点的信号变化。 如果发现错误, 则返回设计输入中修改逻辑设计。,4. 设计处理 设计处理是器件设计中的核心环节。 在设计处理过程中, 编译软件将对设计输入文件进行逻辑化简、 综合优化和适配, 最后产生编程用的编程文件。,1) 语法检查和设计规则检查 设计输入完成后, 首先进行语法检查, 如原理图中有无漏连信号线, 信号有无双重来源, 文本输入文件中关键字有无输错等各种语法错误, 并及时列出错误信息报告供设计人员修改, 然后进行设计规则检验, 检查总的设计有无超出器件资源或规定的限制, 并将编译报告列

17、出, 指明违反规则情况以供设计人员纠正。,2) 逻辑优化和综合 化简所有的逻辑方程或用户自建的宏, 使设计所占用的资源最少。 综合是根据设计功能和实现该设计的约束条件(如面积、速度、功耗和成本等),将设计转换为满足要求的电路设计方案,该方案必须同时满足与其符合的的功能和约束条件。综合的目的是将多个模块化设计文件合并为一个网表文件, 并使层次设计平面化。,3) 适配和分割 确立优化以后的逻辑能否与器件中的宏单元和I/O单元适配, 然后将设计分割为多个便于识别的逻辑小块形式映射到器件相应的宏单元中。 如果整个设计较大, 不能装入一片器件时, 可以将整个设计划分(分割)成多块, 并装入同一系列的多片

18、器件中去。 分割可全自动、 部分或全部用户控制, 目的是使器件数目最少, 器件之间通信的引脚数目最少。,4) 布局和布线 布局和布线工作是在上面的设计工作完成后由软件自动完成的, 它以最优的方式对逻辑元件布局, 并准确地实现元件间的互连。 布线以后软件自动生成报告, 提供有关设计中各部分资源的使用情况等信息。,5. 时序仿真 时序仿真又称后仿真或延时仿真。 由于不同器件的内部延时不一样, 不同的布局布线方案也给延时造成不同的影响, 因此在设计处理以后, 对系统和各模块进行时序仿真, 分析其时序关系, 估计设计的性能, 以及检查和消除竞争冒险等是非常有必要的。 实际上这也是与实际器件工作情况基本

19、相同的仿真。,6. 器件编程测试 时序仿真完成后, 软件就可产生供器件编程使用的数据文件。 对EPLD/CPLD来说, 是产生熔丝图文件, 即JED文件, 对于FPGA来说, 是产生位流数据文件(Bitstream Generation), 然后将编程数据放到对应的具体可编程器件中去。,器件编程需要满足一定的条件, 如编程电压、 编程时序和编程算法等。 普通的EPLD/CPLD器件和一次性编程的FPGA需要专用的编程器完成器件的编程工作。 基于SRAM的FPGA可以由EPROM或其它存储体进行配置。 在线可编程的PLD器件不需要专门的编程器, 只要一根编程下载电缆就可以了。,器件在编程完毕后,

20、 可以用编译时产生的文件对器件进行校验、 加密等工作。 对于支持JTAG技术, 具有边界扫描测试BST(BoundaryScan Testing)能力和在线编程能力的器件来说, 测试起来就更加方便。,2.2 一个简单的开发项目,实验介绍:完成如图所示电路图。(1)完成MY_AND2和MY_OR2的VHDL描述程序(2)完成顶层模块AND_OR的结构化描述,操作步骤,创建工程 编写“MY_AND2”和“MY_OR2”的RTL级描述,“AND_OR”的结构级描述 语法检查 查看电路图 行为级仿真,2.3 开发软件使用进阶,2.3.1 ISE8.2i集成开发环境界面 Sources窗口 Processes窗口 工作区 Transcript窗口,2.3.2 设计输入,文本输入方式 图形输入方式 (1)自底向上的方式 (2)自顶向下的方式 3. 其他输入方式 4. UCF文件的输入(属于文本输入方式),

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!