您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > FPGA-Part2
MICROELECTRONICSSCHOOLOFXIDIANUNIVERSITY1可编程器件技术(二)FPGA设计与实现微电子学院李振荣MICROELECTRONICSSCHOOLOFXIDIANUNIVERSITY2设计方法概述1FPGA设计流程2FPGA设计工具3FPGA硬件资源4可编程逻辑器件设计方法MICROELECTRONICSSCHOOLOFXIDIANUNIVERSITY3PLD设计方法概述MICROELECTRONICSSCHOOLOFXIDIANUNIVERSITY4可编程逻辑器件实现载体硬件描述语言描述手段EDA开发软件及开发系统设计工具EDA工具软件平台系统硬件功能设计文件(硬件描述语言)逻辑编译逻辑化简逻辑综合逻辑优化逻辑仿真目标芯片适配逻辑分割结构综合编程下载PLD设计方法概述面向PLD的EDA技术MICROELECTRONICSSCHOOLOFXIDIANUNIVERSITY5特点:设计各阶段的工具软件彼此独立。20世纪60年代中期~20世纪80年代初期计算机辅助电路模拟、逻辑模拟、布局布线及IC版图绘制。设计各阶段的软件彼此独立,不利于快速设计;且不具备系统级的仿真与综合,不利于复杂系统设计。CAD阶段特点:设计工具集成化。20世纪80年代初期~20世纪90年代初期各种设计软件如原理图输入、编译、电路仿真、自动布局布线等已齐全,且能够将各个工具集成为一个CAE系统,实现从设计输入到版图输出的全程设计自动化。CAE阶段特点:高级语言描述,系统仿真和综合。20世纪90年代以来EDA阶段高层综合的理论与方法;采用硬件描述语言描述设计;采用平面规划技术对逻辑综合和版图设计进行联合管理;提供软硬件协同系统设计工具;建立并行设计工程结构的集成设计环境。PLD设计方法概述EDA技术发展MICROELECTRONICSSCHOOLOFXIDIANUNIVERSITY6系统级行为级C=A+B+寄存器传输级逻辑门级电路级n+n+SGD物理级PLD设计方法概述IC设计层次MICROELECTRONICSSCHOOLOFXIDIANUNIVERSITY7抽象层次时序单位基本单元电路的功能描述前端系统级数据处理进程及通信自然语言描述系统功能或相互通信的进程行为级运算步运算的控制行为有限状态机、数据流图、控制流图寄存器传输级时钟周期寄存器、运算、变换布尔方程、二元决策图、有限状态机后端逻辑门级延时逻辑门、晶体管原理图电路级物理时间晶体管、R,L,C等电压、电流微分方程物理级物理时间几何图形器件模型、参数SRQQ寄存器MUX选择时钟时钟ALU寄存器寄存器时钟待机寻呼寻呼扫描查询扫描查询主设备寻呼响应从设备寻呼响应查询响应连接空闲休眠APB接口模块接收/发送缓存串并/并串转换CRC模块加密模块链路控制单元时钟管理模块跳频选择单元包头产生包头校验白化模块相关器接入码射频接口模块PCM语音接口纠错模块数据处理单元数据处理控制PLD设计方法概述IC设计层次MICROELECTRONICSSCHOOLOFXIDIANUNIVERSITY8系统级算法级寄存器级逻辑门级电路级,版图级…传统:自底而上现代:自顶向下优点:底层优化程度高,设计中大规模集成电路时的经济性好缺点:整体把握性差,修改困难,工作量大,设计周期长,自动化程度低,资料不可重用,难以设计超大规模系统优点:整体把握好,顶层优化程度高,逐级仿真,及时修正,设计周期短,自动化程度高,资料可重用,可并行设计,适合超大规模系统设计(10万门)缺点:依赖EDA工具,依赖底层工艺库,设计中大规模经济性不好PLD设计方法概述IC设计层次MICROELECTRONICSSCHOOLOFXIDIANUNIVERSITY9PLD设计方法概述设计基本原则MICROELECTRONICSSCHOOLOFXIDIANUNIVERSITY10PLD设计方法概述器件选择原则MICROELECTRONICSSCHOOLOFXIDIANUNIVERSITY11PLD设计方法概述电路在FPGA设计各层次的表述形式如何转换?1思考:FPGA设计中的综合与ASIC综合有何不同?2MICROELECTRONICSSCHOOLOFXIDIANUNIVERSITY12自上而下电子设计过程:硬件高层次抽象描述硬件低层次物理描述把设计中的一种描述形式转换成另一种描述形式设计综合人工方式EDA设计工具PLD设计方法概述什么是综合MICROELECTRONICSSCHOOLOFXIDIANUNIVERSITY13设计层次行为域结构域系统级算法级自然语言描述算法描述自然语言综合寄存器级数据流图描述算法综合门级版图级逻辑图描述几何图形描述逻辑综合结构综合•IC设计各层次的设计与综合PLD设计方法概述什么是综合MICROELECTRONICSSCHOOLOFXIDIANUNIVERSITY14•软件编译器与硬件描述语言综合器的比较”一对一“翻译”创造性“转化(转化+优化)PLD设计方法概述什么是综合MICROELECTRONICSSCHOOLOFXIDIANUNIVERSITY15集成开发环境:PLD芯片厂家提供,基本可以完成设计输入(原理图或HDL)、综合、仿真、布局布线、下载等所有工作。Altera公司上一代PLD开发软件,使用者众多。目前Altera已经停止开发MaxplusII,而转向QuartusII软件平台。Altera公司目前PLD开发软件,适合大规模FPGA的开发。Xilinx公司目前的PLD开发软件。Lattice公司的PLD开发软件,目前最新软件改名:ispLEVERIspDesignEXPERTPLD设计方法概述开发软件Xilinx公司新一代的PLD开发软件,目前Xilinx基本停止针对新架构FPGA的ISE软件开发,而转向VIVADO软件平台。MICROELECTRONICSSCHOOLOFXIDIANUNIVERSITY16HDL前端输入与系统管理软件:帮助用户完成HDL文本编辑和输入工作,提高输入效率,可替代集成开发软件或者综合/仿真工具中自带的文本编辑器,依用户习惯而定。UltraEdit广泛使用的编辑器,不直接支持HDL,但可将Verilog的关键字添加到WORDFILE.txt中,即可支持语言编辑和关键字提示。HDLTurboWriterVHDL/verilog专用编辑器,可大小写自动转换,缩进,折叠,格式编排很方便,也可以编辑C/C++,Java等多重语言。HDLDesignerSeriesMentor公司的前端设计软件,进行设计管理、分析、输入等。VisialVHDL/VisalVerilog可视化的HDL/Verilog编辑工具,可通过画流程图等可视化方法生成一部分VHDL/Verilog代码。VisualEliteVisialHDL的下一代产品,能辅助系统级到电路级的设计。PLD设计方法概述开发软件MICROELECTRONICSSCHOOLOFXIDIANUNIVERSITY17HDL逻辑综合软件:将HDL语言转化成最基本的与或非门的连接关系(网表),输出edf文件,提供给PLD厂家的软件进行布线。为了优化结果,在进行复杂HDL设计时,基本上都会使用这些专业的逻辑综合软件,而不使用PLD厂家的集成开发软件中自带的逻辑综合功能。Synplify/SynplifyPro,VHDL/Verilog综合软件,口碑相当不错。Synplicity公司出品。LeonardoSpectrum,VHDL/VerilogHDL综合软件。可加较多的约束条件,可控性强。Mentor公司的子公司ExemplarLogic公司出品。PrecisionRTLPrecisionPhysicalMentor公司最新的VHDL/VerilogHDL综合软件。MAX+PLUSIIAdvancedSynthsisALtera免费HDL综合工具,是MaxplusII的一个插件,用这个插件进行语言综合,比直接使用MaxplusII综合的效果好。FPGAComplierII,VHDL/Verilog综合软件,Synopsys公司已停止发展FPGAexpress软件,而转到FPGAComplierII平台。PLD设计方法概述开发软件MICROELECTRONICSSCHOOLOFXIDIANUNIVERSITY18HDL仿真软件:对设计进行仿真验证,包括布局布线以前的功能仿真(前仿真)和布线以后包含延时信息的时序仿真(后仿真),对于一些复杂的HDL设计可能需要这些软件专业的仿真功能。ModleSimVHDL/VerilogHDL仿真软件,功能比ActiveHDL强大,使用比ActiveHDL复杂。Mentor的子公司ModelTech出品。ActiveHDLVHDL/VerilogHDL仿真软件,人机界面较好,简单易用。Aldec公司出品。NC-Verilog/NC-VHDL/NC-SIMCadence公司出品,很好的Verilog/VHDL仿真工具,其中NC-Verilog的前身是著名的Verilog仿真软件Verilog-XL,用于Verilog仿真;NC-VHDL,用于VHDL仿真;NC-Sim,是Verilog/VHDL混合语言仿真工具。VCS/SciroccoVCS是Synopsys公司的VerilogHDL仿真软件,反映不错;Scirocco是Synopsys公司的VHDL仿真软件。PLD设计方法概述开发软件MICROELECTRONICSSCHOOLOFXIDIANUNIVERSITY19设计方法概述1FPGA设计流程2FPGA设计工具3FPGA硬件资源4可编程逻辑器件设计方法MICROELECTRONICSSCHOOLOFXIDIANUNIVERSITY20(1)设计定义(2)HDL实现(3)功能仿真(4)逻辑综合(5)前仿真(6)布局布线(7)后仿真(9)在系统测试逻辑仿真器逻辑综合器FPGA厂家工具逻辑仿真器逻辑仿真器(8)静态时序分析QuartusIIISELeonardo-Spectrum、SynplifymodelsimNC-verilogPLD设计流程MICROELECTRONICSSCHOOLOFXIDIANUNIVERSITY21PLD设计方法概述有哪些种类仿真,区别是什么?12思考:静态时序分析的作用是什么?与仿真的关系?MICROELECTRONICSSCHOOLOFXIDIANUNIVERSITY221.设计定义先要进行方案论证、系统设计和器件选择等准备工作。设计人员需要根据设计目标需求,定义系统的功能,规划体系结构,并根据设计复杂度,性能指标选择合适的设计方案和FPGA器件(器件资源、成本、复杂度、性能等权衡考虑)。2.设计输入设计人员将设计的系统或电路以开发软件要求的某种形式表示出来,并送入计算机的过程。通常有以下几种形式:–HDL(硬件描述语言)–原理图–波形–状态机PLD设计流程MICROELECTRONICSSCHOOLOFXIDIANUNIVERSITY233.功能仿真在编译之前对用户所设计的电路进行逻辑功能验证,此时的仿真没有延时信息,仅对功能实现进行检测。仿真前,先利用波形编辑器或者硬件描述语言等建立波形文件和测试向量,仿真结果将会生成报告文件和输出信号波形,从中便可以观察到各个节点的信号变化。如果发现错误,则返回设计输入中修改逻辑设计。(设计迭代)RTL代码逻辑仿真器调用模块的行为仿真模型测试数据测试程序(testbench)PLD设计流程MICROELECTRONICSSCHOOLOFXIDIANUNIVERSITY244.逻辑综合通过设计软件对设计输入文件进行逻辑化简、综合优化和适配,生成基于FPGA器件的网表。RTL代码逻辑综合器调用模块的黑盒子接口设置综合目标和约束条件EDIF网表(netlist)HDL网表(netlist)PLD设计流程MICROELECTRONICSSCHOOLOFXIDIANUNIVERSITY254.逻辑综合(i
本文标题:FPGA-Part2
链接地址:https://www.777doc.com/doc-1388699 .html