vivado下创建基本时序周期约束
创建基本时钟周期约束。(验证我们的设计能否在期望的频率上运行)
(学习记录,晚一点会做实验传上来的。)
时钟基本概念:https://blog.csdn.net/wordwarwordwar/article/details/78259208
时序约束的基本概念:https://blog.csdn.net/zz_Caleb/article/details/84453792
- 约束是如何构成的
- 时序约束
- 物理约束
- 当前的约束是用在哪个过程中
- 通常情况下,时序约束是在综合和实现的时候都会用到,物理约束一般是在实现的时候会被用到。
- 或
- 如果我们有多个约束文件,我们一定需要一个target文件,用于保存最新额约束。方法是左键选择
- 时钟描述
- 基本要素
- 时钟周期
- Period=10
- 占空比
- Waveform={0,5} //0指上升沿,5指下降沿,单位是ns不用谢
- 相位
- 时钟周期
- 主时钟(primary clock)这是我们首先要确定的。
- 实际上指的是板子上的晶振。
- (sysclk是package pin上的管脚)
- 对于GTH Transceivers :http://www.bubuko.com/infodetail-2087865.html
- 基本要素
- 生成时钟(Generated clock)
- 用户自定义的生成时钟
- 通过进行定义。
- 通常用户定义的时钟,是通过RTL代码描述的时钟。
- 举例如下:
- 二分频时钟源
- 先要定义primary clock source point
- 再确定生成时钟的位置(蓝色)
-
- –source:用get_ports指定
- –name:生成时钟的名字
- –divide_by 2:生成时钟的位置
- 第二种方式是我们使用get_pin
- –source:rega的时钟端口
- 第三种方式
- 编号从1开始,clkin的第一个上升沿对准clkdiv2的第一个边沿。Clkdiv2的下降沿对应clkin的第三个边沿。clkdiv2的第二个上升沿对应clkin的第五个沿。
-
- 自动推断出来的时钟(我们不需要进行约束,只需要对primary time进行约束即可)
- 我们着重注意-source属性
- 典型应用:时钟进来以后通过MMCM或者PLL生成不同的时钟。通常我们会调用MMCM的这个Ip包。
- 生成时钟的名字,就是与clkout连接的net上的名字(cpiclk)。
- 当我们使用Clocking wizard ip核的时候,我们可以对port 进行rename。
- ?:https://blog.csdn.net/u011327754/article/details/79780999
- 用户自定义的生成时钟
- Report_clocks命令
-
- Propagated:表面时钟的特性,波形抖动,会往后传播。
- Generated:生成时钟。
-
- 时钟分组(clock Group)
- 时钟分类(通常vivado认为时钟都是相关的,所以如果我们实际项目中有时钟来自于两个不同的晶振,我们需要时钟约束告诉fpga时钟是不相关的。)
- 同步时钟
- 使用creat_clock进行时钟约束。
- 异步时钟
- 我们要告诉这两个源时钟源是没有关系的。
- Unexpandable clocks
- 因为launch edge和capture edge的时钟不同步,所以在我们做setup分析的时候,建立于两的值会有两个。(如图红色虚线)他最终会使用较短的时间作为建立时的requerament(及最小公倍数)。
- 但是如果这个最小公倍数不存在或者很难找到(比如clk0=5.125ns clk1=6.666ns)那么 Path requirement between two clocks are not reasonable。
- 需要通过方法进行约束
- Exclusive clock group
- 因为多路选择器的存在,Clk0和clk1不可能同时工作。
- 同步时钟
- 时钟分类(通常vivado认为时钟都是相关的,所以如果我们实际项目中有时钟来自于两个不同的晶振,我们需要时钟约束告诉fpga时钟是不相关的。)
- 特性
- 所有的时钟都是默认相关的
- 对于异步时钟我们可以通过set_clock_group创建时钟组,但是我们需要很好的设计保证可靠性。
- 约束时钟频率
- 如果我们的设计是差分时钟,我们只用去约束p端口对应的时钟即可。
转载于:https://www.cnblogs.com/RenoStudio/p/10355162.html
vivado下创建基本时序周期约束相关推荐
- Vivado使用误区与进阶——XDC约束技巧之I/O篇 (下)
<XDC约束技巧之时钟篇>中曾对I/O约束做过简要概括,相比较而言,XDC中的I/O约束虽然形式简单,但整体思路和约束方法却与UCF大相径庭.加之FPGA的应用特性决定了其在接口上有多种构 ...
- vivado 时序例外约束
在不改变代码情况下,时序例外约束可以说是vivado中满足时序要求最有效的方法.因为vivado默认所有时钟路径之间都是同步的,会尝试分析和满足所有的路径.通过设置时序例外约束,告诉vivado软件不 ...
- FPGA 时序约束系列之周期约束
目录 1.周期(PERIOD)约束 时钟周期估计 编辑约束 时钟偏斜计算 基本时序报告 数字时钟管理器的周期约束 Clock Phase Period Example Hold Calculation ...
- Vivado Design Suite用户指南之约束的使用第二部分(约束方法论)
Constraints Methodology(约束方法论) 关于约束方法论 设计约束定义了编译流程必须满足的要求,以使设计在板上起作用. 并非所有步骤都使用所有约束 在编译流程中. 例如,物理约束仅 ...
- vivado 如何创建工程模式_用Tcl定制Vivado设计实现流程
原标题:[Vivado使用误区与进阶]用Tcl定制Vivado设计实现流程 上一篇<Tcl在Vivado中的应用>介绍了Tcl的基本语法以及如何利用Tcl在Vivado中定位目标.其实Tc ...
- Vivado 下 IP核 之ROM 读写
目录 Vivado 下 IP核 之ROM 读写 1.实验简介 2.ROM IP 核简介 3.ROM IP 核配置 3.1.创建 ROM 初始化文件 3.2.单端口 ROM 的配置 加载数据文件,将 . ...
- 在Vivado下利用Tcl实现IP的高效管理
在Vivado下,有两种方式管理IP.一种是创建FPGA工程之后,在当前工程中选中IP Catalog,生成所需IP,这时相应的IP会被自动添加到当前工程中:另一种是利用Manage IP,创建独立的 ...
- Vivado使用误区与进阶——XDC约束技巧之I/O篇 (上)
<XDC约束技巧之时钟篇>中曾对I/O约束做过简要概括,相比较而言,XDC中的I/O约束虽然形式简单,但整体思路和约束方法却与UCF大相径庭.加之FPGA的应用特性决定了其在接口上有多种构 ...
- sdc:基本的时序路径约束
文章目录 sdc:基本的时序路径约束 1.概念 时序路径 关键路径 路径约束 1.路径2(寄存器到寄存器的路径)约束 2.路径1(输入到寄存器D端)的约束 3.路径3(寄存器到输出端口)的约束 4.路 ...
最新文章
- 【机器学习】SVM学习(三):线性分类器的求解
- springboot数据访问基本操作步骤
- 递归_三要素_基础算法必备
- 微软的.NET Core开始支持Raspberry Pi 3
- 新版opencv兼容旧版_【标准换版】关于家用和类似用途电器用外置电源适配器、充电器和内置开关电源产品认证执行新版标准的通知...
- 通过jQuery把数据库里面的数据进行增删查改
- 中国式离婚中,林与宋离婚成为定局的时刻
- CentOS 7 之安装 Oracle 11gR2
- android Fragment 动画 设置位置
- 帆软日期格式转换_日期和时间函数- FineReport帮助文档 - 全面的报表使用教程和学习资料...
- 配置eclipse反编译
- 易我电脑迁移 2022
- jQuery橙色的网页右侧悬浮在线客服代码
- 关于DEV-c++ 运行窗口闪退的解决办法
- OPENGL中GLAD的代码实现过程
- 如何快速入门Spring Cloud
- MPB:中科院植物所杨文强组-​莱茵衣藻遗传连锁分析方法
- 移动开发者如何获取免费流量
- vue h5点击跳转主流手机应用商店app下载页
- word文档添加批注
热门文章
- 小型机oracle命令,Oracle小型机如何选型
- xshell如何运行java_利用Xshell往应用服务器上部署项目
- apache php的日志在哪里,PHP在哪里存储错误日志? (php5,apache,fastcgi,cpanel)...
- 从qq服务器删除误收邮件,如何恢复从qq邮箱删除的电子邮件
- 十七、PHP框架Laravel学习笔记——模型的定义
- 一、bootstrap4基础(布局系统、栅格系统、显示与隐藏、对齐与排列、内容排版、代码与图文、表格样式、颜色和边框、工具类)
- LeetCode 1630. 等差子数组
- LeetCode 1181. 前后拼接(哈希map)
- LeetCode 1535. 找出数组游戏的赢家
- LeetCode 170. 两数之和 III - 数据结构设计(哈希map)