创建基本时钟周期约束。(验证我们的设计能否在期望的频率上运行)

(学习记录,晚一点会做实验传上来的。)

时钟基本概念:https://blog.csdn.net/wordwarwordwar/article/details/78259208

时序约束的基本概念:https://blog.csdn.net/zz_Caleb/article/details/84453792

  1. 约束是如何构成的

    1. 时序约束
    2. 物理约束
    3. 当前的约束是用在哪个过程中
      1. 通常情况下,时序约束是在综合和实现的时候都会用到,物理约束一般是在实现的时候会被用到。
      2. 如果我们有多个约束文件,我们一定需要一个target文件,用于保存最新额约束。方法是左键选择
  2. 时钟描述
    1. 基本要素

      1. 时钟周期
        1. Period=10
      2. 占空比
        1. Waveform={0,5} //0指上升沿,5指下降沿,单位是ns不用谢
      3. 相位
    2. 主时钟(primary clock)这是我们首先要确定的。
      1. 实际上指的是板子上的晶振。
      2. (sysclk是package pin上的管脚)
      3. 对于GTH Transceivers :http://www.bubuko.com/infodetail-2087865.html
  3. 生成时钟(Generated clock)
    1. 用户自定义的生成时钟

      1. 通过进行定义。
      2. 通常用户定义的时钟,是通过RTL代码描述的时钟。
      3. 举例如下:
        1. 二分频时钟源
        2. 先要定义primary clock source point
        3. 再确定生成时钟的位置(蓝色)
            1. –source:用get_ports指定
            2. –name:生成时钟的名字
            3. –divide_by 2:生成时钟的位置
          1. 第二种方式是我们使用get_pin
            1. –source:rega的时钟端口
          2. 第三种方式
            1. 编号从1开始,clkin的第一个上升沿对准clkdiv2的第一个边沿。Clkdiv2的下降沿对应clkin的第三个边沿。clkdiv2的第二个上升沿对应clkin的第五个沿。
    2. 自动推断出来的时钟(我们不需要进行约束,只需要对primary time进行约束即可)
      1. 我们着重注意-source属性
      2. 典型应用:时钟进来以后通过MMCM或者PLL生成不同的时钟。通常我们会调用MMCM的这个Ip包。
      3. 生成时钟的名字,就是与clkout连接的net上的名字(cpiclk)。
      4. 当我们使用Clocking wizard ip核的时候,我们可以对port 进行rename。
      5. ?:https://blog.csdn.net/u011327754/article/details/79780999
  4. Report_clocks命令
      1. Propagated:表面时钟的特性,波形抖动,会往后传播。
      2. Generated:生成时钟。
  5. 时钟分组(clock Group)
    1. 时钟分类(通常vivado认为时钟都是相关的,所以如果我们实际项目中有时钟来自于两个不同的晶振,我们需要时钟约束告诉fpga时钟是不相关的。)

      1. 同步时钟

        1. 使用creat_clock进行时钟约束。
      2. 异步时钟
        1. 我们要告诉这两个源时钟源是没有关系的。
      3. Unexpandable clocks
        1. 因为launch edge和capture edge的时钟不同步,所以在我们做setup分析的时候,建立于两的值会有两个。(如图红色虚线)他最终会使用较短的时间作为建立时的requerament(及最小公倍数)。
        2. 但是如果这个最小公倍数不存在或者很难找到(比如clk0=5.125ns clk1=6.666ns)那么 Path requirement between two clocks are not reasonable。
        3. 需要通过方法进行约束
      4. Exclusive clock group
        1. 因为多路选择器的存在,Clk0和clk1不可能同时工作。
  6. 特性
    1. 所有的时钟都是默认相关的
    2. 对于异步时钟我们可以通过set_clock_group创建时钟组,但是我们需要很好的设计保证可靠性。
  7. 约束时钟频率
    1. 如果我们的设计是差分时钟,我们只用去约束p端口对应的时钟即可。

转载于:https://www.cnblogs.com/RenoStudio/p/10355162.html

vivado下创建基本时序周期约束相关推荐

  1. Vivado使用误区与进阶——XDC约束技巧之I/O篇 (下)

    <XDC约束技巧之时钟篇>中曾对I/O约束做过简要概括,相比较而言,XDC中的I/O约束虽然形式简单,但整体思路和约束方法却与UCF大相径庭.加之FPGA的应用特性决定了其在接口上有多种构 ...

  2. vivado 时序例外约束

    在不改变代码情况下,时序例外约束可以说是vivado中满足时序要求最有效的方法.因为vivado默认所有时钟路径之间都是同步的,会尝试分析和满足所有的路径.通过设置时序例外约束,告诉vivado软件不 ...

  3. FPGA 时序约束系列之周期约束

    目录 1.周期(PERIOD)约束 时钟周期估计 编辑约束 时钟偏斜计算 基本时序报告 数字时钟管理器的周期约束 Clock Phase Period Example Hold Calculation ...

  4. Vivado Design Suite用户指南之约束的使用第二部分(约束方法论)

    Constraints Methodology(约束方法论) 关于约束方法论 设计约束定义了编译流程必须满足的要求,以使设计在板上起作用. 并非所有步骤都使用所有约束 在编译流程中. 例如,物理约束仅 ...

  5. vivado 如何创建工程模式_用Tcl定制Vivado设计实现流程

    原标题:[Vivado使用误区与进阶]用Tcl定制Vivado设计实现流程 上一篇<Tcl在Vivado中的应用>介绍了Tcl的基本语法以及如何利用Tcl在Vivado中定位目标.其实Tc ...

  6. Vivado 下 IP核 之ROM 读写

    目录 Vivado 下 IP核 之ROM 读写 1.实验简介 2.ROM IP 核简介 3.ROM IP 核配置 3.1.创建 ROM 初始化文件 3.2.单端口 ROM 的配置 加载数据文件,将 . ...

  7. 在Vivado下利用Tcl实现IP的高效管理

    在Vivado下,有两种方式管理IP.一种是创建FPGA工程之后,在当前工程中选中IP Catalog,生成所需IP,这时相应的IP会被自动添加到当前工程中:另一种是利用Manage IP,创建独立的 ...

  8. Vivado使用误区与进阶——XDC约束技巧之I/O篇 (上)

    <XDC约束技巧之时钟篇>中曾对I/O约束做过简要概括,相比较而言,XDC中的I/O约束虽然形式简单,但整体思路和约束方法却与UCF大相径庭.加之FPGA的应用特性决定了其在接口上有多种构 ...

  9. sdc:基本的时序路径约束

    文章目录 sdc:基本的时序路径约束 1.概念 时序路径 关键路径 路径约束 1.路径2(寄存器到寄存器的路径)约束 2.路径1(输入到寄存器D端)的约束 3.路径3(寄存器到输出端口)的约束 4.路 ...

最新文章

  1. 【机器学习】SVM学习(三):线性分类器的求解
  2. springboot数据访问基本操作步骤
  3. 递归_三要素_基础算法必备
  4. 微软的.NET Core开始支持Raspberry Pi 3
  5. 新版opencv兼容旧版_【标准换版】关于家用和类似用途电器用外置电源适配器、充电器和内置开关电源产品认证执行新版标准的通知...
  6. 通过jQuery把数据库里面的数据进行增删查改
  7. 中国式离婚中,林与宋离婚成为定局的时刻
  8. CentOS 7 之安装 Oracle 11gR2
  9. android Fragment 动画 设置位置
  10. 帆软日期格式转换_日期和时间函数- FineReport帮助文档 - 全面的报表使用教程和学习资料...
  11. 配置eclipse反编译
  12. 易我电脑迁移 2022
  13. jQuery橙色的网页右侧悬浮在线客服代码
  14. 关于DEV-c++ 运行窗口闪退的解决办法
  15. OPENGL中GLAD的代码实现过程
  16. 如何快速入门Spring Cloud
  17. MPB:中科院植物所杨文强组-​莱茵衣藻遗传连锁分析方法
  18. 移动开发者如何获取免费流量
  19. vue h5点击跳转主流手机应用商店app下载页
  20. word文档添加批注

热门文章

  1. 小型机oracle命令,Oracle小型机如何选型
  2. xshell如何运行java_利用Xshell往应用服务器上部署项目
  3. apache php的日志在哪里,PHP在哪里存储错误日志? (php5,apache,fastcgi,cpanel)...
  4. 从qq服务器删除误收邮件,如何恢复从qq邮箱删除的电子邮件
  5. 十七、PHP框架Laravel学习笔记——模型的定义
  6. 一、bootstrap4基础(布局系统、栅格系统、显示与隐藏、对齐与排列、内容排版、代码与图文、表格样式、颜色和边框、工具类)
  7. LeetCode 1630. 等差子数组
  8. LeetCode 1181. 前后拼接(哈希map)
  9. LeetCode 1535. 找出数组游戏的赢家
  10. LeetCode 170. 两数之和 III - 数据结构设计(哈希map)