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。
-
vivado下创建基本时序周期约束的更多相关文章
- Vivado Design Suite用户指南之约束的使用第二部分(约束方法论)
Constraints Methodology(约束方法论) 关于约束方法论 设计约束定义了编译流程必须满足的要求,以使设计在板上起作用. 并非所有步骤都使用所有约束在编译流程中. 例如,物理约束仅在 ...
- Tcl与Design Compiler (六)——基本的时序路径约束
本文属于原创手打(有参考文献),如果有错,欢迎留言更正:此外,转载请标明出处 http://www.cnblogs.com/IClearner/ ,作者:IC_learner 时序约束可以很复杂,这 ...
- Android下创建一个输入法
输入法是一种可以让用户输入文字的控件.Android提供了一套可扩展的输入法框架,使得应用程序可以让用户选择各种类型的输入法,比如基于触屏的键盘输入或者基于语音.当安装了特定输入法之后,用户即可在系统 ...
- 微软Azure 经典模式下创建内部负载均衡(ILB)
微软Azure 经典模式下创建内部负载均衡(ILB) 使用之前一定要注意自己的Azure的模式,老版的为cloud service模式,新版为ARM模式(资源组模式) 本文适用于cloud servi ...
- 无法在“EntityFramework”已存在的情况下创建影像复制该文件的解决方案
问题产生的原因:你项目正在生成中你就打开浏览器预览了,导致这个问题解决方案:右击重新生成项目,等生成后再打开 “/”应用程序中的服务器错误. 无法在“EntityFramework”已存在的情况下创建 ...
- Linux:Ubuntu16.04下创建Wifi热点
Linux:Ubuntu16.04下创建Wifi热点 说明: 1.Ubuntu16.04里面可以直接创建热点,而不用像以前的版本,还要其他辅助工具. 2.本篇文章转载自编程人生 具体步骤如下: 1. ...
- 在Mac下创建ASP.NET Core Web API
在Mac下创建ASP.NET Core Web API 这系列文章是参考了.NET Core文档和源码,可能有人要问,直接看官方的英文文档不就可以了吗,为什么还要写这些文章呢? 原因如下: 官方文档涉 ...
- 解决Oracle在scott用户下创建视图(VIEW)权限不足的方法
问题描述:在scott用户下创建视图的时候,报错:权限不足.(其他用户以此类推)解决方法: 以dba用户登录 sqlplus / as sysdba 赋予scott用户创建VIEW的权限 grant ...
- windows环境下创建 .文件夹
一.windows环境下创建 .文件夹 1.新建一个文件夹 2.重命名为.properties.(名字前后都加点) 二.windows环境下创建 .文件 1.上面的方法对文件同样适用 2.运行CMD, ...
随机推荐
- ListView的DrawSubItem时间添加边框,字体变粗问题
procedure TFrmrdp.ListView1AdvancedCustomDrawSubItem(Sender: TCustomListView; Item: TListItem; SubIt ...
- Linux学习《第五章 用户身份与文件权限》
- 死循环(endless loop)
死循环 死循环就是一个无法结束的循环.(endless loop / infinite loop) 出现死循环是因为没有设置好结束条件,循环的结束条件很重要,要充分考虑各种边界情况. 以上一篇随笔中的 ...
- oracle11g更改字符集
一.查看服务器字符集编码三种方式:1)select userenv('language') from dual; -- 推荐2)select * from V$NLS_PARAMETERS;3)sel ...
- border-radius 在 浏览器开发者工具移动端里是有效的,在真机是无效的。
border-radius 在 浏览器开发者工具移动端里是有效的,在真机是无效的,怎么解决? 答案是 border-radius:20px !important 加上!important 就好了.
- 数据结构必做题参考:实验一T1-20,实验2 T1
实验一T1-10 #include <bits/stdc++.h> using namespace std; ; struct Book { string isbn; string nam ...
- archlinux下安装mysql
mysql的安装 这里安装的是mariadb一个mysql的开源版本,实际使用体验没有差别 1. 安装Maria DB sudo pacman -S mariadb 2. 配置目录 sudo mari ...
- 基础语法-选择结构switch
基础语法-选择结构switch 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Switch语句特点 switch语句选择的类型在jdk1.6只支持四种:byte,short,i ...
- MyBatis的初始化过程。
对于任何框架而言,在使用前都要进行一系列的初始化,MyBatis也不例外.本章将通过以下几点详细介绍MyBatis的初始化过程. 1.MyBatis的初始化做了什么 2. MyBatis基于XML配置 ...
- JS高级学习笔记(6)- 事件循环
参考文章:深入理解JS引擎的执行机制 JavaScript 异步.栈.事件循环.任务队列 我的笔记:ES系列之Promise async 和 await Event Loop 前提 js ...
- Vivado Design Suite用户指南之约束的使用第二部分(约束方法论)
- 用户自定义的生成时钟

