可编程逻辑器件的设计与开发

上传人:j****9 文档编号:54399230 上传时间:2018-09-12 格式:PPT 页数:55 大小:2.34MB
返回 下载 相关 举报
可编程逻辑器件的设计与开发_第1页
第1页 / 共55页
可编程逻辑器件的设计与开发_第2页
第2页 / 共55页
可编程逻辑器件的设计与开发_第3页
第3页 / 共55页
可编程逻辑器件的设计与开发_第4页
第4页 / 共55页
可编程逻辑器件的设计与开发_第5页
第5页 / 共55页
点击查看更多>>
资源描述

《可编程逻辑器件的设计与开发》由会员分享,可在线阅读,更多相关《可编程逻辑器件的设计与开发(55页珍藏版)》请在金锄头文库上搜索。

1、第二章 可编程逻辑器件的设计与开发,2.1 可编程逻辑器件的设计流程,2.1.1 设计的输入,设计输入就是将设计者所设计的电路以开发软件所要求的某种形式表示出来,并输入到相应的软件中。设计输入有多种表达方式,主要包括原理图输入、硬件描述语言输入、网表输入和波形输入四种。其中最常用的是原理图输入和硬件描述语言输入。,1原理图输入,原理图是图形化的表达方式,它是利用软件中所提供的元件符号和连线来描述设计。其特点是比较直观,便于进行接口设计和管脚锁定,容易实现仿真,便于信号的观察和电路的调整,系统运行速率较高,但当描述复杂电路时则比较繁琐。为提高这种输入方式的效率,应采用自顶向下的逻辑分块设计方法。

2、一般而言,若对系统很了解,并且要求系统的工作速率较高,或在大系统中对时间特性要求较高的部分可采用这种输入方法。,2硬件描述语言输入,硬件描述语言输入是采用文本方式描述设计,这种方式的描述范围较宽,从简单的门电路到复杂的数字系统均可描述。特别是在描述复杂设计时,非常简洁。但这种描述方式不适合描述接口和连接关系,并且该输入方式必须依赖综合器,只有好的综合器才能把语言综合成优化的电路。对于大量规范的、易于语言描述、易于综合、速率较低的电路,可采用这种输入方式。常用的硬件描述语言有Verilog-HDL、VHDL。,2.1.2 设计的实现,设计实现主要是由EDA开发工具依据设计输入文件自动生成用于器件

3、编程、波形仿真及延时分析等所需的数据文件。此部分对开发系统来讲是核心部分,但对于用户来说并不用关心它的实现过程,当然设计者也可通过设置“设计实现策略”等参数来控制设计实现过程。,1优化和合并。优化是指进行逻辑化简,把逻辑描述转变为最适合在器件中实现的形式;合并是将模块化设计产生的多个文件合并成一个网表文件,并使层次设计平面化。,2映射。映射是根据所选择的PLD器件型号,把设计分割为多个适合器件内部逻辑资源实现的逻辑小块形式。,3布局和布线。布局是将已分割的逻辑小块放到器件内部逻辑资源的具体位置,并使它们易于连线,且连线最少;布线是利用器件内的布线资源完成各功能块之间和反馈信号的连接。,4产生编

4、程文件。设计实现的最后一步是产生可供器件编程使用的数据文件。对CPLD器件而言,产生的是熔丝图文件(*.JEDEC);对FPGA器件,则产生的是位数据流文件Bitstream。,2.1.3 设计的校验,设计的校验就是让计算机根据编译器所产生的数据文件对设计进行模拟,以验证用户的设计是否正确。设计的校验包括仿真和定时分析两部分,这两部分可分别通过仿真器和延时分析器来完成。在仿真文件中加载不同的激励,可以观察中间结果以及输出波形。必要时,可以返回设计输入阶段,修改设计输入,最终达到设计要求。,设计的校验可对设计中的各个模块乃至整个系统来进行,若有错误,可以很方便地修改,而不必对硬件进行改动,极大地

5、节约了成本。规模越大的设计,越发需要设计仿真。仿真不消耗器件内的资源,仅消耗少许时间,但从节约成本的角度考虑,这种时间的消耗是完全值得的。可以认为仿真是EDA的精髓。,2.1.4 编程下载,编程下载是将设计实现阶段所产生的熔丝图文件或位数据流文件装入到可编程逻辑器件中,以便硬件调试和验证。编程下载需要满足一定的条件,如编程电压、编程时序和编程算法等。在编程下载时需注意以下几方面问题,1对于不能进行在系统编程的CPLD器件和不能再重配置的FPGA器件,需要编程专用设备(编程器)完成器件编程。,2对于使用LUT技术和基于SRAM的FPGA器件,下载的编程数据将存入SRAM中,而SRAM掉电后所存的

6、数据将丢失,为此需将编程数据固化到E2PROM中,器件上电时,由器件本身或微处理器控制E2PROM将数据“配置”到FPGA中。,3对于使用乘积项逻辑、基于E2PROM或Flash工艺的CPLD器件进行编程下载时,使用器件厂商提供的专用下载电缆,一端与计算机的并行口相接,另一端接到CPLD器件所在PCB板上的10芯插头上(PLD只有4个引脚与该插头相连)。编程数据通过该电缆下载到CPLD器件中,这个过程称为ISP(在系统编程)。,2.2 可编程逻辑器件的开发环境,如前所述,EDA技术在当代迅猛发展,同时各种EDA软件也如雨后春笋般呈现在用户面前。它们一般分为两种,一种是PLD芯片制造商为推广自己

7、的芯片而开发的专业EDA软件,本书所使用的Altera公司推出的MAX+plus就属于此类。另一种是EDA软件商提供的第三方软件,如知名的Synplify、Synopsys、Viewlogic、Cadence等,这种软件可以支持大部分芯片公司的PLD器件。,2.2.1常用的EDA工具软件,1Synplify。该软件是由Synplicity公司专为FPGA和CPLD开发设计的逻辑综合工具。它在综合优化方面的优点非常突出,得到了广大用户的好评。它支持用Verilog和VHDL硬件描述语言描述的系统级设计,具有强大的行为及综合能力。综合后,能生成Verilog或VHDL网表,以进行功能级仿真。,Sy

8、nplify的综合过程分为三步:首先是语言综合,将硬件描述语言的设计编译成结构单元。接下来采用优化算法对设计进行优化,除去冗余项,提高可靠性与速度。第三步是工艺映射,将设计映射为相应PLD的网表文件。,2Synopsys。该软件是另一种系统综合软件,它因综合功能强大而被广泛使用。Synopsys综合器的综合效果比较理想,系统速度快,消耗资源少。对系统的优化过程大致分为两步:第一步是设计规则,提出必须满足的设计要求,例如最大延时、最大功耗、最大扇出数目、驱动强度等。第二步是提出各种设计约束,一般有反应时间约束、芯片面积约束等。综合器根据设计要求,采用相应算法,力争使综合效果达到最佳。,Synop

9、sys支持完整的VHDL和Verilog语言子集,另外它的元件库中包含着许多现成的实现方案,调用非常方便。正是因为这些突出的优点,Synopsys逐渐成为设计人员普遍接受的标准工具。,3ispDesignEXPERT。该软件是Lattice公司专为本公司的PLD芯片开发设计的软件,它的前身是该公司的Synario、ispEXPERT。ispDesignEXPERT是完备的EDA软件,支持系统开发的全过程,包括设计输入、设计实现、仿真与时序分析、编程下载等。,4MAX+plus。该软件是Altera公司专为本公司的PLD芯片开发设计的软件。该软件功能齐全,使用方便,易懂好学,已成为最广为接收的E

10、DA工具之一。本书介绍的设计就是采用的该软件。,5Quartus。该软件也是Altera公司为本公司的PLD芯片开发设计的软件。它比MAX+plus支持的器件更全面,特别包括Altera公司的超高密度的芯片系列APEX系列器件。Quartus可开发的单器件门数达到了260万门,特别适合高集成的大型系统的开发设计。,2.2.2MAX+plus软件介绍,MAX+plus的中文全称是复阵列矩阵及可编程逻辑用户系统。MAX+plus以其强大的逻辑综合能力及布局布线能力见长,日益受到广大电子工程设计人员的青睐。,1广泛的适用范围。MAX+plus除支持Altera的FLEX10K、FLEX8000、MA

11、X9000、MAX7000、FLASHlogic、MAX5000、Classic系列PLD外,对其他公司的主要芯片也可进行良好的设计开发。,一. MAX+plus的技术特点,2与器件结构独立。MAX+plus提供了与器件结构独立的设计环境和综合能力,用户可以在设计过程中不考虑具体的结构。,3通用性强。MAX+plus的设计环境是开放的,是符合工业标准的EDA软件。它提供了与主流的各种EDA工具便捷的无缝接口。而且对大多数EDA工具,这一过程由软件内部的相关框架协议自动完成,并不需要设计者参与。MAX+plus支持多家公司的工具软件,支持硬件描述语言的输入。,4兼容性好。MAX+plus可与其他

12、工业标准设计输入、综合与校验工具链接。与CAE工具的接口符合EDIF200和EDIF209、参数化模块库、Verilog、VHDL及其他标准。用户可使用Altera或标准的CAE设计输入工具去建立逻辑设计,使用MAX+plus编译器对Altera器件进行编译,并使用Altera或其他CAE校验工具进行仿真。,5集成度与自动化程度高。MAX+plus的设计输入、处理与校验功能一起提供了全集成化的一套可编程逻辑开发工具,与其他同类软件相比,可减轻设计人员的工作量,加快动态调试,缩短开发周期,取得更高的设计效率。,6易学易用。MAX+plus是高度集成的开发工具,提供丰富的图形用户接口,软件界面新颖

13、友好,通过短期学习就能熟练掌握。,二. MAX+plus常用的界面,1原理图编辑器(Graphic Editor),它是一个最直观也是最传统的设计输入方式。用户可通过它输入简单或复杂的电路原理图。MAX+plus本身具有种类非常全面的器件符号和宏模块库,另外符号编辑功能允许用户根据自己的习惯与风格建立模块库。通过应用这些库,原理图输入将变得轻而易举。原理图编辑器生成的文件格式为*.gdf。,2符号编辑器(Symbol Editor),它使用户能够查看、创建、编辑一个代表逻辑电路的符号。符号文件和设计文件有同样的名称,格式为*.sym。,3文本编辑器(Text Editor),它提供了文本输入方

14、式。可接收的硬件描述语言有AHDL、VHDL、Verilog。文本编辑器具有其他编辑器所没有的优势,它将AHDL、VHDL、Verilog整合进编辑器,并对这三种语言可进行自动检测,找出格式和语法错误并在信息框中显示。该编辑器形成的文件可以创建一个符号供原理图编辑器使用。以VHDL语法编写的文件格式为*.vhd。,4波形编辑器(Waveform Editor),它的应用主要有两个方面,一方面可用来设计电路,其文件格式为*.wdf;另一方面则可以用来观察设计的仿真波形,其文件格式为*.scf。,5编译器(Compiler),编译器是一个高度自动化的综合程序,它能将输入的设计文件综合生成对器件进行

15、编程、仿真和定时分析的输出文件。所有的设计必须经过编译后才可以进行时序分析、仿真和编程下载。,编译过程为:Compiler Netlist Extractor(编译器网表提取器)Database Builder(数据库构建器)Logic Synthesizer(逻辑综合器)Partitioner(分割器)Fitter(适配器)Timing SNF Extractor(定时器网表文件提取器)Assembler(汇编文件生成器)。,6信息(Messages),它的主要作用是列出设计在编译过程中出现的错误信息和警告信息,它与其他应用程序紧密联系在一起,进行错误检查和错误定位。利用窗口下方的“Mess

16、age”和“Locate”按钮切换至错误发生位置。单击右下角的“Help on Message”按钮则可显示提示信号。,7仿真器(Simulator),它的主要作用是校验设计中的逻辑操作以及时延的正确性。仿真器允许用户脱离硬件仅对设计逻辑进行仿真,这可大大减少仿真时间。,8时间分析器(Timing Analyzer),它可用来分析预测器件的时延特性。时延分析结束后,在窗口中会列出相关源节点与目标节点的延时路径及延时的大小,用户可以根据需要选择原设计中的时延路径。借助时间分析的功能可达到最佳布局规划,加快所设计器件的处理速度。,9引脚平面编辑器(Floorplan Editor),它的主要功能是手动分配器件或查看编译器对器件的划分及适配结果。用户可以方便地手动分配器件,包括对器件内的行或列,或专用的逻辑阵列块、管脚、逻辑单元、输入输出单元进行分配。右图为引脚平面编辑器的器件视图。,右图为引脚平面编辑器的逻辑阵列块视图 。,10体系显示窗口(Hierarchy Display),

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 初中教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号