
vivado使用相关
bleauchat
证明自己,同时验证你的选择是错误的!
展开
-
Vivado使用技巧(2):综合运行与OOC
创建综合运行一个“运行(run)”是指定义和配置设计在综合过程中的各方面,包括:使用 的Xilinx器件、应用的约束集、启动单个或多个综合的选项、控制综合引擎结果的选项。点击Flow菜单中的Create Funs,或在Design Runs窗口中: 点击工具栏中的+,即可打开新建运行窗口: 选择Synthesis,点击Next,打开配置综合运行的窗口: 设置综合名称、...原创 2019-01-10 22:45:20 · 5088 阅读 · 0 评论 -
Vivado使用技巧(18):路径分割现象
上文提到,进行最小/最大延迟约束时,set_max_delay和set_min_delay命令要设置-from和-to选项,但是如果起点和终点设置的不合理,便会导致出现路径分割(Path Segmentation);非法的起点 下面举一个例子说明,如果-from设置了一个非法的起点,时序引擎会阻止经过该节点的时序的传递,从而这个“非法的”起点变得“合法”,如下图:FD1单元中唯一合...原创 2019-02-20 10:30:40 · 1278 阅读 · 0 评论 -
Vivado使用技巧(17):时序异常 Timing Exception
时序异常英文名为Timing Exception,可以认为是时序例外或时序异常,“例外”或“异常”是指这部分时序的分析与大多数常规时序分析不同;下表给出了Vivado支持的时序异常命令及功能: Vivado不支持即时分析有矛盾的时序异常,需要运行report_exceptions进行完整的分析,报告所有时序异常;伪路径 false path 某些在拓扑结构上看存在于设计中的路径...原创 2019-02-19 22:15:59 · 7889 阅读 · 0 评论 -
Vivado使用技巧(16):IO延迟的约束方法
为了对设计外部的时序情况进行精确建模,设计者必须设定输入和输出端口的时序信息。Vivado只能识别出FPGA器件范围内的时序,因此必须使用set_input_delay和set_output_delay命令来设置FPGA范围外的延迟值。两者在含义、约束命令等方面有很多地方是相似的,只不过一个是输入,一个是输出,本文还是分开对两者进行讲述;输入延迟set_input_delay命令设定...原创 2019-02-19 20:15:34 · 4095 阅读 · 0 评论 -
Vivado使用技巧(15):时钟的约束方法
时钟的基础知识数字设计中,“时钟”表示在寄存器之间可靠地传输数据所需的参考时间;Vivado的时序引擎利用时钟特征来计算时序路径需求,通过计算时间裕量(Slack)的方法报告设计的时序空余;时钟必须被正确定义以最佳精度获得最大的时序路径覆盖范围,包含如下特性:定义在时钟树的驱动管脚或端口,通常称作根或源点; 通过周期和波形属性来描述时钟边沿; 周期(period)以ns为单位进行设定,...原创 2019-02-19 16:54:52 · 39799 阅读 · 2 评论 -
Vivado使用技巧(14):使用时序约束向导
时序约束向导打开综合设计或实现设计后,在Flow Navigator中点击Open Synthesized/Implemented Design目录下的Constraints Wizard可以打开时序约束向导(会要求选择一个target约束文件),弹出如下窗口: 利用该向导可以快速地完成时序约束。时序约束向导会分析网表、时钟网络的连接和已存在的时序约束,给出一些缺少的时序约束的建议;时...原创 2019-02-19 10:15:01 · 5379 阅读 · 1 评论 -
Vivado使用技巧(13):约束功能概述
设计约束概述设计约束就是定义编译过程中必须满足的需求,只有这样才能保证在板子上工作时功能正确;但不是全部约束在所有过程中都会使用,比如物理约束只用在布局和布线过程中;Vivado工具的综合和实现算法是时序驱动型的,因此必须创建合适的时序约束;我们必须根据应用需求选择合理的约束,过度约束或约束不足都会造成问题;老版的ISE开发工具使用UCF(User Constraints File)文件进...原创 2019-02-18 20:42:35 · 10565 阅读 · 3 评论 -
Vivado使用技巧(10):实现前的准备工作
关于vivado的实现过程vivado的实现可以来自于多种源文件,包括:(1)RTL设计;(2)网表设计;(3)以IP核为核心的设计 ;下图包括vivado的整个设计流程:vivado的实现过程包括将网表映射到FPGA资源上的所有步骤,涉及到逻辑、物理、时序等多种约束;支持SDC和XDC约束格式; vivado下实现的子步骤vivado的实现过程将网表和约束转换为布局布线设...原创 2019-02-17 22:10:05 · 2250 阅读 · 0 评论 -
Testbench编写指南(1)基本组成与示例
对于小型设计来说,最好的测试方式便是使用TestBench和HDL仿真器来验证其正确性;testbench的主要作用有:实例化待测试的设计; 对测试模式添加测试向量; 将测试结果以波形窗口的可视化方式显示; 将测试结果与期待的结果进行比较;一般TestBench需要包含这些部分:实例化待测试设计、使用测试向量激励设计、将结果输出到终端或波形窗口便于可视化观察、比较实际结果和预期结果。下...原创 2019-02-17 16:25:49 · 2228 阅读 · 0 评论 -
Vivado使用技巧(9):Waveform功能详解
使用波形配置文件Vivado Simulator允许用户自定义波形显示方式,当前的显示状态称作波形配置,波形配置可以保存为WCFG文件,供以后使用;一个波形配置对应一个Wave窗口,没有保存的波形配置显示为untitled;打开仿真后,File菜单中有与波形配置相关的指令: 这些控制功能依次是:New Waveform Configuration:创建一个新的波形配置,Vivado...原创 2019-02-15 15:44:13 · 12199 阅读 · 2 评论 -
Vivado使用技巧(7):仿真功能概述
仿真是FPGA开发中常用的功能,通过给设计注入激励和观察输出结果,验证设计的功能和时序是否满足设计要求;Vivado设计套件支持如下仿真工具:Vivado Simulator、Questa、ModelSim、IES、VCS、Rivera-PRO和Active-HDl;Vivado的仿真流程如下图所示: ...原创 2019-01-16 17:19:19 · 14583 阅读 · 1 评论 -
Vivado使用技巧(6):支持的Verilog语法
复杂的电路设计通常使用自顶向下的设计方法,设计过程中的不同阶段需要不同的设计规格。比如架构设计阶段,需要模块框图或算法状态机(ASM)图表这方面的设计说明。一个框图或算法的实现与寄存器(reg)和连线(wire)息息相关。Verilog便具有将ASM图表和电路框图用计算机语言表达的能力,本文将讲述Vivado综合支持的Verilog硬件描述语言;Verilog提供了行为化和结构化两方面的语言结...原创 2019-01-15 16:07:08 · 15874 阅读 · 0 评论 -
Vivado使用技巧(1):综合策略与设置的选择
综合(Synthesis)是指将RTL设计转换为门级描述。Vivado开发套件中的综合工具是一款时序驱动型、专为内存使用率和性能优化的综合工具,支持System Verilog 2012、Verilog 2005、VHDL 2008、混合语言中的可综合子集,以及XDC设计约束文件(基于工业标准的SDC文件),此外还支持RTL属性来控制综合细节.综合设置选项在Flow Navigator中点...原创 2019-01-09 16:50:16 · 15131 阅读 · 0 评论 -
Vivado使用技巧(5):HDL编写技巧 HDL Coding Techniques
在Vivado中进行HDL代码设计,不仅需要描述数字逻辑电路中的常用功能,还要考虑如何发挥Xilinx器件的架构优势,同时xilinx本身也自带了许多语言模板(language template)。目前常用的HDL语言有三种:VHDL、verilog、system verilog;下面将介绍三种语言的优缺点;VHDL语言的优势有:语法规则更加严格; 在HDL源代码中初始化RAM组件更容易...原创 2019-01-14 16:55:11 · 3159 阅读 · 1 评论 -
Vivado使用技巧(4):Block Synthesis Flow技术
前面1-3介绍了Vivado综合技术中的各个方面,这里做个总结:Vivado综合支持使用多种策略(Strategy)和全局设置(Setting)。在RTL或XDC文件中,可以用综合属性(attribuite)来改写某些设置选项。但是目前设计越复杂,全局设置方式限制了设计的潜在性能,同一设计中不同层次结构可能在不同设置下才能获得最佳表现;针对此问题,一个解决方法便是Out-of-context(...原创 2019-01-14 10:28:52 · 1452 阅读 · 0 评论 -
Vivado使用技巧(3):HDL/XDC中设置综合属性
Vivado综合工具支持直接在RTL文件或XDC文件中设置综合属性。如果Vivado识别出设置的属性,会创建与之相关的逻辑电路;如果不能识别设置的属性,会将该属性和值存放在生成的网表中。因为某些属性,例如LOC约束适用于布线过程,因此必须保留该属性配置情况以用于之后的过程;本文将介绍Vivado综合工具支持的所有属性设置,并给出Verilog示例:1.ASYNC_REG将reg类型配置...原创 2019-01-14 00:05:10 · 7827 阅读 · 1 评论 -
Vivado使用技巧(8):使用Vivado Simulator
Vivado Simulator基本操作 Vivado Simulator是一款硬件描述语言事件驱动的仿真器,支持功能仿真和时序仿真,支持VHDL、Verilog、SystemVerilog和混合语言仿真;点击运行仿真后界面如下所示: 工具栏中显示了控制仿真过程的常用功能按钮:控制功能依次是:Restart:从0时刻开始重新运行仿真; Run All:运行仿真一直到处理完...原创 2019-01-17 16:33:35 · 4281 阅读 · 2 评论 -
Vivado使用技巧(19):多周期路径
多周期路径 Multicycle Paths默认情况下,vivado时序引擎是按照单周期关系分析数据关系的,即数据在发起沿发送,在捕获被捕获,发起沿和捕获沿相差一个周期;但是很多情况是,数据路径逻辑较为复杂,导致延时较大,使得数据无法在一个时钟周期内稳定下来, 或者数据可以在一个时钟周期内稳定下来,但是在数据发送几个周期之后才使用;在这些情况中,设计者的意图都是使数据的有效期从发起沿为起始直至...原创 2019-02-20 20:18:45 · 5536 阅读 · 3 评论