资源描述
zybch2EDA设计流程及其工具,2.1 FPGA/CPLD 设计流程,FPGA:,现场可编程门阵列,CPLD:,复杂可编程逻辑器件,这2种器件的一般开发流程为:,(One Time Programming),功能仿真,原理图/HDL文本编辑,综合,FPGA/CPLD适配,FPGA/CPLD编程下载,逻辑综合器,结构综合器,1.功能仿真,2.时序仿真,时序与功能门级仿真,FPGA/CPLD 器件和电路系统,1.isp方式下载,2.JTAG方式下载,3.针对SRAM结构的配置,4.OTP器件编辑,1、设计输入(原理图/HDL文本编辑),将需设计的电子系统的功能和结构以图形或文本方式表达。,图形输入:,原理图输入、状态图输入、波形图输入,原理图方式应用最为广泛,原理图输入对原理图进行功能验证后再进行编译即可转换为网表文件。,但此方法一般仅实用于小电路。对于稍大的电路,其,可读性、可移植性差,。,波形图主要应用于仿真功能测试时产生某种测试信号;,状态图常用于建模中。,HDL文本输入:目前主流输入方式,是最有效的方式,其,可读性、可移植性好、便于存档,。,2、综合,将前面输入的原理图、HDL语言描述转化为电路实现的门级网表的过程;,是从抽象到具体实现的关键步骤;,综合的结果不是唯一的;,为达到性能要求,往往对综合加以约束。,3、适配,将网表文件转换为适应于特定目标器件的,可下载的最终文件,。,适配对象直接与器件的结构细节相对应。,4、行为仿真、功能仿真、时序仿真,仿真就是让计算机根据一定的算法和一定的仿真库对EDA设计进行模拟,以验证设计,排除错误。,行为仿真:,在综合以前对VHDL所描述的内容进行行为仿真,即将VHDL设计源程序直接送到VHDL仿真器中仿真。,此时的仿真只是根据VHDL的语义进行的,与具体电路没有关系。,在这时的仿真中,可以充分发挥VHDL中的适用于仿真控制的语句及有关的预定义函数和库文件。,功能仿真:,直接对VHDL、原理图描述或其他描述形式的逻辑功能进行测试模拟,以了解其实现的功能是否满足原设计的要求的过程,仿真过程不涉及任何具体器件的硬件特性,如延时特性。,直接进行功能仿真的好处是设计耗时短,对硬件库、综合器等没有任何要求。,大的设计项目一般先进行功能仿真,确认逻辑功能满足要求后,再进行综合、适配、时序仿真。,时序仿真:,接近真实器件运行特性的仿真,仿真文件中已包含了器件硬件特性参数,仿真精度高。,仿真的文件必须来自针对具体器件的布线/适配器所产生的仿真文件。,综合后所得的EDIF等网表文件通常作为适配器的输入文件,产生的网表文件中包含了较为精确的延时信息。,将这个网表文件送到仿真器中进行仿真,就可以得到精确的时序仿真结果了。,EDA设计流程图,目前流行多种网表文件格式,其中最通用的是,EDIF格式,的网表文件。Xilinx的XNF网表文件格式也很流行,一般只在使用Xilinx的FPGA/CPLD时才会用到,XNF格式,。,VHDL文件格式也可以用来描述电路网络,即采用VHDL语法描述各级电路互连,称之为,VHDL网表,,它描述的电路与生成的EDIF/XNF等网表文件一致。,VHDL网表文件采用VHDL语法,只是其中的电路描述采用了结构描述方法,即首先描述了最基本的门电路,然后将这些门电路用例化语句连接起来。,EDA设计流程图,注意:,图中有两个仿真器,一是,VHDL仿真器,,一个是,门级仿真器,,都能进行,功能仿真,和,时序仿真,。,两者仿真用的,文件格式,不同,即网表文件不同。,在综合之后,VHDL综合器一般都可以生成一个VHDL网表文件。,这样的VHDL网表文件再送到,VHDL仿真器,中进行功能仿真,仿真结果与,门级仿真器,所做的功能仿真的结果基本一致。,5、编程下载,将适配后的下载文件,通过通信电缆或专用编程器写至相应目标器件的过程。,6、硬件测试,将含有载入了设计的FPGA或CPLD的硬件系统进行统一测试,以便最终验证设计项目在目标系统上的实际工作情况。,2.2 ASIC及其设计流程,ASIC分为:数字ASIC、模拟ASIC、数模混合ASIC。,2.2.1 ASIC设计方法,ASIC设计方法,全定制法,半定制法,门阵列法,标准单元法,可编程逻辑器件法,2.2.2 一般ASIC设计的流程,系统规格设计,系统级描述,RTL级描述,逻辑综合优化,门级网表,输出门级网表,布局/布线,布局后模拟/验证,FPGA/ASIC实现,RTL级仿真,门级仿真,系统级仿真,前端设计,后端设计,2.3 常用EDA工具,用EDA技术设计电路可以分为不同的技术环节,每一个环节中必须有对应的软件包或专用的EDA工具独立处理。,EDA工具大致可以分为以下5个模块。,设计输入编辑器,仿真器,HDL综合器,适配器(或布局布线器),下载器,2.3.1,设计输入编辑器,通常专业的EDA工具供应商或各可编程逻辑器件厂商都提供EDA开发工具,在这些EDA开发工具中都含有设计输入编辑器,如Xilinx公司的,Foundation、ISE,,Altera公司的,MAX+plusII、QUARTUS,等。,一般的设计输入编辑器都支持图形输入和HDL文本输入。,图形输入通常包括,原理图输入、状态图输入,和,波形图输入,三种常用方法。,2.3.2 HDL,综合器,硬件描述语言诞生的初衷是用于设计逻辑电路的建模和仿真,但直到,Synoposys,公司推出了HDL综合器后,才可以将HDL直接用于电路设计。,HDL综合器是一种用EDA技术实施电路设计中完成电路化简、算法优化、硬件结构细化的计算机软件,是将硬件描述语言转化为硬件电路的重要工具。,HDL综合器在把可综合的HDL(,Verilog或VHDL,)转化为硬件电路时,一般要经过两个步骤。,第1步是HDL综合器对Verilog或VHDL进行处理分析,并将其转换成电路结构或模块。,这时是不考虑实际器件实现的,即完全与硬件无关,这个过程是一个通用电路原理图形成的过程。,第2步是对应实际实现目标器件的结构进行优化,并使之满足各种约束条件,优化关键路径等。,HDL综合器的输出文件一般是网表文件,可以是:,用于电路设计数据交换和交流的工业标准化格式的文件;,直接用硬件描述语言HDL表达的标准格式的网表文件;,对应FPGA/CPLD器件厂商的网表文件。,HDL综合器是EDA设计流程中的一个独立的设计步骤,它往往被其他EDA环节调用,完成整个设计流程。,2.3.3,仿真器,在EDA技术中仿真的地位非常重要,行为模型的表达、电子系统的建模、逻辑电路的验证以及门级系统的测试,每一步都离不开仿真器的模拟检测。,在EDA发展的初期,快速地进行电路逻辑仿真是当时的核心问题,即使在现在,各个环节的仿真仍然是整个EDA设计流程中最重要、最耗时的一个步骤。,因此,仿真器的,仿真速度,、,仿真的准确性,和,易用性,成为衡量仿真器的重要指标。,按处理的硬件描述语言类型,HDL仿真器可分为:,VHDL仿真器,Verilog仿真器,混合VHDL仿真器,其他HDL仿真器,常用的仿真器有:,Model Technology,公司的,Modelsim,Cadence,公司的,Verilog-XL,和,NC-Sim,Aldec,公司的,Active HDL,Synopsys,公司的,VCS,等。,2.3.4 适配,器(布局布线器),完成目标系统在器件上的布局布线,通常由厂商提供的专门针对器件的软件来完成。,适配器最后输出的是厂商自定义的下载文件,包括:,时序仿真文件,适配技术报告文件,面向第三方EDA工具的输出文件,编程下载文件,2.3.5 下载,器(编程器),将设计下载到对应器件,实现硬件设计。一般由厂商提供的专门针对器件的下载软件和下载电缆线完成。,FPGAExpress,:,VHDL/Verilog,综合软件,,简单易用,但有人反映其对,Verilog,的支持不够强,Synopsys,公司出品。,Spectrum,:,VHDL/Verilog,综合软件,,可以加比较多的约束条件。可控性较强,,Mentor,公司出品。,常见的EDA工具,Synplify,:,VHDL/Verilog,综合软件,,口碑相当不错,,Synplicity,公司出品。,FPGA CompilerII,:,VHDL/Verilog,综合软件,,,Synopsys,公司出品。,常见的EDA工具,Active-HDL:,VHDL/Verilog,仿真软件,,简单易用,,Aldec,公司出品。,Modelsim,:,VHDL/Verilog,仿真软件,,功能比Active-HDL强大,使用比Active-HDL复杂,,Mentor,公司出品。,NC-Verilog/NC-VHDL,:,很好的Verilog/VHDL,仿真软件,,其中NC-Verilog 的前身是著名的Verilog仿真软件Verilog-XL,,Cadence,公司出品。,FPGA Advantage:,VHDL/Verilog完整,开发系统,,可以完成除了布线以外所有的工作,,Mentor,公司出品。,一种最常用的用于,FPGA/CPLD,开发设计的软件平台,其主要功能和设计流程为:,图形或HDL编辑器,Compiler Netlist Extractor,Database,Builder,Logic,Synthesizer,Partitioner,Fitter,Timing,SNF,Extractor,Assembler,编程器,设计输入,综合或编译,适配器件,仿真,下载,编译网表提取,数据库建立,逻辑综合,逻辑分割,适配,延时网表提取,编程文件汇编,2.4 MAX+PLUS概述,设计输入,MAX+PLUS II,图形编辑器,MAX+PLUS II,文本编辑器,器件编程,MAX+PLUS II,编程器,项目编译,编译器,网表提取器,适配,逻辑,综合器,数据库,建库器,项目校验,MAX+PLUS II,仿真器,MAX+PLUS II,时间分析器,MAX+PLUS II,信息处理器,和,层次显示,MAX+PLUS的管理器窗口,输入符号,总线,节点名称,74163 符号,输出符号,连接点,输入管脚名,输出管脚名,总线名称,MAX+PLUS的原理图编辑器,MAX+PLUS的HDL文本编辑器,MAX+PLUS的波形编辑器,具有知识产权,的,IP,模块的使用是现代数字系统设计最有效方法之一。,IP模块一般是比较复杂的模块,如数字滤波器、总线接口、DSP、图像处理单元等。,这类模块设计工作量大,设计者重新设计时,往往需要在设计、仿真、优化,逻辑综合、测试等方面化费大量劳动。,各EDA公司均设有IP中心,在网上为设计者提供服务。,网络上已有丰富的各类IP出售,使设计者之间资源共享,加快产品设计,降低产品设计风险。,分为,软IP、固IP,和,硬IP,。,2.5 IP核,软IP,以HDL代码形式存在。,设计周期短,设计投入少。,不涉及物理实现,为后续设计留有空间,增大了IP的灵活性和适应性。,需要设计人员深入理解HDL代码,并将其转换成掩膜布局以产生合理的物理层设计结果。,在一定程度上使后续工序无法适应整体设计,需要一定程度的软IP修正,在性能上不可能获得全面的优化。,固IP,完成了综合的功能块。,有较大的设计深度,以网表文件的形式提交客户使用。,使用与固IP同一个IC生产线的单元库,IP应用成功的机率会更高。,硬IP,提供设计的最终阶段产品:掩膜。,设计深度高,灵活性小。,基于移植的设计复用方法使用硬IP。,芯片的复用是经过验证了的IP现有工作布局,是一种最省时最省力的复用方法。,需要布局移植工具解决新、旧工艺技术不同的问题。,IP的实际内涵:,必须是为了易于重用而按嵌入式应用专门设计的。,必须实现IP模块的优化设计。,要符合IP标准。,
展开阅读全文