vivado 如何创建工程模式_Vivado使用误区与进阶系列(七)用Tcl定制Vivado设计实现流程...

本文摘自《Vivado使用误区与进阶》,作者为Xilinx工具与方法学应用专家Ally Zhou。

上一篇《 Tcl 在 Vivado 中的应用》 介绍了 Tcl 的基本语法以及如何利用 Tcl 在 Vivado 中定位目标。其实 Tcl 在 Vivado 中还有很多延展应用,接下来我们就来讨论如何利用 Tcl 语言的灵活性和可扩展性,在 Vivado 中实现定制化的 FPGA 设计流程。

01

基本的FPGA设计实现流程

FPGA 的设计流程简单来讲,就是从源代码到比特流文件的实现过程。大体上跟 IC 设计流程类似,可以分为前端设计和后端设计。其中前端设计是把源代码综合为对应的门级网表的过程,而后端设计则是把门级网表布局布线到芯片上最终实现的过程。

以下两图分别表示 ISE 和 Vivado 的基本设计流程:

82e9f6298281224926ad05a24325570e.png

ISE 中设计实现的每一步都是相对独立的过程,数据模型各不相同,用户需要维护不同的输入文件,例如约束等,输出文件也不是标准网表格式,并且形式各异,导致整体运行时间过长,冗余文件较多。

Vivado 中则统一了约束格式和数据模型,在设计实现的任何一个阶段都支持 XDC 约束,可以生成时序报告,在每一步都能输出包含有网表、约束以及布局布线信息(如果有)的设计检查点(DCP)文件,大大缩短了运行时间。

从使用方式上来讲,Vivado 支持工程模式(Project Based Mode)和非工程模式(None Project Mode)两种,且都能通过 Tcl 脚本批处理运行,或是在 Vivado 图形化界面 IDE 中交互运行和调试。

工程模式

工程模式的关键优势在于可以通过在 Vivado 中创建工程的方式管理整个设计流程,包括工程文件的位置、阶段性关键报告的生成、重要数据的输出和存储等。

如下左图所示,用户建立了一个 Vivado 工程后,工具会自动创建相应的.xpr 工程文件,并在工程文件所在的位置同层创建相应的几个目录,包括.cache .data .runs和.srcs等等(不同版本可能有稍许差异),分别用于存储运行工程过程中产生的数据、输出的文件和报告以及工程的输入源文件(包含约束文件)等。

如下右图所示,在 Vivado IDE 中还可以一键式运行整个设计流程。这些预置的命令按钮就放置在工具最左边的侧栏:Flow Navigator 。不同按钮对应不同的实现过程,其中在后端实现阶段,还可以用右键调出详细分步命令,指引工具具体执行实现的哪一步。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值