没有合适的资源?快使用搜索试试~ 我知道了~
一文看懂FPGA XDC约束
资源推荐
资源详情
资源评论
1
Vivado 时序约束
本文主要介绍如何在 Vivado 设计套件中进行时序约束,原文出自 Xilinx 中
文社区。
1 Timing Constraints in Vivado -UCF to XDC
Vivado 软件相比于 ISE 的一大转变就是约束文件,ISE 软件支持的是 UCF(User
Constraints File),而 Vivado 软件转换到了 XDC(Xilinx Design Constraints)。XDC 主
要基于 SDC(Synopsys Design Constraints)标准,另外集成了 Xilinx 的一些约束标
准,可以说这一转变是 Xilinx 向业界标准的靠拢。Altera 从 TimeQuest 开始就一
直使用 SDC 标准,这一改变,相信对于很多工程师来说是好事,两个平台之间
的转换会更加容易些。首先看一下业界标准 SDC 的原文介绍:
Synopsys' widely-used design constraints format, known as SDC, describes the
"design intent" and surrounding constraints for synthesis, clocking, timing, power,
test and environmental and operating conditions. SDC has been in use and
evolving for more than 20 years, making it the most popular and proven format for
describing design constraints. Essentially all synthesized designs use SDC and
numerous EDA companies have translators that can read and process SDC.
Xilinx 原先的自成一派(UCF)其实其实也算做的不错,相信使用过 UCF 的工
程师也有同感,并没有什么不便。像 Apple 那样软件和硬件都自成一派而且能与
其它所有派别抗衡的,背后需要有多强大的团队支持,可能 Xilinx 可是考虑到这
点,不想花费过多的精力去维护。(个人见解)
文归正题,如果有读者以前没有使用 XDC/SDC 的经验,这边讲解一下如何
从 UCF 到 XDC 的转换。如图 1 所示为 UCF 与 SDC 的约束命令比较,可以发现常
用的命令都能对应上。
2
图 1
下面简单举例说明:
Clock Period:
UCF :NET "clka" TNM_NET = "clka";
TIMESPEC "TS_clka" = PERIOD "clka" 13.330 ns HIGH 50.00%;
XDC :create_clock -name clka -period 13.330 -waveform {0 6.665} [get_ports
clka]
Input Port:
UCF :OFFSET = IN 8 BEFORE clka;
XDC :set_input_delay -clock clka 2 [all_inputs]
注: clock period = 10 ns.
Output Port:
UCF :OFFSET = OUT 12 AFTER clkc;
XDC :set_output_delay -clock clkc 8 [all_outputs]
注:clock period = 20 ns.
除了以上约束命令的差别外,UCF 和 XDC 间的主要差别如下:
1. XDC 是顺序执行约束,每个约束指令有优先级
2. UCF 一般约束 nets 对象,而 XDC 约束类型是 pins, ports 和 cells 对象
3. UCF 约束默认不对异步时钟间路径进行时序分析,而 XDC 约束默认所有
时钟是相关的,会分析所有路径,可以通过设置时钟组(set_clock_groups)取消时
3
钟间的相关性。
下面介绍一下在 Vivado 中添加 XDC 文件以及加入约束命令的方法:
首先在 Project Manager 中展开 Constraints 类,选择 Add Sources 即可添加
或者新建 XDC 约束文件,如图 2 所示。
图 2
选择新建的 XDC 文件,双击打开,选择左侧的 Templates,其中有 XDC 约束
命令的实例,所有的约束命令都可以在其中找到,非常方便,如图 3,4 所示。
4
图 3
5
图 4
XDC 约束文件可以在编译综合和实现过程中使用时,在综合和实现设置中
都能选择需要的约束,如图 5。通过创建约束文件集,如图 6,设计者可以使能
不同的约束集合测试 FPGA 设计的性能;在约束文件集中可以包含多个 XDC 约束
文件,在 FPGA 设计比较复杂时,可以分模块或者 IP 核约束,相应的则有多个 XDC
剩余84页未读,继续阅读
资源评论
justiess
- 粉丝: 2153
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- MyBatis 动态 SQL:灵活而强大的查询构建器.pdf
- com.accordion.prettyo.apk
- 毕业设计:基于SSM的mysql-ssm软件bug管理系统(源码 + 数据库 + 说明文档)
- MTSQL8.0.35windows(64bit)-mysql-installer-community-8.0.35.0
- 人工智能引领音乐创作新时代之Suno AI
- Public-bicycle-usage-forecast-master.zip
- 通道处理过程模拟:从理论到实践.pdf
- 数据库第七次作业E-R图第一题
- 大厂面试真题Java语法基础面试专题及答案
- IMG20240428211124.jpg
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功