作者:Adam Taylor
通过前面的学习,我们已经对Zynq系列的PL和PS部分已经有了相当多的了解。其中有关约束的部分我们曾经提到过但是没有重点关注。约束可以添加
特定的信息到你的设计,并在综合工具和实现工具中可以得到实现。最简单的约束例子就是对操作时钟和引脚的约束。另外一种类型的约束可以实现设计所用逻辑所
在的位置。
实现AXI DMA核的资源原来为粉红色部分
约束可以分为两部分:那些用于综合和实现部分的例如时序约束和仅在实现部分有效的例如管脚约束。
我们所使用的约束是根据SDC设计标准来进行制定的。
由于它作为Xilinx的特定约束文件,所以简称为XDC而不是SDC。
当我们声明约束时应该按照如下顺序:
• 时序约束—时序关系需要正确的约束
• 时序例外—我们首先定义了时序之间的正确关系,现在我们来定义这些约束的例外,例如多周期路径。但不能定义标准以外的时序例外。
• 实现约束—那些在布局布线时的约束.这些约束用于实现期望的结果(例如管脚约束)。
通常,一个设计包括许多约束文件,一般分为两类,一类为时序约束,另一类为实现约束。
两种约束都默认作用于综合和实现。而且综合之前也是可读的,用于综合和实现,或者只作用于实现。你可以通过选择来指定约束文件的作用范围,如下图所示。
Vivado设计流程通常是基于IP的。IP模块通常也带有相关的约束文件。由于有着用户各种各样和工具本身生成的约束文件,所以我们需要知道这些约束文件的优先级以更好的对设计进行约束。
默认情况下,用户制定的约束文件会作用于IP生成的约束文件。但是,也是可以改变那些可编写的约束文件的顺序。类似与设置综合或者实现的选项。我们可以选择约束文件的执行顺序。优先级可以选择如下:
• First: 首先执行这里的约束文件,优先级最高
• Default: 按照正常顺序执行约束文件,优先级一般
• Last: 最后执行约束文件,优先级最低
在后续的博客教程中,我们可以学到更多的如何创建和验证约束文件的内容。在下一期博客中,我们会重点关注我们第一类约束:时序约束,解释它是什么,和如何使用Vivado去创建一个时序约束。
你可以点击这里来获得更多关于MicroZed文章。
原文链接:
http://forums.xilinx.com/t5/Xcell-Daily-Blog/Adam-Taylor-s-MicroZed-Chro...
© Copyright 2014 Xilinx Inc
如需转载,请注明出处
本视频基于Xilinx公司的Artix-7FPGA器件以及各种丰富的入门和进阶外设,提供了一些典型的工程实例,帮助读者从FPGA基础知识、逻辑设计概念
本课程为“从零开始大战FPGA”系列课程的基础篇。课程通俗易懂、逻辑性强、示例丰富,课程中尤其强调在设计过程中对“时序”和“逻辑”的把控,以及硬件描述语言与硬件电路相对应的“
课程中首先会给大家讲解在企业中一般数字电路从算法到流片这整个过程中会涉及到哪些流程,都分别使用什么工具,以及其中每个流程都分别做了
@2003-2020 中国电子顶级开发网