【干货分享】Vivado 增量综合流程
judy 在 周五, 07/19/2019 - 10:27 提交从 Vivado 2019.1 版本开始,Vivado 综合引擎就已经可以支持增量流程了。这使用户能够在设计变化较小时减少总的综合运行时间。在我们开始讨论增量综合之前,我们先来讨论一下一些重要的概念,以便能够更好地理解该流程。
从 Vivado 2019.1 版本开始,Vivado 综合引擎就已经可以支持增量流程了。这使用户能够在设计变化较小时减少总的综合运行时间。在我们开始讨论增量综合之前,我们先来讨论一下一些重要的概念,以便能够更好地理解该流程。
本文从最原始文件搭建仿真环境的思路出发,尝试着研究脱离Vivado单独建仿真环境的过程中都会遇到什么问题,采用什么样的方法比较容易解决,笔者试了好几个工程,总结出一套相对完善的解决思路,来分享给大家。
为了某些端口信号的时序约束,可以采用Quartus工具把接口模块锁定在FPGA上的分配管脚的相应位置,这样在此基础上可以增加其它模块代码重新综合后,被锁定的接口模块是不会被改变的。这种方式在Vivado中也有,本文针对Vivado中实现的逻辑锁定和增量编译进行的工程实例介绍,文中有对应工程的下载地址。
赛灵思视频 Video Processing Subsystem IP 核是为了便于使用而被封装到单个 IP 中的一组视频处理 IP。该核是基于 HLS 的 IP。这就是说当您将 IP 添加到设计中后,此核用 C/C++ 编写,然后在后台由 Vivado 转换为 RTL(VHDL/Verilog)。
Vivado Design Suite 可提供通过新一代 C/C++ 及 IP 设计实现超高生产力的新方法。下载最新 UltraFast™ 高层次生产力设计方法指南,实现比用传统方法提升 10~15 倍的生产力。Vivado HLx 版本:
一:参数配置
1.选择函数的类型。包含了矢量旋转,矢量变换,正弦,余弦,双曲正弦,双曲余弦,反正切,反双曲正切和平方根的计算。
2.选择cordic的结构。可选并行和串行。
3.选择输出流水线类型。提供了三种,无,最优,最大。其中optimal模式实现时使用很多流水线,但是不使用附加的查找表。
上文提到,进行最小/最大延迟约束时,set_max_delay和set_min_delay命令要设置-from和-to选项。但是如果起点和终点设置的不合理(具体见第33篇),便会导致出现路径分割(Path Segmentation)。
Vivado不支持即时分析有矛盾的时序异常,需要运行report_exceptions进行完整的分析,报告所有时序异常。多周期路径的情况有很多,比较复杂,单独放在第35篇中讲述。本文介绍其余三种时序异常的相关知识。
今天发布一个Vivado 下固化 FLASH的压缩和提高加载速度的技巧和方法。这个方法对于需要快速加载程序的场合特别有用比如PCIE 需要满足200MS的加载时间才能实现上电后系统能够识别到开发板。
上一篇讲述了对时钟的约束方法,时钟不仅对设计很重要,约束情况也很多、很复杂,需要一定的经验。本文将讲述另一种重要的约束:I/O延迟,但与时钟约束相比就简单的多,本文篇幅也相对较少。