第四章 FPGA组件设计(ISE开发进阶)_第1页
第四章 FPGA组件设计(ISE开发进阶)_第2页
第四章 FPGA组件设计(ISE开发进阶)_第3页
第四章 FPGA组件设计(ISE开发进阶)_第4页
第四章 FPGA组件设计(ISE开发进阶)_第5页
已阅读5页,还剩83页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第四章 FPGA组件设计掌握IP核的生成和使用方法。会用户约束文件UCF设计。了解ISE实现选项配置和实现报告。了解静态时序分析方法与布局布线后仿真。掌握FPGA的配置。掌握原语的使用方法。了解ChipScope的使用。IP Core的使用系统IP Core的生成 面向复杂设计的软核 ISE版本的适用性 Xilinx FPGA芯片的适用性ISE提供的IP Core(IP核) 在ISE的Project中直接生成 ISE - Accessories - Core Generator ISE - Accessories - Architecture Wizard IP 参数化设计小写IP Core的

2、使用方法1:定制ISE中一个已有的IP CoreIP Core的使用选择IP Core使用说明使用说明IP Core的使用定制同步FIFO Core为例IP Core的使用生成点击GenerateISE 的Module View窗口中出现所生成的IP CoreIP Core的使用例化生成IP Core后,工程所在文件夹下产生下列文件.xco是IP Core配置文件例化时识别.xco.edn是网表文件.v和.vhd是模块的封装源代码IP Core的使用方法2:Core GeneratorIP Core的使用配置芯片配置IP Core的使用配置生成配置IP Core的使用配置高级配置IP Core

3、的使用IP Core选择IP Core的使用方法3:Architecture Wizard IP复杂的IP Core生成,如DCMIP Core的使用配置IP Core的使用例化产生的关键文件.ucf是约束文件.xaw是二进制的Core文件(例化时和.xco的使用类似).v是模块的封装源代码.ngc 二进制网表文件(根据综合选项不同而生成)IP Core的使用IP Core端口声明View HDL Functional ModelIP Core的使用IP Core的说明IP Core生成后,添加到工程中被认为是黑盒子,不会被重新综合;IP Core的可移植性与ISE的版本和芯片类型有关;部分I

4、P Core需付费使用: 仿真IP:可以仿真,不能综合 综合IP:可以综合,不能在芯片上验证IP Core的使用如何将自己的代码封装成一个IP Core?可以提供给他人使用,但不想被篡改。ISE方法:提供verilog wrapper文件(.v文件),只提供端口描述和参数;提供.edn文件或者.ngc文件等同名的网表文件。综合选项中去除IOBUF生成选项。Vivado方法:Tools - Create and Package IP模块关联非常重要用户约束文件(UCF)UCF是项目实现不可缺少的部分UCF生成方法1:New Souce-Implementation Constraints Fil

5、e用户约束文件(UCF)UCF生成方法2User Constraints(用户约束)用户约束文件(UCF)UCF主要三个组成部分引脚约束:引脚位置和类型配置;面积约束:模块的布局布线区域配置;时序约束:时钟约束、关键路径约束等。UCF语法:类似于一种脚本语言NET | INST | PIN “Signal_name” Attribute图形工具PACE编辑器,约束编辑器用户约束文件(UCF)引脚约束用户约束文件(UCF)引脚约束引脚的参数可以进一步配置用户约束文件(UCF)引脚约束配置成功后打开.ucf文件用户约束文件(UCF)面积约束将Logic的模块指定到芯片的某个区域编辑一般情况下,不需

6、要添加用户约束文件(UCF)时钟约束全局约束必选,主要针对全局时钟引脚时序约束pad to pad, clock to pad高级约束分组约束,高级时序约束特定约束特定约束(较少使用)语法规则较为复杂用户约束文件(UCF)时钟约束编辑器用户约束文件(UCF)重新查看.ucf文件用户约束文件(UCF)关于UCF文件的几点说明 UCF语法较为复杂,需要确切知道含义; 图形界面的选项可以自动转换为UCF语句; 如果要在FPGA上实现,时钟约束、引脚约束必填; UCF通常关联顶层模块,综合选项中默认包含; UCF引脚配置要非常小心,严格遵照PCB图和芯片手册的要求,否则可能烧毁昂贵的FPGA芯片; 某

7、些特殊引脚约束或者复杂约束,只能通过UCF语句来生成; UCF编写不正确,无法进行综合以后的后续步骤。 Vivado使用XDC(Xilinx Design Constraints)ISE implement design配置Implement在综合之后执行,需要有.ucf文件包括Translate、Map、Place & Route属性卡可以集中修改,也可以分项修改每个步骤都会生成分析报告ISE implement design配置Translate属性通常使用默认属性生成.ngd文件ISE implement design配置Translate报告ISE implement desi

8、gn配置Map属性通常使用默认属性需要调整的属性 LUT输入 面积与速度 IOBISE implement design配置Map报告(很长,关注以下几个部分)ISE implement design配置Place & Route属性主要需要调整的属性: 布线努力程度 运行开销表部分工具比较重要ISE implement design配置Place & Route报告(也很长)静态时序分析与布局布线后仿真静态时序分析当布局布线效果不理想时使用产生布局布线静态时序部分工具比较重要错误时序会被标红静态时序分析与布局布线后仿真静态时序分析静态时序分析与布局布线后仿真三种后仿真后仿真模

9、型生成文件Generate Post-Translate Simulationxxx_translate.vGenerate Post-Map Simulationxxx_map.v,xxx_map.sdfGenerate Post-Place&Route Simulationxxx_timsim.v,xxx_timsim.sdf主要使用布局布线后仿真静态时序分析与布局布线后仿真布局布线后仿真方法生成仿真模型新建一个目录,复制仿真测试文件、xxx_timsim.v、xxx_timsim.sdf、glbl.v到此目录下;(注意:一定不要编写的源代码,glbl.v在ISE根目录/veril

10、og/src下)如果使用了宏定义文件(.v)、其它仿真模型文件(.v)也添加进来;打开ModelSim,新建一个Project,添加上述文件;编译所有文件;vsim -L XilinxCoreLib_ver -L unisims_ver -L simprims_ver -t 1ps +maxdelays simulate_module glbl 静态时序分析与布局布线后仿真将uut(例化的源代码顶层)添加到波形中布局布线后仿真方法静态时序分析与布局布线后仿真后仿真也可以采用非命令行方法,请自行查阅相关资料后仿真时间较长,与功能仿真可能相差几个数量级如果源代码较为庞大,生成后仿真模型的过程也会比

11、较耗时功耗分析XPower功耗分析在仿真文件中某个initial语句中需要增加$dumpfile(design.VCD);$dumpvars(1,test_v.uut);运行Generate Power Data运行Analyze Power功耗分析分析报告功耗分析分析报告FPGA的配置FPGA配置模式主模式PROM配置(最终产品)从模式JTAG模式主机配置(调试)JTAGJoint Test Action Group一种国际标准测试协议JTAG边界扫描TDI、TDO、TMS、TCKVCC、GNDFPGA的配置JTAG下载电缆并口电缆Parallel III电路公开,可自行制作Parallel

12、 IVUSB电缆价格较为昂贵,速度和稳定性远优于并口电缆JTAG配置电路菊花链FPGA的配置配置文件的生成调试配置选项CCLK用于主模式PROM配置,内部产生JTAG CLOCK用于JTAG调试FPGA的配置配置文件的生成执行生成.bit文件FPGA的配置启动iMPACT选择边界扫描也可以取消 然后点击 进行自动检测FPGA的配置下载配置右键Program,选中生成的.bit文件下载成功后,提示“Success”FPGA的配置采用PROM配置FPGA生成的.bit文件需要转换成.mcs文件下载到PROM中,PROM自动配置FPGAFPGA的配置选择所使用PROM芯片FPGA的配置选择.bit文

13、件转换注意:此时要用CCLK时钟生成.bitFPGA的配置JTAG菊花链FPGA的配置多片PROM配置FPGA的配置System ACE配置可参考PROM配置FPGA的配置FPGA配置失败的常见问题JTAG链扫描失败:检查JTAG电路接口连接情况;无法通过并口设置:并口电缆、并口模式;无法正常配置:信号干扰,增加滤波电路,阻抗匹配;DONE引脚不变高:合适的上拉电阻;DONE引脚变高后无法正常工作:启动顺序;模式错误:引脚M0、M1、M2的配置模式;随机性失败:器件没有复位。ChipScope的使用ChipScope在线软件逻辑分析仪Core GeneratorCore Insert(可替代C

14、ore Generator)Analyzer触发、捕获、分析ChipScope的使用.edn文件选择、芯片类型选择Core InsertChipScope的使用综合网表发生改变Core InsertChipScope的使用设置 Trigger Width、Match Unit、Counter Width设置 Match TypeCore InsertChipScope的使用Core Insert数据深度(采样Sample个数)采样时钟沿方式ChipScope的使用修改采样信号:数量由之前的Trigger Width决定Core InsertChipScope的使用ChipScope的使用Cor

15、e Insert选择采样时钟l尽可能用主时钟或DCM输出的2X时钟选择采样信号l可成组添加l尽量添加寄存器输出l不能添加PAD外侧信号l信号名称可能发生改变ChipScope的使用Core Insert核的保存l满足宽度要求,不可有空;l保存为.cdc文件,以供下次调试使用。核的使用l插入核后需要Rerun Translate。l(注意:只能Translate这一步,不能Rerun ALL,否则将会重新综合,导致核无法添加成功)l继续执行后续的Implementation操作并进行FPGA的配置。ChipScope的使用Analyzer可以替代iMPACT的芯片配置功能;通过下载电缆的检查,扫

16、描JTAG链,找到板上所有的芯片;配置下载.bit文件(稳定性好于iMPACT,速度稍慢);当使用Core Insert时,下载成功后显示分析界面;否则只显示现在成功信息。ChipScope的使用Analyzer的使用设置触发条件l单个信号(跳变、计数等)l多个新号(组合)信号捕获l对于第一次出现的触发条件,需要复位状态下启动捕获。信号编辑l默认情况下只有信号编号,需要核对Core Insert进行信号的编辑,向量信号可以直接分组编辑。信号观测l只显示所设定的捕获宽度。ChipScope的使用Analyzer的使用信号保存lProject保存,可以保存所有编辑过的信号和触发条件。lCore I

17、nsert信号如果重新编辑过,信号保存无效。信号分析l类似于ModelSim的信号分析,实时记录片内信号的波形。原语的使用原语(Primitive)针对器件特征开发的常用模块名称;可靠做Xilinx为用户提供的“库函数”;可以在代码中直接例化使用。注意:(1)原语的使用要注意具体芯片; (2)通常采用参数化设计; (3)语言模板(Language Templates)中提供使用说明。原语的使用原语(Primitive)ISE菜单Edit-Language Templates原语的使用原语(Primitive)用户约束文件l时钟管理单元约束l初始化约束l引脚约束l布局布线约束l时序约束使用UCF语句图形界面原语的使用语言模板: Verilog基本构件:基本的语言要素l注释l条件编译l操作符l函数和任务原语的使用语言模板: Verilog仿真构件:基本的语句规则l时钟模拟l配置语句l仿真延迟l循环语句l过程描述语句l数据流描述语句l数据类型l系统函数库原语的使用语言模板: Verilog可综合构件lalways语句l综合属性l代码样例l条件语句lassign语句lgenerate语句l端口声明l信号声明原语的使用语言模板: Verilog用户模板l自定义的模

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论