已阅读5页,还剩109页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
AlteraFPGA的设计流程,贺光辉,目标,掌握FPGA的标准设计流程和工具用Modelsim进行功能级仿真并诊断RTLCode用QuartusII做设计综合和布局布线用FPGAMega-functions做设计返标SDF并运行门级的仿真掌握FPGA的时序约束了解FPGA的设计原则,提纲,FPGA概要FPGA的设计流程用Modelsim进行仿真和调试用QuartusII进行时序分析、综合等FIR滤波器的设计实例,FPGA概要,FPGA的优点,集成度高,可以替代多至几千块通用IC芯片极大减小电路的面积,降低功耗,提高可靠性具有完善先进的开发工具提供语言、图形等设计方法,十分灵活通过仿真工具来验证设计的正确性可以反复地擦除、编程,方便设计的修改和升级灵活地定义管脚功能,减轻设计工作量,缩短系统开发时间布局布线容易,设计过程相当于只有ASIC设计的前端研发费用低不需要投片费用,FPGA的应用前景,通信、控制、数据计算等领域得到了广泛的应用减少电子系统的开发风险和开发成本缩短上市时间(timetomarket)通过在系统编程、远程在线重构等技术降低维护升级成本系统的原型实现ASIC的原型验证,ASIC常用FPGA进行原型机验证,CPLD与FPGA的区别,CPLD还是FPGA?,复杂组合逻辑:CPLDPLD分解组合逻辑的功能很强,一个宏单元就可以分解十几个甚至2030多个组合逻辑输入复杂时序逻辑:FPGAFPGA芯片中包含的LUT和触发器的数量非常多,往往都是成千上万,推荐书籍,VerilogVerilog数字系统设计教程夏宇闻北京航天航空大学出版社硬件描述语言Verilog刘明业等译清华大学出版社FPGA基于FPGA的嵌入式系统设计任爱锋西安电子科技大学出版社基于FPGA的系统设计(英文版)WayneWolf机械工业出版社IC设计Reusemethodologymanualforsystem-on-a-chipdesigns3rded.MichaelKeating,PierreBricaud.片上系统:可重用设计方法学沈戈,等译电子工业出版社,2004Writingtestbenches:functionalverificationofHDLmodels/JanickBergeronBoston:KluwerAcademic,c2000,推荐文章,http:/www.sunburst-NonblockingAssignmentsinVerilogSynthesis,CodingStylesThatKill!,FPGA的设计流程,目标,完成本单元的学习后你将会列出FPGA设计过程的步骤(以Altera的FPGA为设计例子)用缺省的软件选项来实现一个FPGA的设计QuatursIIModelsim,FPGA的设计流程,FPGA的设计流程用ModelSim进行仿真用QuartusII进行综合和时序分析用QuartusII进行布局布线、调试和下载,FPGA设计流程,综合-TranslateDesignintoDeviceSpecificPrimitives-OptimizationtoMeetRequiredArea如果没有使用,SDF用于顶级,用ModelSim作时序仿真(总结),基本仿真步骤:建立库编译Altera器件库3映射库到物理目录4编译综合后网表5加入SDF文件4启动仿真器5执行仿真,#scriptforModelsimposttimingsimulationofAlteracyclonedevice#byWayne#setyourPCenvironmentsetmodelsim_homed:/edatools/Modeltech_6.1dsetquartus_homed:/quartus51#buildworklibvlibwork#addcyclonedevicelibanditssimmodelsvlog-reportprogress300-workcyclone$quartus_home/eda/sim_lib/cyclone_atoms.v,程序接下页,vmapcyclonework#postsimulationinmodelsimforAlteradevicessetdesign_namechip_topsethome./impvlog./src/tb_top.vvlog./imp/simulation/modelsim/$design_name.vovsim-sdftyp/tb_top/UUT=chip_top_v.sdo-tpswork.tb_topdowave.dorun500us,程序接上页,用QuartusII进行综合、时序分析和布局布线,设计流程,CreateaNewQuartusIIProjectCompileaDesignintoanFPGALocateResultingCompilationInformationAssignDesignConstraints(TimingWorstFmaxIsListedontheTop,Source,DestinationRegisters&AssociatedFmaxValues,ClockSetup(fmax)Tables,fmaxAnalysisDetails,DataDelay(B),SourceRegisterClockDelay(C),SetupTime(tsu),B,C,tco,tsu,E,ClockPeriod,DestinationRegisterClockDelay(E),ClocktoOutput(tco),1,0.384ns+7.445ns+0.180ns-0.000ns,=124.86MHz,MessagesWindow(SystemTab)inQuartusII,I/OAssignments:Tsu,Tco,TimingAssignments,Whatcanbetaggedwithatimingassignments?Registers(all)ClockPins(all)InputPins(tsu,th)OutputPins(tco)BidirectionalPins(all),TimingSettings,EasywaytoentertimingassignmentsConsolidatesalltimingassignmentsinonemenuIndividualclocksettingsORoverallcircuitfrequencyDefaultsystemtimingtsuthtcotpdDefaultexternalinput/outputdelaysEnable/DisabletiminganalysisduringcompilationTimingdrivencompilation,ReportingTimingResults,TiminginformationispartoftheCompilationReportSummaryTimingAnalysesfmax(notincl.delaysto/frompins)orfmax(incl.delaysto/frompins)Register-to-RegisterTabletsu(InputSetupTimes)th(InputHoldTimes)tco(ClocktoOutDelays)tpd(PintoPinDelays)Alltimingresultsarereportedhere,I/O建立时间和保持时间,Clockdelay,tsuth,Datadelay,tsu=datadelay-clockdelay+intrinsictsu,intrinsictsu&hold,th=clockdelay-datadelay+intrinsicth,I/OClock-to-OutputAnalysis(tco),Datadelay,tco,Clockdelay,clockdelay+intrinsictco+datadelay=tco,intrinsictco,TimeSlack,slack=期望数据到达时间数据实际到达时间,Slack为正,表示数据提前到达,此时组合逻辑延迟满足条件,Register有足够的建立时间;Slack为负,表示数据比预期的时间晚到达,此时显然不满足Register的建立时间,不满足约束;,SlackEquations(Setup),Slack=LargestRequiredTime-LongestActualTimeRequiredTime=ClockSetup-tco-tsu+(clk-clk)ActualTime=DataDelay,launchedge,clk,clk,setuplatchedge,ClockSetup*,clk,tco,tsu,CombinatorialLogic,clk,Register1,Register2,datadelay,SlackEquations(Hold),launchedge,clk,holdlatchedge,ClockHold*,clk,tco,th,CombinatorialLogic,clk,Register1,Register2,datadelay,Slack=ShortestActualTime-SmallestRequiredTimeActualTime=DataDelayRequiredTime=ClockHold-tco+th+(clk-clk),clk,in,out,clk,reg1,reg2,clk,clk,clk,slack=p2prequiredp2pdelay,p2p,p2prequired=setuprelationship+clockskewtCO-tSU,setuprelationship=latchedgelaunchedge,clockskew=clkclk,launch,latch,SimpleRegistertoRegister示例,in,out,clk,reg1,reg2,clk,slack=p2prequiredp2pdelay,p2prequired=setuprelationship+clockskewtCOtSU,setuprelationship=latchedgelaunchedge=5.00.0=5.0,clockskew=clkclk,2.266,0.11,0.082,tco,tsu,0.082,0.11,=2.521-2.993,=5.0+(-0.472)0.110.082,=4.3362.266,=-0.472,=4.336,tco,tsu,=2.07,2.993,2.521,SimpleRegistertoRegister示例(con),InputMinimumDelay,MinimumDelayfromExternalDevicetoAlteraI/ORepresentsExternalDevicetco+PCBDelay+PCBClockSkewConstrainsRegisteredInputPath(th),A,tco,th,AlteraDevice,ExternalDevice,PCBDelay,thAInputMinimumDelay,InputMinimumDelay,thA,CLK,CLK,OutputMaximumDelay,MaximumDelayfromAlteraI/OtoExternalDeviceRepresentsExternalDevicetsu+PCBDelay+PCBClockSkewConstrainsRegisteredOutputPath(Max.tco),B,tco,tsu,AlteraDevice,ExternalDevice,PCBDelay,tcoBtCLK-OutputMaximumDelay,tco,OutputMaximumDelay,CLK,CLK,OutputMinimumDelay,MinimumDelayfromAlteraI/OtoExternalDeviceRepresentsExternalDeviceth-PCBBoardDelayConstrainsRegisteredOutputPath(Min.tco),B,tco,th,AlteraDevice,ExternalDevice,BoardDelay,tcoBOutputMinimumDelay,tco,OutputMaximumDelay,CLK,CLK,ExampleInputMaximumDelay,Notice:InputPind(6)&d(3)TimingInformationIsIncludedwithClockSetup(fmax)AnalysisInputDelayHasBeenAddedtoListPathCalculation,InputMaximumDelay(d)=4ns,CompilinginQuartus,CompilinginQuartus(Start),CompilinginQuartus,Done!,DownloadBitFile,DownloadBitFileintoFPGA,AlteraFPGA配置列表,DebugwithSignalTapII,QuartusII嵌入式逻辑分析仪特点,FIR滤波器设计实例,一个综合的例子,FIR滤波器的设计Modelsim的使用QuartusII的使用宏功能模块的使用仿真、综合等过程及报告的查看,设计要求,设计一个14阶FIR滤波器,已给出滤波器系数,要求用Verilog/VHDL实现该滤波器,并且选用Altera的Stratix或StratixII器件。要求充分利用AlteraStratix/StratixII的器件的DSPBLOCK资源。要求每一级都一级流水线(pipeline)。能够利用Altera的megafunction。能够在Modelsim下进行仿真。选用EP2S60F484C3器件。Fmax达到270Mhz以上。,设计难点,难点在于要达到270MHz以上的频率通过插入流水线可以达到要求为了不过分的增加流水线寄存器的数量,需要对FIR滤波器的结构进行精心设计,直接形式结构,关键路径是1个乘法器和2个加法器,流水线割集插入流水线寄存器,这样得到的关键路径是1个乘法和1个加法,数据广播结构,关键路径是1个乘法器和1个加法器,流水线割集插入流水线寄存器,关键路径是1个乘法,设计方案选择,FIR滤波器的结构,模块划分,乘法器模块:直接用Altera的DSPBLOCKlpm_mult进行例化,加法器模块:直接用Altera的DSPBLOCKlpm_add_sub进行例化,顶层模块:将乘法器和加法器连接成数据广播结构的FIR滤波器,DSPBlocksforComplexArithmeticApplications,WirelessFiltering&CompressionEncryptionSignalProcessingConsumerImageProcessingAudioProcessingCompressionDataComBarrelShiftingQoSAlgorithms,+,OptionalPipelining,OutputRegisters,OutputMUX,+-S,+-S,InputRegisters,StratixIIDSPBlocks,Up96DSPBlocksEachConfiguredfor(8)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年中考物理一轮基础复习:第九章 压强(专项练习)
- 多学科协作在氧疗护理中的实践与成效
- 2026中考英语语法复习分类训练:宾语从句,定语从句和状语从句100题(中考试题+中考模拟)原卷版
- 医学生基础医学 达芬奇机器人手术护理课件
- 2026年云南高考语文总复习:文言文句子翻译(知识梳理+考点)解析版
- 2026年高考数学一轮复习 第三章 导数及其应用(综合训练)解析版
- 2026年高考英语一轮复习:定语从句(含答案解析)
- 医学流行病学答辩 circRNA 数据教学课件
- 2026高考物理复习高频考点强化训练:带电粒子在复合场中的运动(原卷版)
- 公立医院运营成本风险预警机制
- aeo贸易安全培训试题及答案
- 国内在线教育的发展状况研究论文3000字
- (2025)全国《职业教育法》知识题库与答案
- 民非企业财务管理制度
- GB/T 14600-2025电子气体一氧化二氮
- 电动汽车动力系统效率提升试题及答案
- GB/T 45499-2025乡镇(街道)综合文化站图书室管理与服务
- 顺丰公司安全管理制度
- 电梯加装楼层价值变动补偿算法设计与应用
- 空间碎片监测与防护-深度研究
- 液压锁紧回路课件
评论
0/150
提交评论