约束文件是FPGA设计中不可或缺的源文件。那么如何管理好约束文件呢? 到底设置几个约束文件? 通常情况下,设计中的约束包括时序约束和物理约束。前者包括时钟周期约束、输入/输出延迟约束、多周期路径约束和伪路径约束。后者包括管脚分配、管脚电平等。除此之外,有些情况下还包括用于设计调试的约束(设置ILA属性)或位置约束或通过Pblock执行的面积约束。Xilinx建议将约束分类写入不同的文件中,典型的场景是:时序约束放在一个文件里,物理约束放在一个文件里。如下图所示。图中wave_gen_timing.xdc中写的是时序约束,wave_gen_pins.xdc中写的是管脚分配。如果有ILA,可将ILA相关信息写入单独的文件中,这样的好处是当后期不再需要调试时,直接将该文件移除或点右键选择DisableFile,而不用一行行注释。
用于OOC综合的约束 Vivado支持对IP、BlockDesign进行OOC(Out-of-Context)综合。同时,Vivado还可对指定的用户模块进行OOC综合,这时可对该模块指定OOC综合时用到的约束文件。这可通过xdc文件属性USED_IN设定,将其值设置为{synthesis,out_of_context},如下图所示。
设置约束的生效阶段
默认情况下,添加到Vivado工程中的xdc文件既用于综合阶段也用于布局布线阶段。但事实上,有些约束仅在布局布线阶段有效,例如管脚分配,这时可通过.xdc文件属性设定其使用阶段,如下图所示。
即使对于时序约束,也只有如下几条命令且与建立时间相关时综合阶段才起作用,这也是为什么我们在分析综合后的设计时只关注建立时间违例而忽略保持时间违例。
审核编辑:汤梓红
-
FPGA
+关注
关注
1624文章
21597浏览量
601004 -
Xilinx
+关注
关注
71文章
2153浏览量
120795 -
文件
+关注
关注
1文章
560浏览量
24653 -
约束
+关注
关注
0文章
82浏览量
12704
原文标题:如何管理约束文件?
文章出处:【微信号:Lauren_FPGA,微信公众号:FPGA技术驿站】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论