前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >用Tcl定制Vivado设计流程

用Tcl定制Vivado设计流程

作者头像
瓜大三哥
发布2018-02-26 10:37:58
1.4K0
发布2018-02-26 10:37:58
举报
文章被收录于专栏:瓜大三哥

前端设计是把源代码综合为对应的门级网表的过程,而后端设计则是把门级网表布局布线到芯片上最终实现的过程。

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

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

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

工程模式

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

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

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

特别需要指出的是 Flow Navigator 只有在Vivado IDE 中打开.xpr 工程文件才会显示,如果打开的是设计检查点.dcp 文件(不论是工程模式或是非工程模式产生的dcp)都不会显示这个侧栏。

非工程模式

非工程模式下,由于不会创建工程,用户就需要自己管理设计源文件和设计过程。源文件只能从当前位置访问,在设计实现过程中的每一步,数据和运行结果都存在于Vivado 分配到的机器内存中,在用户不主动输出的情况下,不会存储到硬盘中。

简单来讲,非工程模式提供了一种类似ASIC 设计的流程,用户拥有绝对的自由,可以完全掌控设计实现流程,但也需要用户对设计实现的过程和数据,尤其对文件输出和管理全权负责,包括何时、何地、输出怎样的文件等等。

使用非工程模式管理输入输出文件、进行设计实现都需要使用Tcl 脚本,但这并不代表非工程模式不支持图形化界面。非工程模式下产生的.dcp 文件一样可以在Vivdao IDE中打开,继而产生各种报告,进行交互式调试等各种在图形化下更便捷直观的操作。这是一个常见误区,就像很多人误认为工程模式下不支持Tcl 脚本运行是一个道理。但两种模式支持的Tcl 命令确实是完全不同的,使用起来也不能混淆。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-01-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 瓜大三哥 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 工程模式
  • 非工程模式
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档