1 / 57

第五章 ISE 开发进阶

第五章 ISE 开发进阶. IP Core 的使用 用户 IP Core 的生成 用户约束文件( UCF ) 引脚配置 时序约束 面积约束 ISE implement design 配置 静态时序分析与布局布线后仿真 功耗分析 FPGA 的配置. IP Core 的使用. ISE 提供的 IP Core 面向复杂设计的软核 ISE 版本的适用性 Xilinx FPGA 芯片的适用性 系统 IP Core 的生成 在 ISE 的 Project 中直接生成 ISE -> Accessories -> Core Generator

buzz
Download Presentation

第五章 ISE 开发进阶

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第五章 ISE开发进阶 • IP Core的使用 • 用户IP Core的生成 • 用户约束文件(UCF) • 引脚配置 • 时序约束 • 面积约束 • ISE implement design配置 • 静态时序分析与布局布线后仿真 • 功耗分析 • FPGA的配置

  2. IP Core的使用 • ISE提供的IP Core • 面向复杂设计的软核 • ISE版本的适用性 • Xilinx FPGA芯片的适用性 • 系统IP Core的生成 • 在ISE的Project中直接生成 • ISE -> Accessories -> Core Generator • ISE -> Accessories -> Architecture Wizard IP • 参数化设计

  3. IP Core的使用 • 方法1:定制ISE中一个已有的IP Core 小写

  4. IP Core的使用

  5. IP Core的使用 • 定制 • 同步FIFO Core为例 IP Core使用说明

  6. IP Core的使用 • 生成 • 点击Generate • ISE 的Module View窗口中出现所生成的IP Core

  7. IP Core的使用 • 例化 • 生成IP Core后,工程所在文件夹下产生下列文件 • .xco是IP Core配置文件 例化的时候识别.xco • .edn是网表文件 • .v和.vhd是模块的封装源代码

  8. IP Core的使用 • 方法2:Core Generator

  9. IP Core的使用 • 配置 • 芯片配置

  10. IP Core的使用 • 配置 • 生成配置

  11. IP Core的使用 • 配置 • 高级配置

  12. IP Core的使用 • 方法2:Architecture Wizard IP • 复杂的IP Core生成,如DCM

  13. IP Core的使用 • 例化 • 产生的关键文件 • .ucf是约束文件 • .xaw是二进制的Core文件 (例化时和.xco的使用类似) • .v是模块的封装源代码 • .ngc二进制网表文件(根据综合选项不同而生成)

  14. IP Core的使用 • IP Core端口声明 • View HDL Functional Model

  15. IP Core的使用 • IP Core的说明 • IP Core生成后,添加到工程中被认为是黑盒子,不会被重新综合; • IP Core的可移植性与ISE的版本和芯片类型有关; • 部分IP Core是付费使用的。

  16. 用户IP Core的生成 • 如何将自己的代码封装成一个IP Core? • 可以提供给他人使用,但不想被篡改或者开源 • 方法: • 提供verilog wrapper文件(.v文件),只提供端口描述和参数; • 提供.edn文件或者.ngc文件等同名的网表文件。

  17. 用户约束文件(UCF) • UCF是项目实现不可缺少的部分 • UCF生成方法1 • New Souce->Implementation Constraints File 模块关联 非常重要

  18. 用户约束文件(UCF) • UCF生成方法2 • User Constraints

  19. 用户约束文件(UCF) • UCF主要三个组成部分 • 引脚约束:引脚位置和类型配置; • 面积约束:模块的布局布线区域配置; • 时序约束:时钟约束、关键路径约束等。 • UCF语法:类似于一种脚本语言 {NET | INST | PIN} “Signal_name” Attribute • 图形工具:PACE编辑器,约束编辑器 参见教材4.4节自行学习

  20. 用户约束文件(UCF) • 引脚约束

  21. 用户约束文件(UCF) • 引脚约束 • 引脚的参数可以进一步配置

  22. 用户约束文件(UCF) • 引脚约束 • 配置成功后,打开.ucf文件

  23. 用户约束文件(UCF) • 面积约束 • 将Logic的模块指定到芯片的某个区域编辑 • 一般不需要

  24. 用户约束文件(UCF) • 时钟约束 • 全局约束 必选,主要针对全局时钟 • 引脚时序约束 pad to pad, clock to pad • 高级约束 分组约束,高级时序约束 • 特定约束 特定约束(较少使用) 语法规则较为复杂

  25. 用户约束文件(UCF) • 重新查看.ucf文件

  26. 用户约束文件(UCF) • 关于UCF文件的几点说明 • UCF语法较为复杂,需要确切知道含义; • 图形界面的选项可以自动转换为UCF语句; • 如果要在FPGA上实现,时钟约束、引脚约束必填; • UCF通常关联顶层模块,综合选项中默认包含; • UCF引脚配置要非常小心,严格遵照PCB图和芯片手册的要求,否则可能烧毁昂贵的FPGA芯片; • 某些特殊引脚约束或者复杂约束,只能通过UCF语句来生成; • UCF编写不正确,无法进行综合以后的后续步骤。

  27. ISE implement design配置 • Implement在综合之后执行,需要有.ucf文件 • 包括Translate、Map、Place & Route • 属性卡可以集中修改,也可以分项修改 • 每个步骤都会生成分析报告 • 详细属性配置参考教材4.3.3节

  28. ISE implement design配置 • Translate属性 • 通常使用默认属性 • 生成.ngd文件 • 所包含的三个工具 较少使用

  29. ISE implement design配置 • Translate报告

  30. ISE implement design配置 • Map属性 • 通常使用默认属性 • 主要需要调整的属性: • LUT输入 • 面积与速度 • IOB • 所包含的四个工具 较少使用

  31. ISE implement design配置 • Map报告(很长,关注以下几个部分)

  32. ISE implement design配置 • Place & Route属性 • 主要需要调整的属性: • 布线努力程度 • 运行开销表 • 部分工具比较重要

  33. ISE implement design配置 • Place & Route报告(也很长)

  34. 静态时序分析与布局布线后仿真 • 静态时序分析 • 当布局布线效果不理想时使用 • 产生布局布线静态时序 • 使用Timing Analyzer进行分析

  35. 静态时序分析与布局布线后仿真 错误时序会被标红

  36. 静态时序分析与布局布线后仿真

  37. 静态时序分析与布局布线后仿真 • 布局布线后仿真方法 • 新建一个目录,将编写的仿真测试文件、xxx_timsim.v、xxx_timsim.sdf、glbl.v文件复制到此目录下;(注意:一定不要编写的源代码,glbl.v在ISE根目录/verilog/src下) • 如果使用了宏定义文件(.v)、其他仿真模型文件(.v)也添加进来; • 打开ModelSim,新建一个Project,添加上述文件; • 编译所有文件; • vsim -L XilinxCoreLib_ver -L unisims_ver -L simprims_ver -t 1ps +maxdelays simulate_module glbl

  38. 静态时序分析与布局布线后仿真 • 将uut(例化的源代码顶层)添加到波形中

  39. 静态时序分析与布局布线后仿真 • 后仿真也可以采用非命令行方法,请自行查阅相关资料; • 后仿真时间较长,与功能仿真可能相差几个数量级的时间; • 如果源代码较为庞大,生成后仿真模型的过程也会比较耗时。

  40. 功耗分析 • XPower功耗分析 • 在仿真文件中某个initial语句中需要增加 $dumpfile("design.VCD"); $dumpvars(1,test_v.uut); • 运行Generate Power Data • 运行Analyze Power

  41. 功耗分析 • 分析报告

  42. 功耗分析 • XPower使用(后续部分参考教材4.3.5节)

  43. FPGA的配置 • FPGA配置模式 • 主模式 PROM配置(最终产品) • 从模式 • JTAG模式 主机配置(调试) • JTAG • Joint Test Action Group • 一种国际标准测试协议 • JTAG边界扫描 • TDI、TDO、TMS、TCK • VCC、GND

  44. FPGA的配置 • JTAG下载电缆 • 并口电缆 • Parallel III 电路公开,可自行制作 • Parallel IV • USB电缆 • 价格较为昂贵,速度和稳定性远优于并口电缆 • JTAG配置电路 • 参见教材5.3节自行学习 • 菊花链

  45. FPGA的配置 • 配置文件的生成 • PC调试的配置选项 • CCLK用于主模式PROM配置,内部产生 • JTAG CLOCK用于JTAG调试

  46. FPGA的配置 • 配置文件的生成 • 执行 • 生成.bit文件

  47. FPGA的配置 • 启动iMPACT • 选择边界扫描 • 也可以取消 然后点击 进行自动检测

More Related