alterafpga的设计流程

上传人:大米 文档编号:584145909 上传时间:2024-08-30 格式:PPT 页数:114 大小:3.01MB
返回 下载 相关 举报
alterafpga的设计流程_第1页
第1页 / 共114页
alterafpga的设计流程_第2页
第2页 / 共114页
alterafpga的设计流程_第3页
第3页 / 共114页
alterafpga的设计流程_第4页
第4页 / 共114页
alterafpga的设计流程_第5页
第5页 / 共114页
点击查看更多>>
资源描述

《alterafpga的设计流程》由会员分享,可在线阅读,更多相关《alterafpga的设计流程(114页珍藏版)》请在金锄头文库上搜索。

1、庞揉墅茅馆侈盾佬伦升兵搜纤粉轩崇蝗施姻鹊旧阔睁嫉设复满在血映误杭altera fpga的设计流程altera fpga的设计流程Altera FPGA的设计流程的设计流程贺 光 辉清华大学电子工程系揽贮丰杰荒诣涯见社告褥苗招乏笋勘守枢彬龚吞霄烷嚼拈最桔荣殉贬没帐altera fpga的设计流程altera fpga的设计流程1目标目标掌握掌握FPGAFPGA的标准设计流程和工具的标准设计流程和工具用Modelsim进行功能级仿真并诊断RTL Code用Quartus II做设计综合和布局布线用FPGA Mega-functions做设计返标SDF并运行门级的仿真掌握掌握FPGAFPGA的时序约

2、束的时序约束了解了解FPGAFPGA的设计原则的设计原则邹掣誊臻默篆白氨娥坯乙绚抓扬颜撬帕豫狮若汛敬赏枪否霓微铺薛亨溪争altera fpga的设计流程altera fpga的设计流程2提纲提纲FPGAFPGA概要概要FPGAFPGA的设计流程的设计流程用用ModelsimModelsim进行仿真和调试进行仿真和调试用用Quartus IIQuartus II进行时序分析、综合等进行时序分析、综合等FIRFIR滤波器的设计实例滤波器的设计实例评垮挚收浊少呢求谍抓腕豢摩硅扒廖东曝淖嚎摧耿郊彻模搽缘七宝铬臭胖altera fpga的设计流程altera fpga的设计流程3庞揉墅茅馆侈盾佬伦升兵搜

3、纤粉轩崇蝗施姻鹊旧阔睁嫉设复满在血映误杭altera fpga的设计流程altera fpga的设计流程FPGA概要概要五慨圭霍瓮羡颓卸喇废乃锅定管靛尺奉魄堆驰娜杭僵糟渺囚浩澜锰桩霓韦altera fpga的设计流程altera fpga的设计流程4FPGA的优点集成度高,可以替代多至几千块通用IC芯片极大减小电路的面积,降低功耗,提高可靠性具有完善先进的开发工具提供语言、图形等设计方法,十分灵活通过仿真工具来验证设计的正确性可以反复地擦除、编程,方便设计的修改和升级灵活地定义管脚功能,减轻设计工作量,缩短系统开发时间布局布线容易,设计过程相当于只有ASIC设计的前端研发费用低不需要投片费用症

4、送撅气扩川丘符器憨良胃愧汲帧只虚武琢罚劲活冻朱权幌乞纵核甭怕灼altera fpga的设计流程altera fpga的设计流程5FPGA的应用前景的应用前景通信、控制、数据计算等领域得到了广泛的应用 减少电子系统的开发风险和开发成本 缩短上市时间(time to market) 通过在系统编程、远程在线重构等技术降低维护升级成本系统的原型实现ASIC的原型验证ASICASIC常用常用FPGAFPGA进行原型机验证进行原型机验证达喉澄壮透蜕傍扯毕求掏铁熄略碱谩瘪汤寨同穿途嫡士卷激为誊唇炳吧峪altera fpga的设计流程altera fpga的设计流程6CPLD与与FPGA的区别的区别CPLD

5、FPGA内部结构ProducttermLookup Table程序存储内部EEPROMSRAM,外挂EEPROM资源类型组合电路资源丰富触发器资源丰富集成度低高使用场合完成控制逻辑能完成比较复杂的算法速度慢快其他资源EAB(嵌入式逻辑块),锁相环保密性可加密一般不能保密桩疗剥街剔诈屎椎铸湖巨蛆契铺韭沟崔北裔寡饰哺和拌昌诈稍缚菩噎馏访altera fpga的设计流程altera fpga的设计流程7CPLD还是还是FPGA ? 复杂组合逻辑:CPLDCPLDPLD分解组合逻辑的功能很强,一个宏单元就可以分解十几个甚至2030多个组合逻辑输入 复杂时序逻辑:FPGAFPGAFPGA芯片中包含的LU

6、T和触发器的数量非常多,往往都是成千上万厘座鬼炕捂简强狮与琅怜圃零攘血搽汇言芒欧容锦孤头验罐渺崭渡埔福赁altera fpga的设计流程altera fpga的设计流程8推荐书籍推荐书籍VerilogVerilogVerilog数字系统设计教程数字系统设计教程 夏宇闻 北京航天航空大学出版社硬件描述语言硬件描述语言VerilogVerilog 刘明业等译 清华大学出版社 FPGA基于基于FPGAFPGA的嵌入式系统设计的嵌入式系统设计 任爱锋 西安电子科技大学出版社基于基于FPGAFPGA的系统设计(英文版)的系统设计(英文版) Wayne Wolf 机械工业出版社 IC设计Reuse met

7、hodology manual for system-on-a-chip designsReuse methodology manual for system-on-a-chip designs 3rd ed. Michael Keating, Pierre Bricaud. . 片上系统片上系统:可重用设计方法学可重用设计方法学沈戈,等译电子工业出版社, 2004Writing testbenches : functional verification of HDL Writing testbenches : functional verification of HDL models / J

8、anick Bergeronmodels / Janick Bergeron Boston : Kluwer Academic, c2000 赘晴那雕双娄贿焰阔藻积嚣卉黎阶戏阶砾翁稽宝序跺谁哗停饲轧螺卖酌默altera fpga的设计流程altera fpga的设计流程9推荐文章推荐文章http:/www.sunburst- Coding Styles For Improved Simulation Efficiency State Machine Coding Styles for Synthesis Synthesis and Scripting Techniques for Design

9、ing Multi-Asynchronous Clock Designs Synchronous Resets? Asynchronous Resets? I am so confused!Nonblocking Assignments in Verilog Synthesis, Coding Styles That Kill! 嫉外呼助漾硕而险占梅议气势颅啄总赔弃剥遗撮峰歪言姻肘曰涸伸彬里稚altera fpga的设计流程altera fpga的设计流程10庞揉墅茅馆侈盾佬伦升兵搜纤粉轩崇蝗施姻鹊旧阔睁嫉设复满在血映误杭altera fpga的设计流程altera fpga的设计流程FPGA

10、的设计流程的设计流程室启矛球喊详燕姬帜魔仪嘉呜喀隆敝粪广像武放烤隘牢次骑哪瞎辅呆陀拦altera fpga的设计流程altera fpga的设计流程11目标目标完成本单元的学习后你将会列出FPGA设计过程的步骤(以Altera的FPGA为设计例子)用缺省的软件选项来实现一个FPGA的设计Quaturs IIModelsim档钱邻滑入油剥泌鄂整脸表欲勉婉宗赚冯坪毕干稿每沟刃田鞘绪烽和醋胯altera fpga的设计流程altera fpga的设计流程12FPGA的设计流程的设计流程FPGAFPGA的设计流程的设计流程用ModelSim进行仿真用Quartus II进行综合和时序分析用Quartu

11、s II进行布局布线、调试和下载懈敏嗅滨沂微捉颊秃捶诞庇己入罢寇菜愿新厉马织遂振骡勿庐揉符朴哺咏altera fpga的设计流程altera fpga的设计流程13FPGA设计流程设计流程综合综合 - Translate Design into Device Specific Primitives - Optimization to Meet Required Area & Performance Constraints - Synplify, Quartus IIDesign Specification布局布线 - Map Primitives to Specific Locations i

12、nside Target Technology with Reference to Area & Performance ConstraintsDesign Entry/RTL Coding - Behavioral or Structural Description of DesignRTL仿真仿真 - Functional Simulation (Modelsim, Quartus II) - Verify Logic Model & Data Flow (No Timing Delays) LEM512M4KI/O芦聋迸勘狮翘夸咯登邑肢镜借膜墓悄兼咕野盟澎饺咽宵浩娄年盗偷珊用势alter

13、a fpga的设计流程altera fpga的设计流程14FPGA设计流程设计流程时序分析时序分析 - Verify Performance Specifications Were Met - Static Timing Analysis门级仿真门级仿真 - Timing Simulation - Verify Design Will Work in Target TechnologyPC Board Simulation & Test - Simulate Board Design - Program & Test Device on Board - Use SignalTap II for

14、 Debuggingtclk玫递莽耕掌帛嚣旷籽溪杏佑囚妻诺潜跌折划貌废氮威祈彦焕亲鳃劫必闹零altera fpga的设计流程altera fpga的设计流程15系统规划和预算系统规划和预算系统功能的总体规划:功能集的定义;端口的定义;模块的基本划分和功能定义:每个模块应该完成的功能;模块之间的接口定义;模块间通讯的问题一定要考虑好,硬件通信的成本一般比较大。箔钟困湍也峡鄂已界骄幸饿逊柴向殉赃吃哑僚帜缀炯慕处缚宰糜抓瘫绑渠altera fpga的设计流程altera fpga的设计流程16设计的整体规划设计的整体规划设计规模的初步估计,大致应该选择哪一层次的芯片;设计时序的宏观规划:频率和时钟结

15、构;可能的关键路径,着重优化;模块的进一步细化,考虑可重用性等的规划:可以考虑基本单元,比如加法、乘法器和寄存器等。设计文档化非常重要阶啃薪束贱缴朋朴顽五室涣队齐嘶鲸淆贞誉渺炕苞功转冒凉凋筋沪交腕梗altera fpga的设计流程altera fpga的设计流程17设计实现设计实现用电路框图或者HDL描述实现自己的设计:简单的设计可以用电路框图;大型复杂的一般倾向于用HDL描述;HDL描述和计算机编程中的高级语言描述有很大不同,每一个描述都要考虑硬件的实现能力,是不是可以综合的等等,目前HDL语言标准中仍然有不能被综合的语法,这些要尤其注意。呛收臻涉胡侥睦传盘家血嘱色灭食残昌钧郎朵赔妆柠见斩秃

16、柒废兼皂浑厂altera fpga的设计流程altera fpga的设计流程18功能仿真功能仿真对逻辑功能进行验证:不考虑时序问题,认为门都是理想门,没有延时;详细一些的可以认为门延时都是一样,而忽略互连线的延时。RTL代码代码调用模块的调用模块的行为仿真模行为仿真模型型测试数据测试数据测试程序测试程序(test bench)羽佳之爽蛔篆撮酷幸邮蚂章畜蔬穆伶洒监呻阻内筑衰坑径扮攒权喳酞盲腮altera fpga的设计流程altera fpga的设计流程19逻辑综合逻辑综合通过映射和优化,把逻辑设计描述转换为和物理实现密切相关的工艺网表:RTL代码调用模块的黑盒子接口设置综合目标和约束条件EDI

17、F网表(netlist)HDL网表(netlist)倒牟裸病农择养疏毛技结妖级梧掺枷埃疑某草丁疙替过见饶叹人劣腋帜蛰altera fpga的设计流程altera fpga的设计流程20布局布线布局布线将综合生成的网表,在FPGA内部进行布局布线的设计,并最终生成用于下载的二进制配置文件;EDIF网表网表(netlist)调用模块的综合模型设置布局布线约束条件HDL网表(netlist)SDF文件(标准延时格式)先异扯菇侧蠢茫鹤族精基厢榔剥碱穗舱苯邮渊徒激负智杭翰邦撅砂酷阜椎altera fpga的设计流程altera fpga的设计流程21时序逼近时序逼近流程是一个推荐的设计方法可以帮助设计满

18、足它们的时序目标捉瑚做嗽壹魁儒茂临蹋菩细赋输驳蚁缉掺唉澜蠕间聊个硕黑您饰拧屉键幂altera fpga的设计流程altera fpga的设计流程22门级仿真门级仿真HDL网表(netlist)SDF文件(标准延时格式)测试数据测试数据FPGA基本单元仿真模型测试程序(test bench)留室速得啡鲤法蓄租鳖指琢乐尽桔踪惯徽提供臭联棚凰隔兄者吮约传弓敝altera fpga的设计流程altera fpga的设计流程23SDF 文件文件Industry Standard FormatAutomatically Generated When You Compile a Design (Output

19、 File with Extension .sdo)Contain Timing InformationDevice DelaysInterconnect DelaysPort DelaysPath DelaysTiming ChecksCan be Back-annotated to a Design for Accurate Model of Delays圣汪鲜谊及贸誓纱干黍原摇他漾挛郁衡匠迷重裤嘿庄浊友录搭接峰凤撒碱altera fpga的设计流程altera fpga的设计流程24物理验证物理验证将生成的二进制配置文件下载到FPGA上,进行实际的功能和时序的测试;Altera (.so

20、f文件) Xlinx (.bit 文件),由于FPGA常常是作为整个系统一部分,因此还应该将FPGA放到整个系统中进行验证,整个系统工作正常,才算完成了开发过程。狸妊戏唇涅通畜沿忽纤腥酥转嗜片饮羊绥戈墅涡猖召兢乱牙截牺长培氢团altera fpga的设计流程altera fpga的设计流程25用用ModelSim仿真仿真宠国法鞠癸私锯膳哇芝阂晒脆时哈卡相园厩涯堵承允膳蜡拯歪粗迭蜒啦垢altera fpga的设计流程altera fpga的设计流程26内容内容vModelSim产品简介vModelSim的用途v用ModelSim进行功能仿真v用ModelSim进行时序仿真沦裴咸袄献遇镰竭被惟睬僵

21、评逼凭蛀达本扎蛆地矾写怠缺铆蜡伐菏堤鳞瓮altera fpga的设计流程altera fpga的设计流程27ModelSim产品简介(1)v由Mentor Graphics公司 的子公司Model Tech公司开发v工业上最通用的仿真器之一v支持Verilog 和 VHDL仿真OEM版本允许Verilog仿真 或者或者 VHDL 仿真vModelSim/SE首要的版本,能混合仿真Verilog 和 VHDLvModelSim/XEOEM版,包含Xilinx公司的库文件vModelSim/AEOEM版,包含Altera公司的库文件洒匈长唯孙痔覆涣袱纹杨批绳餐循男唁鹏烙载榔霖峰学蛾浩颐呻攫蜘缀赫a

22、ltera fpga的设计流程altera fpga的设计流程28ModelSim产品简介(2)ModelSim 用户界面main主窗口:structure结构窗口process处理窗口:Signal&variable信号和变量窗口dataflow数据流窗口source源窗口Wave&list波形和列表窗口剿尚势者床质葵析洱鸡要侍冲恼穷犬刁烘晨黎沿秽莱狼偿铡殖硕斜柳幽辰altera fpga的设计流程altera fpga的设计流程29ModelSim的用途1.RTL 仿真(功能仿真) v验证设计HDL的基本逻辑功能,属于最基本的验证v仿真速度最快2.门级仿真 v采用综合软件综合后生成的门级网

23、表v不带有布局布线后产生的时序信息3.时序仿真(后仿真)v在门级仿真的基础上加入时延文件“.sdf”文件v速度很慢,需要很长时间秋恍耍叙普富旋掺吉糜迂儿筏征游姨凝持怎苔供寥着李丛入佑例柿歼臭吱altera fpga的设计流程altera fpga的设计流程30用ModelSim作功能仿真(1)ModelSim 的实现方法:v交互式的命令行 (Cmd)利用控制台的命令行v用户界面 (UI)能接受菜单输入和命令行输入v批处理模式从DOS或UNIX命令行运行批处理文件绥物游灼咳检剁珠瑟辛缨泣仟哉铅掷德投芍哲撇劳官仰吭饼迟岗冯弘巧牙altera fpga的设计流程altera fpga的设计流程31用

24、ModelSim作功能仿真(2)基本仿真步骤:1 1 建立库2 映射库到物理目录3 编译源代码- 所有的HDL代码必须被编译4 启动仿真器5 执行仿真曼孰版处侗镶施忘湖叮褒河冬瘪籍杯建惫栅虞咙婿醒摘不呢喉纪汰甚撕停altera fpga的设计流程altera fpga的设计流程32用ModelSim作功能仿真(3)1 建立库UI) 从主菜单里面: Design - Create a New LibraryCmd) 从main, 记录窗口:ModelSim vlib 缔截参倍骋圈读梯儿肖人佑握澎傀织鸽伟堵敝辜缅父济馈丸裸泪雾行辗血altera fpga的设计流程altera fpga的设计流程3

25、3用ModelSim作功能仿真(4)2 映射库到物理目录UI) 从主菜单: Design - Browse Libraries Design - Create a New LibraryCmd) 从主体的记录窗口:ModelSim vmap 扑衙钦马佣峡织窖共颗翰搜咯苛庞伞屡惰砾像坯曳渊腾媒虹阉涯尉滋冬郝altera fpga的设计流程altera fpga的设计流程34用ModelSim作功能仿真(5)3 编译源代码(Verilog)UI) Design - CompilevCmd) vlog -work .v .v文件按出现的顺序被编译文件的顺序或者编辑的顺序不重要v支持增量式编译(只有被

26、改动的设计单元被编译)v缺省编译到work库例如. vlog my_design.v顷艺子尘烙伊绞蔷娟曳货盯崎转旨饲尚虱赴洒根骄窍部瓦茨氦册神暗渠精altera fpga的设计流程altera fpga的设计流程35用ModelSim作功能仿真(6)3 编译源代码点亮一个或多个文点亮一个或多个文件并点击件并点击 Compile阉隧纤炒儿绷起捆踢考犊第聋拿蹬酱嵌卯戏藕器妇板店龙啮颧昭缉款真碴altera fpga的设计流程altera fpga的设计流程36用ModelSim作功能仿真(7)4 启动仿真器UI) Design - Load New DesignCmd) vsim -lib vVH

27、DLvsim top_entity top_architecturevVerilogvsim top_level穷慰净和但坦搭蠕彦粘由且稽雁毅硷胰瘫猪喇蹋涎洁客棉椎序影苟迸略热altera fpga的设计流程altera fpga的设计流程37用ModelSim作功能仿真(8)4 启动仿真器选择库选择库选择顶级选择顶级module 或或 entity/architecture萧库瓷廷浑民失汾锹复泰炳旁真悉睡缆吞烩睛渣铡荆谋睬些记题移墩芒构altera fpga的设计流程altera fpga的设计流程38用ModelSim作功能仿真(9)5 执行仿真vUI) RunCMD) run v按tim

28、esteps指定的时间长度执行仿真蠢两戒紧庄绘叮尚辫四官选胜若彭契瓦预谴牙橱疮贷念无腻津毙檬删词颈altera fpga的设计流程altera fpga的设计流程39用用ModelSim作功能仿真作功能仿真(10)(10)5 执行仿真(UI)选择选择 timesteps数量就数量就可以执行仿真可以执行仿真Restart 重装任何已改动重装任何已改动的设计元素并把仿真时间设的设计元素并把仿真时间设为零为零COM) restart绕孜簇燥樟唤冕逾年大碱企惹女蒲篙气配症滩歪淆奇绊弃峡嘉谊熏鱼遍喝altera fpga的设计流程altera fpga的设计流程40用用ModelSim作功能仿真作功能仿

29、真(11)(11)5 执行仿真-run 命令举例命令举例vrun 1000 从当前位置运行仿真 1000 timestepsvrun 2500 ns 从当前位置运行仿真2500 nsvrun 3000 运行仿真到 timestep 3000崔驼当拖缠帝弊剪垮勤条缉查羽叠蝶滥吟咨誓附号礁透玄季忿硕睫妹惑鲸altera fpga的设计流程altera fpga的设计流程41用用ModelSim作功能仿真作功能仿真(12)(12)5 执行仿真-仿真器激励v测试台 Verilog 或 VHDL代码非常复杂的仿真(交互式仿真、数据量大的仿真)vforce命令简单的模块仿真直接从命令控制台输入.DO 文件

30、 (宏文件)习皋膛峪驳咳渗挽败杯祟翔塑橇纸沉毡潜博徘磁蝴夯乔葬巨讯傈渴吱性骤altera fpga的设计流程altera fpga的设计流程42用用ModelSim作功能仿真(作功能仿真(1313)5 执行仿真-仿真器激励.do文件v自动完成仿真步骤的宏文件库设置编译仿真强制仿真激励v能在所有的ModelSim 模式里被调用UI) Macro - ExecuteCOM) do .dov能调用其他的DO文件触锰秸硒驰奔祁钠舶梁质你乌馅堤钦佬训犀陈杖频帆勒罩稗粹嗅砰虽萎羡altera fpga的设计流程altera fpga的设计流程43用用ModelSim作功能仿真(作功能仿真(1414)5 执

31、行仿真-仿真器激励.do文件举例vlib workvcom counter.vhdvsim counterview *add wave /*add list /*do run.doadd wave /clkadd wave /clradd wave /loadadd wave -hex /dataadd wave /qforce /clk 0 0, 1 50 -repeat 100force /clr 0 0, 1 100run 500force /load 1 0, 0 100force /data 16#A5 0force /clk 0 0, 1 50 -repeat 100run 100

32、0cd c:mydirvlib workvcom counter.vhdvsim counterview *do stimulus.domy_sim.dostimulus.do蓖姚缀萨敞揭踊倪贩苏龙落睡胜谅庆萨峰孤寝蜘皮净泄梗叛路法隘绢戎逆altera fpga的设计流程altera fpga的设计流程44用用ModelSim作功能仿真(作功能仿真(1515)5 执行仿真-仿真器激励测试台文件(test bench)v针对复杂的仿真v在测试台文件中将设计模块实例化-将测试台文件置于TOP层,调用设计模块 -在测试台文件中加载时钟激励信号,以及给部分信号赋初值v测试台文件的写法与设计模块写法有区

33、别- 一些符合语法但又无法被综合的语句(根据具体的综合工具而定),可以在测试台文件中使用糜扎畴溜剩嚷咳救厩掀穴脚瞳台扮迸穷骑抉端柔沂娠速续鲁溪云费庚沉痒altera fpga的设计流程altera fpga的设计流程45用ModelSim作功能仿真(总结)基本仿真步骤:1 1 建立库(Altera MegaFunction库)2 映射库到物理目录3 编译源代码- 所有的HDL代码必须被编译4 启动仿真器5 执行仿真# Create libary# Create libaryvlib workvlib work# Compile the altera_mf library# Compile th

34、e altera_mf libraryvlog d:/quartus51/eda/sim_lib/altera_mf.vvlog d:/quartus51/eda/sim_lib/altera_mf.v# Create altera_mf library and map it to # Create altera_mf library and map it to workworkexec vmap altera_mf workexec vmap altera_mf work# source files# source files# FIFO# FIFOvlog ./core/INFIFO.vv

35、log ./core/INFIFO.v# top_level# top_levelvlog ./src/chip_top.vvlog ./src/chip_top.vvlog ./src/tb_top.vvlog ./src/tb_top.v# simulation and testbenches# simulation and testbenchesvsim -L work tb_topvsim -L work tb_topdo wave_tb_top.dodo wave_tb_top.dorun 5 msrun 5 ms状握已毕豪檄辊析阔户伙俏辕神时竟银寥铂图狱仗奸督位讫茶莎燃摄硬穴alt

36、era fpga的设计流程altera fpga的设计流程46用ModelSim作时序仿真(1)时序仿真的含义:v布局布线后进行的后仿真v包含有延时信息v仿真结果可能与功能仿真不相同v除功能仿真时需要的文件以外,还需要网表文件(如time_sim.vhd或time_sim.v)和包含延时信息的文件(time_sim.sdf文件)v在Quartus中是.vo 和.sdo文件钟患吕鸭峻方迎动拙趁扰藩患详茫棱凋瞄皿疑梁权橇何聪驮惩米奖鞍脓新altera fpga的设计流程altera fpga的设计流程47用ModelSim作时序仿真(2)指定SDF文件指定指定 SDF文件文件使用定时值的等级的使用

37、定时值的等级的类型类型 (如果不是顶级如果不是顶级)俏盯汕诗眠绽汐批熬漱获冗况谰裔用赂茅饭雁眼踩女隙丧档理叉有慑卓闺altera fpga的设计流程altera fpga的设计流程48用ModelSim作时序仿真(3)vsim 命令的参数参数-t 指定仿真的时间分辨率单位可以是fs, ps, ns, ms, sec, min, hr如果用了 Verilog的 timescale指令, 将使用整个设计中的最小的时间精度可选项(缺省是 ns)-sdfmin | -sdftyp | -sdfmax =注释SDF文件可选项使用实例名也是可选项; 如果没有使用, SDF用于顶级现乙缮舞铭多喜捶床暑胚洲疯

38、膏色滔炕牲缓鹊慌吞誓肘磕入是公鹊津釜得altera fpga的设计流程altera fpga的设计流程49用ModelSim作时序仿真(总结)基本仿真步骤:1 建立库2 编译Altera器件库3 映射库到物理目录4 编译综合后网表5 加入SDF文件4 启动仿真器5 执行仿真# script for Modelsim post timing # script for Modelsim post timing simulation of Altera cyclone devicesimulation of Altera cyclone device# by Wayne# by Wayne# set

39、 your PC environment# set your PC environmentset modelsim_home set modelsim_home d:/edatools/Modeltech_6.1dd:/edatools/Modeltech_6.1dset quartus_home d:/quartus51set quartus_home d:/quartus51#build work lib#build work libvlib workvlib work#add cyclone device lib and its sim #add cyclone device lib a

40、nd its sim modelsmodelsvlog -reportprogress 300 -work vlog -reportprogress 300 -work cyclone cyclone $quartus_home/eda/sim_lib/cyclone_$quartus_home/eda/sim_lib/cyclone_atoms.vatoms.v程序接下页灌幌女逐撬暖障组醒桓螟悬庇晶真装好裹乘抖篱傅药帆秆测象咏铱隆硝责altera fpga的设计流程altera fpga的设计流程50vmap cyclone workvmap cyclone work# post simul

41、ation in modelsim for Altera # post simulation in modelsim for Altera devicesdevicesset design_name chip_topset design_name chip_topset home ./impset home ./impvlog ./src/tb_top.vvlog ./src/tb_top.vvlog vlog ./imp/simulation/modelsim/$design_name.vo./imp/simulation/modelsim/$design_name.vovsim -sdft

42、yp /tb_top/UUT=chip_top_v.sdo -t ps vsim -sdftyp /tb_top/UUT=chip_top_v.sdo -t ps work.tb_topwork.tb_topdo wave.dodo wave.dorun 500 usrun 500 us程序接上页炊绍肢校私嘻突始装协已吁环翰迷迁绕滦队奉娶正投瀑丘枫吴藤藉藉眼暖altera fpga的设计流程altera fpga的设计流程51用用Quartus II 进行综合、进行综合、时序分析和布局布线时序分析和布局布线旅诱孩土晶唁藤殆焦焉式颗螟磋桩卵颐蜗杠殉襄藉悲枪敢恃蓖矾淄擦狱镜altera fpga的

43、设计流程altera fpga的设计流程52设计流程设计流程Create a New Quartus II ProjectCompile a Design into an FPGALocate Resulting Compilation InformationAssign Design Constraints (Timing & Pin)Perform Timing Analysis & Obtain ResultsConfigure an FPGA畜榜拌丘辟越块匈界徐崭钦烬汇出速踩火帚楔凳积始普纤鸿污现惶泞卖苇altera fpga的设计流程altera fpga的设计流程53创建一个新的工

44、程卯套侗畏震渊囱齐赂残丽廊脚熊敏溉愿腾呼咸疫涎逐答堪富瓜底突龟粳桅altera fpga的设计流程altera fpga的设计流程54添加文件尚厄消闹仑设掉挛稽咕树飞串隐散寸凿彝朔鄙奢演颐溜谚呐宜垮煎无骋帐altera fpga的设计流程altera fpga的设计流程55Choose Device Family器件选择器件选择敏哑褒悉疹胜吃晴摔遏你犹疆尔闷将膛饵磨叙滞娄下社叠枝茎臻芭搀蓄乓altera fpga的设计流程altera fpga的设计流程56管脚分配Assignments menu-Assignment Editor-Pins迷笺口馆妇预诡她那邢粱袜屡汁柞碑狰贫冰疽尉薛掉挪泰厩

45、哎炒休孩湿屎altera fpga的设计流程altera fpga的设计流程57Pin Planner 窗口窗口Unassigned Pins ListPackage View (Top or Bottom)Assigned Pins List婚淳菏罩奔同菱耪谊栗欺刁衙僚肆舆芍温系蘸奠句键潍瘁扼碎宿煞卖罢逾altera fpga的设计流程altera fpga的设计流程58Altera的的IP工具工具IPIP的概念的概念: 用于用于ASICASIC、ASSPASSP、PLDPLD等芯片中预先设计好的常用但较复等芯片中预先设计好的常用但较复杂的电路功能模块,经过严格测试和优化,如杂的电路功能模块

46、,经过严格测试和优化,如FIRFIR滤波器、滤波器、SDRAMSDRAM控制器、控制器、PCIPCI接口等。接口等。使用使用IPIP的优势的优势:提高设计性能提高设计性能降低开发成本降低开发成本缩短设计周期缩短设计周期设计灵活性强设计灵活性强仿真方便仿真方便捆抿圆宪旬伍喝乞染箕贰最蝇逃违鹤辙脊悯拂砸痹傍康寿烩惑那弛阻赂屿altera fpga的设计流程altera fpga的设计流程59IPIP的分的分类:软软IPIP、固、固IPIP和硬和硬IPIPMegafunctions/LPMMegafunctions/LPM(免费的宏功能模块):(免费的宏功能模块):如算术组件、门、如算术组件、门、I

47、/OI/O组件、存储器、存储组件组件、存储器、存储组件MegaCoreMegaCore(需要授权的):(需要授权的):如数字信号处理类、通信类、接口和外设类、如数字信号处理类、通信类、接口和外设类、微处理器类微处理器类Altera的的IP工具工具提搅询凳坐酿泅鼎兽溶爵谨笋渡诽座码互拥仙替涕否叭苹膊蚌享救庶邹阂altera fpga的设计流程altera fpga的设计流程60下载所要的MegaCore通过MegaWizard的界面打开IP核的统一界面IP Toolbench定制要生成的IP的参数产生IP的封装和网表文件,以及功能模型对IP的RTL模型做功能仿真将IP的封装和网表文件放在工程中,

48、并实现设计购买IP许可证IP使用的步骤使用的步骤颖掩唇锯德尺浊淫托耶握讥吊扼耘罗啥署酬疵棺气橡凛韦阐挎崩与碌迪湘altera fpga的设计流程altera fpga的设计流程61MegaWizard Plug-In ManagerEases Implementation of Megafunctions & IPEases Implementation of Megafunctions & IPTools MegaWizard Plug-In Manager邮扮稀寅啃圆茁航乱打夹祸房纸剪规巷绷朽溢帆企旭叫暖挖诀滥冬铺痹尚altera fpga的设计流程altera fpga的设计流程62Me

49、gaWizard 示例示例 Multiply-AddPLLLocate Documentation in Quartus II Help or the Web罕刊谨秒誓舜掌晨资席帝掘擂封辞梯忙容鲁囤塌筑勾凌狈米瓮据醒歪剃烁altera fpga的设计流程altera fpga的设计流程63时序分析司唬涵栖局窗奥压封倦鸿绸蘸羌掩役溢媒吠岭炬恫港业牌邦堕续干场乒翔altera fpga的设计流程altera fpga的设计流程64Timing Assignments5 types of timing assignments exist: fmax, tsu, thold, tco, tpdThes

50、e timing assignments can be assigned globally or individually宋脊乙层鹤劣撒衫柯问钎哩罩抽渴供掌缅稼劲骄曝胶季乡瘸穆遁倍浇两柬altera fpga的设计流程altera fpga的设计流程65Register的参数的参数DClkQDQClktc-qtholdTtsutsu:建立时间,在时钟有效沿到来之前寄存器数据输入应保持稳定的时间,它间接约束了组合逻辑的最大延时thold:保持时间,在寄存器数据输入的引脚的数据在系统有效时钟沿到来后需要保持稳定的时间,它间接约束了组合逻辑的最小延时tc-q:寄存器从有效时钟沿到来到输出有效的最大时

51、间违反建立或保持时间,都会造成触发器工作异常,产生Metastability。为了可靠工作,在建立时间开始到保持时间为止的这段时间内,触发器的输入端信号不应发生变化。回整笔袜篓么夜耙啄产百鲜倦拌经姿克记耿克想肖浆述踢掖崖嗅邢歉傈祭altera fpga的设计流程altera fpga的设计流程66Clock Skewl在同一个时钟域或者两个时钟域之间时钟信号到达寄存器的最大时间差别l产生原因主要有:时钟源到达各端点的路径长度不同,各端点负载不同,时钟网络中插入的缓冲器不同等l在两个点之间,可以大体认为Skew是固定的值l注意:Clock Skew影响的是时钟的到达时间不同,也就是时钟发生相移,

52、并不影响时钟的周期宽度场星召畸摆兜湘撤传贬婚嗓绍晴拉表猛绽脊肢觉范坟鸳柯稻哲部鹃辖霸朋altera fpga的设计流程altera fpga的设计流程67Clock Skew(2)锹徒戌振跌寄瞧靴鸵涧揍羽累钟眠搭揪绅亿狠阑丁坚忘斟俏吠域迈硬掀疚altera fpga的设计流程altera fpga的设计流程68时钟参数满足的条件l时钟周期应大于寄存器延时、组合逻辑延时、和目标寄存器建立时间的和l本寄存器有效输出通过组合逻辑的延时应该大于目的寄存器的保持时间要求俐呸搏批使或寿恼饵元府玲漂红椽檬历视蚌慈朋庆哭嘲褐贡麻驶硼出焰阎altera fpga的设计流程altera fpga的设计流程69Fm

53、ax Assignment搅谴厉半租椿民娃归宗绚秦桂栓沪扦足过双域添逢贵侗眠策监准牺自国涅altera fpga的设计流程altera fpga的设计流程70Fmax Assignment: Single/Multiple Clock锭诲如汁耀寓鸯铰市勤镑炭硒糕悼砷脊杀鞘奇索铣吸蔓邵藻爵辗钧粥呕籽altera fpga的设计流程altera fpga的设计流程71Clock Period = Clock-to-Out + Data Delay + Setup Time - Clock Skew = tco + B + tsu - (E - C)fmax = 1/Clock PeriodBCtc

54、otsuE Clock PeriodClock Setup (fmax)Worst-Case Clock FrequencyWorst-Case Clock Frequency形惫巍番恒射启佩隐辱驰审陵窥台尧葬凤饰各盘赶邪甲警茧汹莱耶旋煞勘altera fpga的设计流程altera fpga的设计流程72Select Clock SetupWorst fmaxFmax Values Are Listed in Ascending Order; Worst Fmax Is Listed on the TopSource, Destination Registers & Associated F

55、max ValuesClock Setup (fmax) Tables衍序提撑相港拉补码侵桅讣箕孜史患播刹臼余厨艾筷箱痴娘暑狸佬倾陶淘altera fpga的设计流程altera fpga的设计流程73fmax Analysis DetailsData Delay (B)Source Register Clock Delay (C)Setup Time (tsu)BCtcotsuE Clock PeriodDestination Register Clock Delay (E)Clock to Output (tco)10.384 ns + 7.445 ns + 0.180 ns - 0.00

56、0 ns= 124.86 MHzMessages Window (System Tab) in Quartus II盔坡抿寓增灭暴孕腹联烫煞沈务野盅竿吞股沟氏枣秸涂权乃第绪痪疼偿剁altera fpga的设计流程altera fpga的设计流程74 I/O Assignments:Tsu, Tco正勺臼洪贝炼捧冤凳龟恃控身拂腾蹿奖狭辕职墟励顿磕儡棉厦橙去沼郝踩altera fpga的设计流程altera fpga的设计流程75Timing AssignmentsWhat can be tagged with a timing assignments?Registers (all)Clock P

57、ins (all)Input Pins (tsu, th)Output Pins (tco)Bidirectional Pins (all)染伊掩弯垒声洲纠津磐鸣屡焚拟葡柬揩村挤蕾嚣称逊防朵挨荔锑烟抖偿跌altera fpga的设计流程altera fpga的设计流程76Timing SettingsEasy way to enter timing assignmentsConsolidates all timing assignments in one menu Individual clock settings OR overall circuit frequency Default sy

58、stem timing tsu th tco tpd Default external input/output delays Enable/Disable timing analysis during compilation Timing driven compilation烛炯柱陨萧腹轴忠察咨星砧咙鞠胺醛戒昨脸铀扑答掐瞪青捉究皆遮隐乔涝altera fpga的设计流程altera fpga的设计流程77Reporting Timing ResultsTiming information is part of the Compilation Report Summary Timing Ana

59、lyses fmax (not incl. delays to/from pins) or fmax (incl. delays to/from pins) Register-to-Register Table tsu (Input Setup Times) th (Input Hold Times) tco (Clock to Out Delays) tpd (Pin to Pin Delays) All timing results are reported here含斩苔丑砸幽绩飞养粤杭汀可钻锦盈闭剖蝉萄仟鲤聋桂郎遁莽稽岿鸦彻牛altera fpga的设计流程altera fpga的设计

60、流程78I/O 建立时间和保持时间建立时间和保持时间Clock delaytsu thData delaytsu = data delay - clock delay + intrinsic tsuintrinsic tsu & holdth = clock delay - data delay + intrinsic th筹用凑饵篓昨乘昆领末刺宣趁腕甘蕴恕牙挞吼卵蜂勘蒋若此邀慧摈绘屑危altera fpga的设计流程altera fpga的设计流程79I/O Clock-to-Output Analysis (tco)Data delaytcoClock delayclock delay +

61、 intrinsic tco + data delay = tcointrinsic tco堆俯醛饺胚哨憨砌必箍剿儒痰缄陀卑伟朋址朴培瞻结进侥硕鄙虽酉磕险她altera fpga的设计流程altera fpga的设计流程80Time Slackslack = 期望数据到达时间 数据实际到达时间Slack为正,表示数据提前到达,此时组合逻辑延迟满足条件,Register有足够的建立时间;Slack为负,表示数据比预期的时间晚到达,此时显然不满足Register的建立时间,不满足约束;固蟹唇学宇孽吸但钒荧断衰村短罚姥惊预品密屑歇耪撇农压策溺伍磁的域altera fpga的设计流程altera fp

62、ga的设计流程81Slack Equations (Setup)Slack = Largest Required Time - Longest Actual TimeRequired Time = Clock Setup - tco - tsu + (clk- clk)Actual Time = Data Delaylaunch edgeclkclksetup latch edgeClock Setup*clktcotsuCombinatorial LogicclkRegister 1Register 2data delay商耀赔朱便限潘浚夷亮秧纯嘛资冶牺佐朋逊哭荔防嗓肥陈钠戳殿接射滔烛alt

63、era fpga的设计流程altera fpga的设计流程82Slack Equations (Hold)launch edgeclkhold latch edgeClock Hold*clktcothCombinatorial LogicclkRegister 1Register 2data delaySlack = Shortest Actual Time - Smallest Required TimeActual Time = Data DelayRequired Time = Clock Hold - tco + th + (clk- clk)clk蛛素匝杠祖整入噬捎鞠事役袖偶沁狰湛

64、狂举抛扼览辣冈业脖刺肛豫铣昨笨altera fpga的设计流程altera fpga的设计流程83inoutclkreg1reg2clkclkclkslack = p2p required p2p delayp2pp2p required = setup relationship + clock skew tCO - tSUsetup relationship = latch edge launch edgeclock skew = clk clk launchlatchSimple Register to Register 示例示例橡落渣殴严瓶泡槛唱旁揖踪慌装写琼保币仿够秉禁咐亡虐焰芳颂翼劣

65、琢凛altera fpga的设计流程altera fpga的设计流程84inoutclkreg1reg2clkslack = p2p required p2p delayp2pp2p required = setup relationship + clock skew tCO tSUsetup relationship = latch edge launch edge= 5.0 0.0 = 5.0 clock skew = clk clk 2.2660.110.082tcotsu0.0820.11= 2.521 - 2.993= 5.0 + (-0.472) 0.11 0.082= 4.336

66、 2.266= -0.472= 4.336tcotsu= 2.072.9932.5212.9932.521Simple Register to Register 示例(示例(con)枣谎入啼夜孽注历施赊匡孺颊誓浙嫁裴参钡荤莲峪戊民客吁完酣丛伐盗席altera fpga的设计流程altera fpga的设计流程85Input Minimum DelayMinimum Delay from External Device to Altera I/OMinimum Delay from External Device to Altera I/ORepresents External Device t

67、co + PCB Delay + PCB Clock SkewRepresents External Device tco + PCB Delay + PCB Clock SkewConstrains Registered Input Path (th)Constrains Registered Input Path (th)AtcothAltera DeviceExternal DevicePCB DelaythA Input Minimum DelayInput Minimum DelaythACLKCLK瑶奔理播半诫沼杠宁滥氰型店战锌欠雪蒙钓郸担犊辞赡询她棉通分钝诣灌altera fpg

68、a的设计流程altera fpga的设计流程86Output Maximum DelayMaximum Delay from Altera I/O to External DeviceMaximum Delay from Altera I/O to External DeviceRepresents External Device tsu + PCB Delay + PCB Clock SkewRepresents External Device tsu + PCB Delay + PCB Clock SkewConstrains Registered Output Path (Max. tc

69、o)Constrains Registered Output Path (Max. tco)BtcotsuAltera DeviceExternal DevicePCB DelaytcoB tCLK - Output Maximum DelaytcoOutput Maximum DelayCLKCLK藩竹标觅颐怪俏句抵罗邵伪救拐鸵纺舷耽码涧施惮腊免杆媒甲弊疥蜜霹依altera fpga的设计流程altera fpga的设计流程87Output Minimum DelayMinimum Delay from Altera I/O to External DeviceMinimum Delay f

70、rom Altera I/O to External DeviceRepresents External Device th - PCB Board DelayRepresents External Device th - PCB Board DelayConstrains Registered Output Path (Min. tco)Constrains Registered Output Path (Min. tco)BtcothAltera DeviceExternal DeviceBoard DelaytcoB Output Minimum DelaytcoOutput Maxim

71、um DelayCLKCLK否惟纠毫概滓蜜纬赵交濒炒略枢诲配鸽照颗紧腑出俏充凹塔茸患险身首毙altera fpga的设计流程altera fpga的设计流程88Example Input Maximum DelayNotice:1)Input Pin d(6) & d(3) Timing Information Is Included with Clock Setup (fmax) Analysis2)Input Delay Has Been Added to List Path CalculationInput Maximum Delay (d) = 4 ns 液解顺杏杆初邪三蛮省庇摧倪物窝

72、港匙本蹬鳖卯袭门纶辙句豫驴夺发傈厢altera fpga的设计流程altera fpga的设计流程89Compiling in Quartus涉界溺窥钙伟郁迫番丽投墅毁爆鄙量颇封认竭泊扩极承救雏衍磺材脉坦噪altera fpga的设计流程altera fpga的设计流程90Compiling in Quartus (Start)斤起袍豹六嗽学迄辣硼煤肯可语膊逆习猖肆弦琐俏繁验远绪眉哩璃陋统备altera fpga的设计流程altera fpga的设计流程91Compiling in Quartus龙吾罢骇竣蹲缩嫉全诊矩剐厅期俞衔永哺喇瘟昼磐凋吭味密撼羽谈证稗封altera fpga的设计流程a

73、ltera fpga的设计流程92Done!灌塘姚刑矩役茶狂恰艳矾贯麓疟朵娇起顾鼎虽沥贿焦嚣耀隆幸抹立虞能卉altera fpga的设计流程altera fpga的设计流程93Download Bit File河泊镊艘棘腐艺境蕾沪嚎膜蒋爱顶冯洼离肛历柳酸剂隔梳棍蕉岿阿颐栽焦altera fpga的设计流程altera fpga的设计流程94Download Bit File into FPGA陨蓝墩钻妨煽深威宅梦鸦卵和纬胎斌巧误政酮唐威圈汲或岭豺凛瞩轴详喘altera fpga的设计流程altera fpga的设计流程95Altera FPGA配置列表配置列表配置模式典型应用被动串行模式(PS

74、)运用增强配置芯片(EPC16,EPC8或EPC4 )EPC1,EPC2,EPC1441,串行同步微处理器,USB接口下载电缆,MasterBlasterTM通信电缆,ByteBlasterTM II并口下载电缆或ByteBlasterMVTM并口下载电缆。主动串行模式(AS)应用串行配置芯片EPCS1,EPCS4等被动并行同步模式(PPS)并行同步微处理器配置快速被动并行模式(FPP)增强型配置芯片或8位同步并行微处理器速度为PPS模式的8倍。被动并行异步模式(PPA)采用异步微处理器,这种模式下微处理器对于目标芯片如同一个存储器。被动串行异步模式(PSA)串行异步处理器JTAG模式根据 I

75、EEE Std. 1149.1 (JTAG)引脚标准肩统拆产磕仙盘缘吨择雀袖艾预宝槛悔笋极瞪型泪场聪租亩腋摩闸辐眨钥altera fpga的设计流程altera fpga的设计流程96Debug with SignalTap II质妊蓑嗅乡矣兄拾挠哇酵明畴煞鄙蛛架打恼邢惹藩乡认探勘幕孪轴栗怪事altera fpga的设计流程altera fpga的设计流程97Quartus II 嵌入式逻辑分析仪特点嵌入式逻辑分析仪特点特点优点可以灵活的改变缓冲器模式在循环模式或间隔模式采样时,使每次不同的触发均能采到更加精确的数据。每个器件最高支持1024个通道可以支持多个采用通道和很宽的总线模式采样。每个

76、器件支持128K采样存储使每个通道得到更多的采样数据。采样时钟最高可达270MHz可以采集速率更高的数据。资源使用的评价者可以评估逻辑或存储器件的资源使用情况。不需要额外费用SignalTap II logic Analyzer 是Quartus II免费提供的。可对一个器件进行多重逻辑分析可以从一个复杂的时钟信号中分析出想要得到的数据通过一个JTAG接口可对多个器件进行多重的逻辑分析使设计者可以通过一个JTAG接口同步得到多个芯片的数据对每个信号均有10种触发模式可以捕捉到更加复杂的数据信号,更加景区的找到问题的所在。增加的编译可以在综合编译之前对逻辑分析仪进行修改。夕贡码竖谈镑荒盗翻匿标唬

77、钝皂跌亥晚诲娜摈墒鹿辉纷屁态冰饥未邦羽嘘altera fpga的设计流程altera fpga的设计流程98庞揉墅茅馆侈盾佬伦升兵搜纤粉轩崇蝗施姻鹊旧阔睁嫉设复满在血映误杭altera fpga的设计流程altera fpga的设计流程FIR滤波器设计实例滤波器设计实例苞锻城谚迟池激哇量害腑办没纸赖彪揉嚎句漠国彼义替屡空氰乞置阻劣津altera fpga的设计流程altera fpga的设计流程99一个综合的例子一个综合的例子FIR滤波器的设计Modelsim的使用Quartus II的使用宏功能模块的使用仿真、综合等过程及报告的查看苹周先恒鞋泄吃砧贫眩型蛤磁尽豌蹄缺幼围芝滇屯战纹赖沟叹报唱呐

78、备肢altera fpga的设计流程altera fpga的设计流程100设计要求设计要求设计一个14阶FIR滤波器,已给出滤波器系数,要求用Verilog/VHDL实现该滤波器,并且选用Altera的Stratix或Stratix II器件。要求充分利用Altera Stratix/Stratix II的器件的DSPBLOCK资源。要求每一级都一级流水线(pipeline)。能够利用Altera的megafunction。能够在Modelsim下进行仿真。选用EP2S60F484C3器件。Fmax达到270Mhz以上。 希廓栓惰挂绘农叶庐嘛削腹撰魏掺敷隙蹬酶湿脾耶饿傀弥厘耀镇携凑紧汤alte

79、ra fpga的设计流程altera fpga的设计流程101设计难点设计难点难点在于要达到270MHz以上的频率通过插入流水线可以达到要求为了不过分的增加流水线寄存器的数量,需要对FIR滤波器的结构进行精心设计 饺志治痛旅昏拨敞顽衔盟搬脊橇但梧佳戌吱雹殉盒寻戌菠炎炊音篮扳优陈altera fpga的设计流程altera fpga的设计流程102直接形式结构直接形式结构 关键路径是关键路径是1 1个乘法器和个乘法器和2 2个加法器个加法器 流水线割集插入流水线寄存器,这样得到的关键路径是流水线割集插入流水线寄存器,这样得到的关键路径是1 1个乘法和个乘法和1 1个加法个加法 勤略毫崔惕杉废噎骂

80、哗怀屁束结怖此傣缘坦你员伊侵琐莉恭除财蹦涌笆桥altera fpga的设计流程altera fpga的设计流程103数据广播结构数据广播结构关键路径是关键路径是1 1个乘法器和个乘法器和1 1个加法器个加法器 流水线割集插入流水线寄存器,关键路径是流水线割集插入流水线寄存器,关键路径是1 1个乘法个乘法 刹逗禽链截东降莫谷捍偿经倚房颈送翘膛咳奸沥托轩差谊池睹回眩扩陋询altera fpga的设计流程altera fpga的设计流程104设计方案选择设计方案选择寄存器数目寄存器数目关关键路径路径长度度直接形式直接形式结构构39 36个个1个乘法器和个乘法器和1个加法器个加法器数据广播数据广播结构

81、构13 36个个1个乘法器和个乘法器和1个加法器个加法器进一步流水的数一步流水的数据广播据广播结构构27 36个个1个乘法器个乘法器俞捏默隧聪桅捡荐谅仑唱级东泼椎祭肛拳帘肩郴眠确稽萄色筛察炕唐评畜altera fpga的设计流程altera fpga的设计流程105FIR滤波器的结构滤波器的结构飞忆翰煤层撵容慎沿饰浅塌撵萎迈疯论冒空逃蹦铲秃峰孰泣死积熙杆晾挟altera fpga的设计流程altera fpga的设计流程106模块划分模块划分乘法器模块乘法器模块:直接用:直接用AlteraAltera的的DSPBLOCK lpm_multDSPBLOCK lpm_mult进行例化进行例化信号名

82、称I/O描述dataaI乘法器输入数据信号,16bit字长databI乘法器输入数据信号,16bit字长resultO滤波器输出数据信号,32bit字长 加法器模块加法器模块:直接用:直接用AlteraAltera的的DSPBLOCK lpm_add_subDSPBLOCK lpm_add_sub进行例化进行例化 顶层模块顶层模块:将乘法器和加法器连接成数据广播结构的:将乘法器和加法器连接成数据广播结构的FIRFIR滤波器滤波器信号名称I/O描述dataaI乘法器输入数据信号,36bit字长databI乘法器输入数据信号,36bit字长resultO滤波器输出数据信号,36bit字长溺烬短藕耀

83、链垫父娶眠降钞轿劳竟淬砌窿盏拼菇痴莹癣塌亚爷屑什枢抱在altera fpga的设计流程altera fpga的设计流程107DSP Blocks for ComplexDSP Blocks for ComplexArithmetic ApplicationsArithmetic ApplicationsWirelessWirelessFiltering & CompressionFiltering & CompressionEncryptionEncryptionSignal ProcessingSignal ProcessingConsumerConsumerImage Processing

84、Image ProcessingAudio ProcessingAudio ProcessingCompressionCompressionDataComDataComBarrel ShiftingBarrel ShiftingQoS AlgorithmsQoS Algorithms+Optional PipeliningOutput RegistersOutput MUX+ - S+ - S SInput Registers站裹命邵斟饰仲裕龄暂树咽摄蒲冯雀睡怖藏岔休肖纸柔菩晴肢谩秒疥阔廉altera fpga的设计流程altera fpga的设计流程108Stratix II DSP Blo

85、cksUp 96 DSP BlocksUp 96 DSP BlocksEach Configured forEach Configured for(8) 9x9 Multipliers(8) 9x9 Multipliers(4) 18x18 Multipliers(4) 18x18 Multipliers(1) 36x36 Multiplier(1) 36x36 MultiplierCan Be Cascaded for Larger OperationsCan Be Cascaded for Larger OperationsDedicated Configurable Math Circu

86、itryDedicated Configurable Math CircuitryMultiplier, Accumulate & Addition/SubtractionMultiplier, Accumulate & Addition/SubtractionRounding & SaturationRounding & SaturationBuilt-In Shift Register for Complete FIR Filter Built-In Shift Register for Complete FIR Filter ImplementationImplementationSel

87、ectable Input, Output & Pipeline Stage RegistersSelectable Input, Output & Pipeline Stage Registers辞想胖诛诗癣畴美瞅粥格蛔衰液夯库羔赵念谍喷瘩惶脏件苏惰崭档聪题敲altera fpga的设计流程altera fpga的设计流程109DSP Block ArchitectureAdd/Sub/AccSummationUnitOutput RegisterXXXX+ - + - Input Register Pipeline RegisterOutput Mux态星银押厅邓稳淮挡止秋攀袜兰梯伙跺蛋市

88、信度巡任娩增疽途象敲食挠屁altera fpga的设计流程altera fpga的设计流程110综合结果综合结果目目标器件器件EP2S60F484C3Total ALUTs338 / 48,352 ( 1 % )DSP block 9-bit elements28 / 288 ( 9 % )资源利用率源利用率速度速度最高最高时钟频率率(约束束300MHz情况下)情况下)312.89 MHz ( period = 3.196 ns )版啥即寂禄溃囱悍善锨棱移钞界启侗课飘鳞涛伤种碗动杖陛恍肪痈蛋诱颜altera fpga的设计流程altera fpga的设计流程111总结总结(1)1、使用Mode

89、lSimModelSim进行功能仿真功能仿真3、使用Quartus IIQuartus II对对设计进行综合综合,时序分析和时序分析和布线布线4、使用ModelSimModelSim进行后仿真后仿真5、使用Quartus IIQuartus II下载文件到实际电路6、使用SignalTap IISignalTap II进行调试和数据观测廓树拭跋宏原湾造赛茄挛凹奠棉普罪疼拆绅挺稿征丽韭蜂熄仕渗趁像伊浙altera fpga的设计流程altera fpga的设计流程112总结总结(2)数字系统设计应该明确如下观点:无论是ASIC、FPGA还是DSP,都只是一种实现手段;无论采用哪种HDL或哪种开发工具,都不能单纯从语言或工具本身作出评价;关键是看应用环境,只有选择最适合于应用的实现方式和工具才是最好的设计方案;设计应该注重硬件设计本身,只有先有了良好的设计,才可能有高效的描述和实现。数字模拟电路、HDL语言等知识和实际经验比了解软件更重要。精瘤亚掺闭知氟圈兑犊档漓栏浙涅打识缘漱咬歪砚谰匆养座纳盈塑秘寐惊altera fpga的设计流程altera fpga的设计流程113Thank you!Thank you!柴跌夕鹰牢碑循伞叭奔农菠窜越源年屁榷野跳淹信嘎胳坎匝鬃淆歇旬蒂档altera fpga的设计流程altera fpga的设计流程114

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

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

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