SDC设计约束——IO延时约束

2023-11-07

原文链接:https://juejin.cn/post/7123461617299226660

约束命令

set_input_delay -clock CLK -max 2.0 [get_ports IN]
set_input_delay -clock CLK -min 2.0 [get_ports IN]
set_output_delay -clock CLK -max 2.0 [get_ports OUT]
set_output_delay -clock CLK -min 2.0 [get_ports OUT]

标题附加问题:input delay 和setup time之间大概的数量关系是?(以下来源网络)

  1. 如果是block的input和output delay,可以预先分配,比如输入端,输出端各1/3,中间的连接1/3。
  2. block的端口最好都flop-in,flop-out
  3. 如果是chip IO,要考虑其他芯片的IO时序和电路板上面的延迟,比较麻烦
  4. set_input_delay/set-output_delay是设置外面的delay,从而保留芯片内部的IO delay来约束input io到flop和flop到output io的delay。一般紧约束为外面留70%,里面留30%,但实际上有些port要调整,不是每个port都需要一样的值。
set_input_delay [expr 0.7*$clkperiod] -clock $clk [all_valid_inputs]
set_output_delay [expr 0.7*$clkperiod] -clock $clk [all_outputs]

对input delay的理解

在这里插入图片描述

从上图可以看出, 我们所要定义的输入延时是指被综合模块外的寄存器触发的信号在到达被综合模块之前经过的延时, 在上图中就是外围触发器的clk-q的延时加上M电路的延时。当确定这段延时之后, 被综合模块内部的电路延时的范围也可以确定下来了。 假如时钟周期是 20ns,输入延时是 4ns,内部触发器的建立时间为 1.0ns,那么就可以推断出要使电路正常工作, N 电路的延时最大不能超过 20-4-1.0=15.0 ns。

set_input_delay -clock CLK -max 4 [get_ports A]

如上面的语句指出了被综合模块的端口 A 的最大输入延时为 4ns。 -max 选项是指明目前设置的是输入的最大延迟,为了满足时序单元建立时间的要求。

另外还有一个选项是-min, 它是针对保持时间的约束使用的。 -clock 是指出这个端口受哪个时钟周期的约束。

对于输入延时input delay,最大值应当是Tperiod-(TNmax+Tsetup),其中TN是上图中从input io到flop之间的组合逻辑电路N的延时,因为要满足建立时间的要求如下:

input delay+ TNmax+Tsetup < Tperiod
input delay < Tperiod - (TNmax+Tsetup)

最小值应该是Thold-TNmin,因为要满足保持时间的要求如下

input delay + TNmin > Thold
input delay > Thold - TNmin

标题对output delay的理解

在这里插入图片描述
The delay_value represents the amount of time that the signal is required before a clock edge. For maximum output delay, this usually represents a combinational path delay to a register plus the library setup time of that register. For minimum output delay, this value is usually the shortest path delay to a register minus the library hold time.

对于输出延时output delay,规定的是被综合模块输出信号到达外围电路触发器D端所用的延时。
output delay最大值是组合逻辑电路(上图中T电路)延时最大值加上目标触发器的setup time,因为必须满足目标触发器的setup要求,在data required time之前到来,即

Tco + Ts + max output delay < Tperiod
Tco + Ts+ (TTmax+Tsetup) < Tperiod

所以有

max output delay = TTmax+Tsetup

output delay最小值是组合逻辑电路(上图中T电路)延时最小值减去目标触发器的hold time,相当于

Tco+Ts+TTmin>Thold
Tco+Ts+(TTmin-Thold)>0

所以有

min output delay = TTmin - Thold

在这里插入图片描述

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

SDC设计约束——IO延时约束 的相关文章

  • 和你一起从零开始写RISC-V处理器(1)

    RISC V加法指令的实现 文章目录 RISC V加法指令的实现 前言 一 RISC V简介 二 指令实现的前期准备 1 指令 2 ADD指令和ADDI指令 3 三级流水线结构 4 一个需要注意的点 5 再来一个需要注意的点 6 环境搭建
  • 认识计算机性能指标

    计算机性能指标 存储器的容量 MAR 的位数反应存储单元的数量 MDR 的位数反应每个存储单元的大小 cpu性能指标 高电平1代表1个数字脉冲 低电平0也代表1个数字脉冲 1个cpu时钟周期 1个数字脉冲信号 通常单位微秒 纳秒 cpu主频
  • 基于Zynq FPGA对雷龙SD NAND的测试

    文章目录 一 SD NAND特征 1 1 SD卡简介 1 2 SD卡Block图 二 SD卡样片 三 Zynq测试平台搭建 3 1 测试流程 3 2 SOC搭建 四 软件搭建 五 测试结果 六 总结 一 SD NAND特征 1 1 SD卡简
  • VCS+MATLAB联合仿真

    原文链接 https www youtube com watch v ujSBTA3v8eA 算法工程通常会用Matlab来建模 Digital designer会将Matlab model 作为golden model 进行设计和验证 面
  • 《硬件架构的艺术》笔记(二)

    时钟和复位 2 1 同步设计 2 1 1避免使用行波计数器 用触发器来驱动其他触发器的时钟输入端 一般会存在问题 由于第个触发器时钟到g的延而使第二个触发器的时钟输入产生偏 而且不能在每个时钟边沿都激活 用这种方式连接两个以上的触发器就会形
  • AD从原理图到PCB超详细教程

    AD超详细教程 前言 一 建立一个工程模板 二 原理图 1 设计原理图 2 使用AD自带库和网上开源原理图库 3 画原理图库 4 编译原理图 三 PCB 1 确定元器件尺寸大小 2 绘制PCB Library 使用元器件向导绘制元件库 原理
  • RJ45网口座子上的LED接法详解

    搞硬件的朋友 经常免不了会用到RJ45网口座子 但是你会发现在许多参考设计中 RJ45上的LED接线方式经常各不相同 许多朋友可能并不是很在意这个 认为只要网络通了就行 此外在进行物料替换的时候 通常也只是关注4对差分信号的连接方式 并不怎
  • Tutorial: Low Power Design, Verification, and Implementation with IEEE 1801™ UPF™

    Tutorial Low Power Design Verification and Implementation with IEEE 1801 UPF Presented at DVCon 2013 on February 25 2013
  • 【Xilinx DMA SG】Xilinx DMA SG 模式

    DMA简介 AXI 直接存储器访问 AXI DMA IP 提供高带宽直接存储器 AXI4 存储器映射和 AXI4 Stream IP 接口之间的访问 它SG模式还可以从中央处理中卸载数据移动任务 基于处理器的系统中的单元 CPU 初始化 状
  • 从计组和操作系统详解IO控制方式

    IO控制方式 实际上IO在操作系统和计组里面都有讲到 这两个内容各有侧重 又有很大的重合 这里就整理一下 操作系统里面就讲了一下基本的过程 计组还讲了各个接口电路 1 直接程序控制方式 直接程序控制方式由用户进程直接控制主存或 CPU 和外
  • uvm message printing mechnism

    原文链接 http www sunburst design com papers CummingsSNUG2014AUS UVM Messages pdf 本文主要介绍了如何控制消息打印的等级 以及禁止消息打印等
  • TYPE-C接口引脚详解

    Type C口有4对TX RX分线 2对USBD D 一对SBU 2个CC 另外还有4个VBUS和4个地线 1 当Type C接口仅用作传输DP信号时 则可利用4对TX RX 从而实现4Lane传输 这种模式称为DPonly模式 2 Typ
  • 【Xilinx Vivado时序分析/约束系列5】FPGA开发时序分析/约束-IO时序分析

    在之前介绍的是FPGA内部的时序分析 包括以下几种情况 寄存器与寄存器之间 输入PAD 输入时钟 与寄存器之间 寄存器与输出 PAD 输出时钟 之间 输入PAD 输入时钟 与输出PAD 输出时钟 现在就开始分析FPGA与外部的其他器件的连接
  • ARMv8-A 地址翻译技术之MMU的前世今生

    MMU的重要性不言而喻 支撑操作系统之上的各种复杂应用 但在正式讲MMU之前 我们先说说MMU的发展史 因为ARMv8 A的MMU相当复杂 直接切入正题 会显得比较枯燥 废话不多说 咱们马上开始 一 前言 关于虚拟内存系统的演变史 MMU在
  • 路由器02---PandoraBox配置

    1 安装libc 什么是libc 这里贴一个gnu官方的解释 Any Unix like operating system needs a C library the library which defines the system cal
  • 从零开始设计CPU——DEILT_RISCV

    目录 前言 相关资料参考 Deilt RISC Introduction 1 feature 2 Architecture 3 工程目录文件说明 4 仿真编译环境及工具 进程 2023 03 01 2023 03 08 03 13 2023
  • 汇编:表格显示(含多个子程序)

    代码如下 assume cs code data segment db 1975 1976 1977 1978 1979 1980 1981 1982 1983 db 1984 1985 1986 1987 1988 1989 1990 1
  • UVM实战——01基本概念_2 什么是UVM?

    什么是UVM 1 什么是UVM 2 UVM的特点 3 UVM提供的资源 3 1 编程指导 3 1 1 理念 3 1 2 功能 3 2 验证组件 3 3 验证激励 3 4 通信机制 3 5 宏 1 什么是UVM UVM Universal V
  • 程序的链接

    程序的链接是一个非常实际的问题 他建立在很实际的问题之上 不从程序员的角度去思考问题 则是从软件的角度去思考如何复用错综复杂的代码 因为 这个问题的本质是我们没有给底层的硬件一个完整的可按顺序执行的程序 我们在前几章虽然讨论了指令流的问题
  • 计算机组成与设计:硬件/软件接口,第二章详细梳理,附思维导图

    文章目录 二 指令 计算机的语言 章节导图 一 MIPS概述 计算机的组成 MIPS的设计思想 MIPS 32中的通用寄存器 二 三类汇编指令

随机推荐

  • 图形图像基础 之 jpeg介绍

    一 概念 jpeg相关概念简介 jpeg 一种影像有损压缩标准方法 后缀jpg jpeg JPEG Joint Photographic Experts Group 联合图像专家小组 是一种针对照片影像而广泛使用的有损压缩标准方法 面向连续
  • 【报错】onMounted is called when there is no active component instance too be associated with.

    文章目录 报错 分析 解决 报错 onMounted is called when there is no active component instance too be associated with Lifecycle injecti
  • 统计分析:聚类分析(详细讲解)

    聚类分析是研究 物以类聚 的一种方法 人类认识世界往往首先将被认识的对象进行分类 早起人们主要靠经验和专业知识实现分类 但随着生产技术和社会科学的发展 对分类学的要求越来越高 靠经验和专业知识来分类越来越难 于是数学这一有力工具被引入分类学
  • textarea接受后台数据

    在jsp页面使用EL接受后台数据到textarea
  • mybatis-plus-generator生成实体类时添加jdbcType

    效果 需要修改的文件 1 基本思路 1 使用变量 useJdbcType 控制是否需要生成jdbcType 2 生成时拼接相关字段信息 2 步骤 2 1重写TableField 添加jdbcType属性 在com baomidou myba
  • rollup怎么处理.node文件

    Rollup 是一个 JavaScript 模块打包器 它可以将多个模块合并成单个文件 它可以帮助你将你的代码打包成可以在浏览器中运行的文件 要使用 Rollup 处理 node 文件 你需要使用一个 Rollup 插件 如 rollup
  • 数据挖掘基础

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 一 数据挖掘定义及用途 1 定义 2 用途 二 决策树 1 理论知识 1 概念 2 算法一般过程 C4 5为例 2 小结 三 关联规则 1 概述 2 关联分析
  • MySQL之多表关联删除/更新

    日常测试的时候 需要连接其他表而删除某些脏数据 按照正常的查询的写法 会这样写删除语句 DELETE from order where id in SELECT o id from order o LEFT JOIN customer c
  • minicom键盘失效,不能输入问题

    转 http blog sina com cn s blog 5d0e8d0d01015svy html 这个问题可以参考secureCRT的时候遇到的问题 问题与minicom的一样 RTS 请求发送 CTS 清除发送 默认情况下mini
  • vue3配置proxy解决跨域

    跨域问题是前端开发中较常见的问题 因为javascript的浏览器会支持同源策略 如果域名 协议 端口任意不同就会产生跨域 如果非同源 那么在请求数据时 浏览器会在控制台中报一个异常 提示拒绝访问 错误信息如下 Access to XMLH
  • Linux常用命令整理(适合初学)

    关机 重启操作 帮助文档 1 帮助命令 1 1 help help cd 查看cd命令的帮助信息
  • 服务器推送消息SSE,HTTP 服务器消息推送之SSE

    HTTP 服务器推送也称 HTTP 流 是一种客户端 服务器通讯模式 它将信息从 HTTP 服务器异步推送到客户端 而无需客户端请求 如今的 web 和 app 中 愈来愈多的场景使用这种通讯模式 好比实时的消息提醒 IM在线聊天 多人文档
  • 将字符串转化为整数

    Java内部实现 param s the code String containing the integer representation to be parsed param radix the radix to be used whi
  • unet测试评估metric脚本

    全部复制的paddleseg的代码转torch import argparse import logging import os import numpy as np import torch import torch nn functio
  • 第十三届蓝桥杯 2022年省赛真题(Java 大学C组)

    蓝桥杯 2022年省赛真题 Java 大学C组 目录 试题 A 排列字母 试题 B 特殊时间 试题 C 纸张尺寸 试题 D 求和 试题 E 矩形拼接 试题 F 选数异或 试题 G GCD 试题 H 青蛙过河 试题 I 因数平方和 试题 J
  • 43 openEuler搭建Apache服务器-配置文件说明和管理模块

    文章目录 43 openEuler搭建Apache服务器 配置文件说明和管理模块 43 1 配置文件说明 43 2 管理模块和SSL 43 2 1 概述 43 2 2 加载模块 43 2 3 SSL介绍 43 openEuler搭建Apac
  • 浅谈(Java)JUC线程池ScheduledThreadPoolExecutor

    博主介绍 程序员悟啦 乌拉 个人仓库 码云 座右铭 懒 对一个人的毁灭性有多大 早起的重要性就多大 免责声明 文章由博主原创 部分文章整理于网络 仅供学习和知识分享 相遇是缘 既然来了就拎着小板凳 坐下来一起唠会儿 如果在文中有所收获 请别
  • 《银行法律法规》二、银行业务——3、结算、代理、托管业务

    第三章 结算 代理及托管业务 第一节 支付结算业务 考点1 国内结算 支付结算 是指结算客户之间由于商品交易 劳务供应等经济活动而产生的债权债务关系 通过银行实现资金转移而完成的结算过程 支付结算是银行的一项基础性服务 支付结算应遵循恪守信
  • 《北京市政务服务领域区块链应用创新蓝皮书(第一版)》正式发布

    为加快推动区块链技术和产业创新发展 北京市政务服务管理局 北京市科委 北京市经济和信息化局组织相关单位抓紧推进政务服务领域区块链应用建设 取得阶段性成果 在此基础上 北京市区块链工作专班专家组编制了 北京市政务服务领域区块链应用创新蓝皮书
  • SDC设计约束——IO延时约束

    原文链接 https juejin cn post 7123461617299226660 约束命令 set input delay clock CLK max 2 0 get ports IN set input delay clock