资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,FPGA系列培训,培训指导思想,基于实战,基于高速,复杂逻辑,FPGA系列培训计划,热身 FPGA标准设计流程,第一讲 VHDL入门,第二讲 从原理图到语言方法学的飞跃,第三讲 推行同步设计,第四讲 系统级仿真,第五讲 综合,第六讲 布局布线,FPGA系列培训计划(续),第七讲 深入理解FPGA和CPLD,第八讲 FPGA的团队开发,第九讲 提高FPGA性能的技巧,第十讲 高手之路,FPGA标准设计流程,FPGA系列培训之热身,公司现行流程,原理图描述,波形图仿真,厂商工具综合,现行流程局限性,不具有跨平台移植能力,不利于技术积累,仿真非常有限,无法进行大数据量仿真,厂商工具综合能力较差,易被厂商开发工具锁定,标准流程,Design,Entry,TestBench,IP,Function,Simulation,Synthesis,Gate level,Simulation,Place&,Route,Constraints,Static Timing,Analysis,Constraints,Timing,Simulation,Program,Design Entry,VHDL/Verilog HDL描述,可以是两种语言混合描述,描述必须是可综合的,IP,厂商工具产生的模块(Altera MagaWizard和Xilinx Core Generator),公司购买的IP Core,公司自行开发的通用模块,IP的形式可能是源代码,也可能是EDIF网表,Function Simulation,Design,Entry,TestBench,IP,Function,Simulation,Synthesis,Gate level,Simulation,Place&,Route,Constraints,Static Timing,Analysis,Constraints,Timing,Simulation,Program,Function Simulation,功能仿真验证设计的正确性,功能仿真没有延时,使用专门的仿真工具,推荐Active HDL,Testbench用VHDL/Verolog HDL编写,功能仿真速度快,应在功能仿真阶段发现尽可能多的问题,功能仿真做得好,可以大大减少调试时间,Testbench,Design,Entry,TestBench,IP,Function,Simulation,Synthesis,Gate level,Simulation,Place&,Route,Constraints,Static Timing,Analysis,Constraints,Timing,Simulation,Program,TestBench,TestBench用VHDL和Verilog HDL编写,利用HDL的语言机制,可以产生非常丰富的测试激励,对设计进行尽可能全面的验证,系统级仿真,把Testbench描述成虚拟PCB,在虚拟PCB上放置虚拟元件,包括我们的设计和外围元件,从器件商获得器件的功能仿真模型(VHDL/Verilog HDL),如果没有模型可用,就需要作行为建模,可以是功能很简单的模型,系统级仿真就是用虚拟逻辑分析仪观察虚拟PCB上的波形,系统级仿真的例子,LCD Controller,VRAM,CPU,MCF5307,LCD,系统级仿真的例子,从供应商获得VRAM的模型,对MCF5307的总线接口进行行为建模,编写Testbench,描述虚拟PCB,只需要给出CPU的访问序列,不需要关心VRAM的响应时序,可以进行大数据量仿真,仿真工具,FPGA厂商提供的开发工具仿真功能很弱,只提供波形输入,属于入门级,PC平台上的仿真工具:,Active HDL(Aldec),推荐,ModelSim(Mentor Graphics),Synthesis,Design,Entry,TestBench,IP,Function,Simulation,Synthesis,Gate level,Simulation,Place&,Route,Constraints,Static Timing,Analysis,Constraints,Timing,Simulation,Program,Synthesis,综合将行为级描述转化成门级描述,FPGA厂商提供的开发工具综合效果都不太好,属于入门级,综合应在第三方工具上完成,PC平台上常用的综合工具:,Leonardo Spectrum(Mentor Graphics),推荐,Syplify Pro(Syplicity),Constraints(Synthesis),Design,Entry,TestBench,IP,Function,Simulation,Synthesis,Gate level,Simulation,Place&,Route,Constraints,Static Timing,Analysis,Constraints,Timing,Simulation,Program,Constraints(Synthesis),综合阶段的约束通常只有时间约束,综合阶段的约束条件并不是必须满足,在布局布线阶段会对设计进一步优化,综合阶段的约束将传递到布局布线阶段,综合的输出,EDIF网表,供布局布线用,VHDL/Verilog网表,供门级仿真用,约束文件,传递给布局布线工具,Gate level Simulation,Design,Entry,TestBench,IP,Function,Simulation,Synthesis,Gate level,Simulation,Place&,Route,Constraints,Static Timing,Analysis,Constraints,Timing,Simulation,Program,Gate level Simulation,门级仿真验证综合结果与设计的一致性,门级仿真没有延时,即使源文件中加入了延时,门级仿真使用功能仿真相同的TestBench,门级仿真的结果必须与功能仿真一致,门级仿真的必要性,门级仿真并不是必要的,综合将忽略敏感表,当敏感表中的信号没有包括进程中用到的所有右值时,门级仿真将给出与功能仿真不同的结果,当设计中使用了抽象描述(比如虚拟时钟)时,必须做门级仿真,Place&Route,Design,Entry,TestBench,IP,Function,Simulation,Synthesis,Gate level,Simulation,Place&,Route,Constraints,Static Timing,Analysis,Constraints,Timing,Simulation,Program,Place&Route,P&R的输入是综合产生的EDIF网表,P&R将门级网表转化成FPGA配置代码,P&R在厂商开发工具中进行,Constraints(P&R),Design,Entry,TestBench,IP,Function,Simulation,Synthesis,Gate level,Simulation,Place&,Route,Constraints,Static Timing,Analysis,Constraints,Timing,Simulation,Program,Constraints(P&R),P&R阶段的约束包括时间约束和位置约束,时间约束有这样几种:,tpd:pin-to-pin delay,只用于组合逻辑,tsu:setup time,用于输入,tco:clock-to-out delay,用于输出,fmax:内部最高工作频率,Cut timing path:用于低速路径,Constraints(P&R),位置约束包括:,引脚位置,内部逻辑单元位置,Static Timing Analysis,Design,Entry,TestBench,IP,Function,Simulation,Synthesis,Gate level,Simulation,Place&,Route,Constraints,Static Timing,Analysis,Constraints,Timing,Simulation,Program,Static Timing,Analysis,静态时序分析给出P&R的结果是否满足时间约束的信息,所有的时间约束必须满足,如不满足时间约束,需要加入内部逻辑单元的位置约束(即部分手动布局),重新进行P&R,P&R 的输出,FPGA编程文件,VHDL/Verilog网表和SDF文件,供时序仿真用,Timing Simulation,Design,Entry,TestBench,IP,Function,Simulation,Synthesis,Gate level,Simulation,Place&,Route,Constraints,Static Timing,Analysis,Constraints,Timing,Simulation,Program,Timing Simulation,时序仿真验证P&R结果与设计的一致性,时序仿真加入了延时,此延时是真实延时的上限,时序仿真使用功能仿真相同的TestBench,时序仿真的结果必须与功能仿真一致,时序仿真耗时较长,时序仿真的必要性,当设计满足以下条件时,可以不做时序仿真:,纯同步逻辑,设计通过了功能仿真,设计通过了静态时序分析,同步设计可以简化流程,各阶段的时间分配,Design Entry,Function,Simulation,Synthesis,P&R,Design,Entry,Function,Simulation,Synthesis,P&R,功能仿真是FPGA设计中最重要的部分!,下周再见,第一讲 VHDL入门,
展开阅读全文