上一篇《Tcl 在 Vivado 中的应用》介绍了 Tcl 的基本语法以及如何利 用 Tcl 在 Vivado 中定位目标。其实 Tcl 在 Vivado 中还有很多延展应用, 接下来我们就来讨论如何利用 Tcl 语言的灵活性和可扩展性,在 Vivado 中 实现定制化的 FPGA 设计流程。
基本的 FPGA 设计实现流程
FPGA 的设计流程简单来讲,就是从源代码到比特流文件的实现过程。大体上跟 IC 设计流程类似,可以分为前端设计和后端设计。其中前端设计是把源代码综合为对应的门级网表的过程,而后端设计则是把门级网表布局布线到芯片上最终实现的过程。
以下两图分别表示 ISE 和 Vivado 的基本设计流程:
ISE 中设计实现的每一步都是相对独立的过程,数据模型各不相同, 用户需要维护不同的输入文件,例如约束等,输出文件也不是标准网表格式,并且形式各异,导致整体运行时间过长,冗余文件较多。
Vivado 中则统一了约束格式和数据模型,在设计实现的任何一个阶段 都支持 XDC 约束,可以生成时序报告,在每一步都能输出包含有网表、约束以及布局布线信息(如果有)的设计检查点(DCP)文件,大大缩短了运行时间。
从使用方式上来讲,Vivado 支持工程模式(Project Based Mode)和非工程模式(None Project Mode) 两种,且都能通过 Tcl 脚本
用 TCL 定制 Vivado 设计实现流程
最新推荐文章于 2024-01-09 22:17:47 发布