Chapter5 --Clocks(时钟及虚拟时钟)

2023-10-28

5.3 create_clock

5.3.1 Specifying Clock Period

  • -period选项用于定义时钟周期。时钟周期的单位由库时间单位推导得出,set_units命令可查看SDC文件中使用的单位。

5.3.2 Identifying the Clock Source

在这里插入图片描述

  • creat clock通常在时钟源的设计对象中进行声明。这些源对象可以是端口、引脚或网络。
  • 例如,在图5.4中,源对象可以是端口A、网络N或者触发器的引脚P如果在网络中定义时钟,则要确保网络中有驱动信号(引脚或端口),否则时钟信号将没有信号源。
# Represents the port as clock source
create_clock -period 10 [get_ports A]
OR
# Represents the net as clock source
create_clock -period 10 [get_nets N]
OR
# Represents the pin as clock source.
# Assuming, fl op instance name is FF
create_clock -period 10 [get_pins FF/P]

5.3.3 Naming the Clock

  • 用-name选项可以指定一个字符串作为时钟名称。
  • 当-name选项没有明确指定字符串并且时钟已被声明时,工具将指定自己的名字给时钟信号命名。对于create_clock -period 10 [get_ports A],时钟信号的名称将设定为A。

5.3.4 Specifying the Duty Cycle

  • 时钟信号的占空比用-waveform选项来指定。
  • 如果不指定这个选项,则时钟信号默认的占空比为50% ,这等价于时钟信号占空比为{0 周期/2}。
    在这里插入图片描述
create_clock -period 10-name CLK -waveform {5 10} [get_ports A]

在这里插入图片描述

create_clock -period 10 -name NEW_CLK -waveform {0 7} [get_ports C]

在这里插入图片描述

create_clock -period 10 -name CLK -waveform {3 5 8 9} [get_ports C3]

5.3.5 同源多时钟—More than One Clock on the Same Source

在这里插入图片描述

create_clock -name C1 -period 10 [get_ports CLK]
create_clock -name C2-period 15 [get_ports CLK] -add
  • 需要为同一个源对象中的时钟指定一个-add选项每个时钟信号需要唯一的名称来区分,当使用-add选项时,由于工具不知道如何命名这两个时钟信号(应用于相同源对象),因此需要强制使用-name选项。
  • 当用户在同一个对象中指定多个时钟信号,但是没有指定-add选项时,最后一个时钟定义将覆盖之前的时钟定义。

5.3.6 Commenting the Clocks—注释时钟

  • 从SDC1.9开始,包含create_clock在内的一些SDC指令增加了一个新的选项。该选项为-comment选项。该选项用一个字符串作为变量,主要用于显示时钟信号的文档信息,以帮助理解、复用、增强SDC的可移植性,并不影响综合和时序。
create_clock -period 10 -name clk [get_ports clk] \
-comment “Clock for USB block generated by PLL”

5.4 Virtual Clocks—虚拟时钟

  • 虚拟时钟是指物理上在特定电路单元中不存在的时钟,但它表示影响该电路单元时序的外部触发器。虚拟时钟没有指定的时钟源。
    实际上虚拟时钟可能有时钟源,该时钟源可能是在约束的电路单元外部。
  • 用creat_clock模拟虚拟时钟的时候只有period、waveform和name选项,而没有源对象
  • 在第9章中介绍虚拟时钟如何与set_input_delay和set_output_delay协同工作
create_clock -period 10 -name v_clk -waveform {0 5}

5.5 Other Clock Characteristics

  • 大部分设计都需要多个时钟。为每个时钟信号都设置一个独立的时钟信号发生器是不可行的,因此这就需要利用基本时钟生成多个时钟信号。
  • 当多个时钟信号在设计中交互时,设计者需要模拟时钟信号之间的偏离、延迟、相位关系等特征。这使得时钟信号的描述和分析变成了非常复杂的问题。

5.6 Importance of Clock Specifi cation

  • 通常情况下,大多数路径都是同步路径,这意味着路径的起点和终点都用同一个根时钟触发。因此,当我们定义好一个时钟后,设计中的无数路径就都得到了它们的时序需求。现在我们考虑两个触发器F1和F2,它们都由同一个时钟的上升沿触发。

在这里插入图片描述

  • 在图5.7中,该时钟信号源为CLK端口。我们在此时钟源定义一个周期为10ns的时钟,然后马上就能获得时序需求,数据从F1启动,在10ns内到达F2。我们进一步假设F2是下降沿触发的。时钟信号的占空比为50%,现在F2的有效边沿将在F1有效边沿到达后5ns出现。

  • 因此,该路径的时序需求变为了5ns,而不是10ns。以上两个实例对于时钟规格如何定义两个同步元素之间时序路径的需求提供了一个非常简单的说明。


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Chapter5 --Clocks(时钟及虚拟时钟) 的相关文章

  • C# 串口CRC CCITT-FALSE 校验

    串口CRC CCITT FALSE 校验 public static bool CRC16 CCITT FALSE byte byteData C crc 16 CCITT FALSE 带判断校验的 bool flag false usho
  • 大数据从入门到精通(超详细版)之HDFS安装部署 , 跟着部署 , 真的有手就行 !

    前言 嗨 各位小伙伴 恭喜大家学习到这里 不知道关于大数据前面的知识遗忘程度怎么样了 又或者是对大数据后面的知识是否感兴趣 本文是 大数据从入门到精通 超详细版 的一部分 小伙伴们如果对此感谢兴趣的话 推荐大家按照大数据学习路径开始学习哦
  • 什么是link标签?

    什么是link标签 link标签通常放置在一个网页的头部标签head标签内的用于链接外部css文件 链接收藏夹图标 favicon ico 标签最常见的用途是链接外部样式表 外部资源 link实例 链接外部css样式时候link标签的内容结
  • Android性能优化之内存优化

    前言 成为一名优秀的Android开发 需要一份完备的知识体系 在这里 让我们一起成长为自己所想的那样 内存优化可以说是性能优化中最重要的优化点之一 可以说 如果你没有掌握系统的内存优化方案 就不能说你对Android的性能优化有过多的研究
  • OpenHarmony鸿蒙 润和Pegasus套件样例--智能安防

    润和Pegasus套件样例 智能安防 该样例展示OpenHarmony智能安防项目 当温度传感器超过设定值后 或者烟雾传感器检测到烟雾时 会触发蜂鸣器工作 同时通知到HarmonyOS手机上的APP 下载源码 建议将本教程的设备源码下载后
  • 小白入门——“贪吃蛇”的C语言实现(详细)

    C语言实现 编译环境VS 附 easyx图形化 文章末尾 效果图如下 有一些函数kbhit getch 在这表示为 kbhit与 getch 不同编译器原因 注意在Dev等集成开发软件下可能会CE o o 一 引言 作为一个小白 相信大家的
  • 个人工作失误复盘

    今天 同门突然指出了我在去年10月做一项代码测试工作时犯的错误 当时 我的任务是测试某论文中新发布的图像配准算法在我们的航拍图像配准任务上的效果 以便决定是否在其上进行改进 我按照readme文件中的指引下载了预训练权重 并按照项目代码中给
  • 接口自动化测试环境搭建(unittest+requests+HTMLTestRunner)

    该自动化测试框架基于python单元测试框架unittest 使用HTMLTestRunner来生成测试报告 使用Requests xlrd 和 xlwt等库 一 安装python运行环境 安装包官方下载地址 https www pytho
  • GAN+pytorch实现MNIST生成

    背景知识 GAN 原理可以在这里查看 GAN入门简介 pytorch 一个深度学习的框架 关于环境配置有问题 可以在这里查看 从零开始机器学习 代码实现 本文实现最简单的例子 利用GAN生成MNIST的数字 代码如下 导入包 matplot
  • 麦昆PLUS V2-适合中小学STEAM教学的机器人套件

    著名开源硬件商DFRobot推出的最新版本机器人套件麦昆Plus V2来了 它非常适用于中小学STEAM机器人教学 和麦昆LITE相比 麦昆plus V2的优势有哪些 和麦昆LITE相比 具有丰富的扩展接口 充足的电力供应 宽大的机身 麦昆
  • 基于U-Net的递归残差卷积神经网络在医学图像分割中的应用

    转载 版权声明 本文为博主原创文章 遵循 CC 4 0 BY SA 版权协议 转载请附上原文出处链接和本声明 本文链接 https blog csdn net weixin 45723705 article details 10709748
  • Ubuntu18.04~Ubuntu22.04安装并配置VNC

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 一 VNC是什么 二 系统环境 1 前提 2 打开Share开关 3 安装x11vnc 4 测试 1 使用方法 2 重要补充 总结 前言 有些操作需要Desk
  • OpenCV_车辆检测实战

    前言 总纲请看 计算机视觉学习路 1 去除背景 createBackgroundSubtractorMOG2 history 200 代表预存多少视频帧 根据这些帧里面静止的东西判断背景 可以看到树叶形成了很多噪点 所以需要在去除背景前先去
  • 使用create-react-app创建React项目

    目录 环境 开发工具 创建 简单的配置 1 安装craco插件 2 修改package json配置文件 3 重写webpack配置文件 参考 简单记录一下使用create react app创建React项目 使用craco进行了简单的配

随机推荐

  • 如何在 magento 2 中以编程方式清理或刷新缓存?

    如何在 magento 2 中以编程方式清理或刷新缓存 在开发的情况下 开发人员或商家的请求 需要以编程方式清除 刷新缓存 如果您在 Magento2 中以编程方式清除缓存时遇到问题 本文适合您 今天 我们将向您展示如何以编程方式清除缓存
  • uboot 移植计划

    将uboot nandflash 包括ecc 驱动起来 把ethernet驱动起来 然后用mmc boot gt tftp nandflash uboot 到nandflash中去 然后uboot就移植ok了 以后就使用nandflash中
  • get 和 post的区别

    get和post的区别 第一 get和post都是http请求 第二 get请求指定页面的信息 并返回实体主体 get是从服务器获取数据资源 post一般用于修改 更新 服务器上的的资源 是从服务器传送数据 get通过地址栏来传值 post
  • Mysql复制表中数据给另一张表

    个人简介 个人主页 摸鱼 文酱博客主页 博客领域 java编程基础 mysql 写作风格 干货 干货 还是tmd的干货 精选专栏 Java mysql 算法刷题笔记 博主的码云gitee 平常博主写的程序代码都在里面 支持博主 点赞 收藏
  • anaconda创建、删除虚拟环境指令

    使用 c o n d a 创建 删除虚拟环境指令
  • 动态分区、虚拟内存、分页存储、分段存储 简介

    动态分区的特点 分区的个数和大小可变 存在内存碎片 动态分区 就是动态的判断某一块的内存空间能否存储 不会找到刚刚好的 一般都是能放进去就放了 其他剩下的区域 又交给其他程序进行存储 然后几轮下来 就会存在很小的空间 无法利用 这就是内存的
  • OAuth基础介绍

    什么是OAuth OAuth是为解决应用之间 网站之间互相访问的一种简单 标准 安全的API授权协议 官网对其的定义 An open protocol to allow secure API authorization in a simpl
  • 面试题 03.02. 栈的最小值-辅助栈做法

    面试题 03 02 栈的最小值 请设计一个栈 除了常规栈支持的pop与push函数以外 还支持min函数 该函数返回栈元素中的最小值 执行push pop和min操作的时间复杂度必须为O 1 示例 MinStack minStack new
  • 计算梯度的三种方法: 数值法,解析法,反向传播法

    coding gbk function f x y z x y z first method 解析法 def grad1 x y z dx z dy z dz x y return dx dy dz second method 数值法 de
  • List接口及其实现类

    List接口 鉴于Java中数组用来存储数据的局限性 我们通常使用List替代数组 List集合类中元素有序 且可重复 集合中的每个元素都有其对应的顺序索引 List容器中的元素都对应一个整数型的序号记载其在容器中的位置 可以根据 序号存取
  • Linux无法连通外网情况下缺少依赖(CentOS7环境)

    在有外网的情况下 可以用yum很容易的完成服务及其相关依赖的安装 而由于客户要求 导致生产服务器上无法连通外网 于是在搭建生产环境的时候 由于外网不通 导致缺少依赖的问题频频出现 现将解决此类问题的方法归纳如下 直接下载 此方法适用于缺少单
  • GD32F103调试小记(二)之USART(接收中断、接收空闲中断+DMA、发送DMA)

    前言 上篇文章摸完了GD32F103调试小记 一 之ADC DMA 接下来摸下GD32的USART DMA 数据的搬运工 CPU的好助手 USART 一种串行通信协议 说白了就是让两根线按照一定的规律去切换高低电平 根据一个单位时间内高低电
  • Linux基础—系统结构介绍(一)

    一 系统结构由内核 shell 文件系统 应用程序一起组合而成的文件操作系统 它们使得用户可以运行程序 管理文件 资源调度 计算 1 Linux 内核由如下几部分组成 SCI 层系统调用接口 虚拟文件系统 内存管理 进程管理 设备驱动程序
  • Ubuntu下 Hyperledger Farbic 环境配置

    Hyperledger Farbic Hyperledger作为IBM旗下主推的区块链 是首个面向企业的开放区块链技术的重要探索 现阶段也推出了1 0稳定版本 虽然IBM也有相关的配置文档 并且完善度十分高 但是依旧有些坑点 配置目录 以下
  • 人脸检测算法YuNet再次提升,参数量降至54K

    我们的人脸检测项目libfacedetection是2015年创建的开源项目 算法模型为YuNet 已经持续维护8年至今 在GitHub上已经获得11 7K星 欢迎大家三连 使用 反馈和建议 2022 2023年我们对训练部分进行了大幅改进
  • 让安全动起来

    山石网科带你 分分钟拿下靶标 一 信息收集 信息收集是整个攻击流程当中最重要的一步 从 web 入手 首先需要收集子域名 可以通过枚举的方式收集子域名 例如经典的 layzer子域名挖掘机 另外还可以通过搜索引擎收集子域名 例如 fofa
  • js对数据进行加密(账户密码加密)@莫成尘

    先看代码 复制使用即可 这是一个比较常用的场景我们借助了 crypto es gt vue3 crypto es gt vue2 库 如您满意请给莫成尘点个star 将他封装为单独的js文件 import CryptoJS from cry
  • Fabric CA国密版本的一种替代方案--使用cryptogen工具增加新用户

    在Fabric超级账本中 如果我们想动态增加用户发行证书 一般会使用Fabric CA或者其它CA 然而在国密改造场景中 当前缺乏可用的开源的Fabric CA国密版本 因此 笔者研究了一下 发现了一种可不使用CA直接使用cryptogen
  • 7-2 交换最小值和最大值 (15分)

    7 2 交换最小值和最大值 15分 本题要求编写程序 先将输入的一系列整数中的最小值与第一个数交换 然后将最大值与最后一个数交换 最后输出交换后的序列 注意 题目保证最大和最小值都是唯一的 输入格式 输入在第一行中给出一个正整数N 10 第
  • Chapter5 --Clocks(时钟及虚拟时钟)

    文章目录 5 3 create clock 5 3 1 Specifying Clock Period 5 3 2 Identifying the Clock Source 5 3 3 Naming the Clock 5 3 4 Spec