首页 > 其他分享 >(9)逻辑综合添加约束(时序、DRC)

(9)逻辑综合添加约束(时序、DRC)

时间:2024-07-06 21:52:26浏览次数:8  
标签:端口 约束 添加 寄存器 DRC 时序 延迟

一、前言

  dc综合是一个不断迭代的过程,如果设计的RTL代码不满足时序约束的需求,则需要重新进行修改,然后再去综合,一直迭代到时序满足需求。

二、面积约束

  面积约束指令:set_max_area 100

  面积约束的定义有三种,一种指的是两输入与非门的个数,一种是晶体管的个数,第三种是平方微米(实际面积)

三、时序路径约束

  目标:约束电路中的所有时序路径

  四种路径:输入到寄存器;寄存器到寄存器;寄存器到输出;输入直接到输出的路径

  get_ports:设计中的时钟端口,使用create_clock定义了时钟的周期10ns

  get_ports A:将输入延迟施加在A端口上

  max:该端口最大的延迟是多少(最大延迟通常用来计算建立时间)

  clock:该端口的延迟是针对哪个时钟域

  例:待综合的电路为右边红框中的电路,如何对其进行时序约束?

/*********************************************************************/

四、DRC约束

五、一个具体的tcl脚本

  注意这里dont_touch和理想网络的区别,dont_touch是让dc不综合

 

标签:端口,约束,添加,寄存器,DRC,时序,延迟
From: https://www.cnblogs.com/liwilling/p/18287980

相关文章

  • YOLOv8改进 | Conv篇 | 添加DiverseBranchBlock多元分支模块(有效涨点,重参数化模块高效
    鱼弦:公众号【红尘灯塔】,CSDN博客专家、内容合伙人、新星导师、全栈领域优质创作者、51CTO(Top红人+专家博主)、github开源爱好者(go-zero源码二次开发、游戏后端架构https://github.com/Peakchen)YOLOv8改进|Conv篇|添加DiverseBranchBlock多元分支模块(有效涨点,重参数......
  • ArcPy|使用ArcPy实现区域统(ZonalStatisticsAsTable)计并将统计结果添加到原有要素的属
    ArcPy|使用ArcPy实现按区域统计并将统计结果添加到原有要素的属性表​ 使用ArcPy快速实现按区域统计,并将统计结果添加到原有属性表,因为ArcPy的接口中并没有直接添加这一选项,这里是选择输出了一个中间dbf文件,再将中间dbf文件与原有要素连接来实现。#-*-coding:utf-8-*-"""P......
  • 提取时序数据的趋势、季节性以及残差
     一天的光滑数据sub=[199.68,187.16,173.97,159.85,146.92,135.29,125.04,114.86,105.85,97.93,90.6,84.19,78.37,72.85,68.93,66.59,62.19,58.59,54.15,50.26,47.16,44.14,41.62,38.99,36.84,34.9,33.32,32.75,33.1,32.49,31.49,30.13,28.......
  • 【BP时序预测】基于布谷鸟优化算法CS实现负荷数据预测单输入单输出附matlab代码
    %负荷数据预测单输入单输出(BP时序预测)%使用布谷鸟优化算法实现%假设你已经有了输入数据和对应的输出数据%输入数据应该是一个矩阵,每一行代表一个样本,每一列代表一个特征%输出数据应该是一个列向量,每个元素代表对应样本的输出%设置布谷鸟优化算法参数max_iter=......
  • 【Dison夏令营 Day 10】如何为 Python 游戏添加音效
    音效可以为游戏中的动作和事件提供音频反馈,从而大大增强游戏体验。在本教程中,我们将学习如何使用Pygame库为Python游戏添加音效。安装和设置开始之前,请确保已安装Python和Pygame。如果尚未安装Pygame,可以使用pip进行安装:pipinstallpygame基本功能让我们先......
  • Laravel 宏指令(Macro)动态添加自定义方法到Laravel的核心组件中
    Laravel宏指令(Macro)在Laravel中,宏指令(Macro)是一种灵活的方式,允许您动态添加自定义方法到Laravel的核心组件中,如模型、查询构建器、集合等,以便在不改变核心代码的情况下扩展框架的功能。通过宏指令,您可以向Laravel内置的类添加自定义方法,实现更高级的功能和逻辑。福利彩......
  • c++中添加显示字体为中文
    sudoapt-getinstalllibfreetype6-dev安装上面的东西然后创建一个cmake同级下创建一个cvxtext文件夹并且创建cvxtext.h#ifndefOPENCV_CVX_TEXT_HPP_#defineOPENCV_CVX_TEXT_HPP_#include<freetype2/ft2build.h>#includeFT_FREETYPE_H#include<opencv2/opencv......
  • 实现了对图像的亮度、对比度、饱和度的调整以及添加高光效果
    读取原始图像:使用cv2.imread()函数从指定路径读取一张图片,并将其存储在变量image中。创建光照掩模:生成一个与原图大小相同但完全黑色的图像(使用np.zeros_like()),这将作为后续光照效果的基础。定义光照中心点:确定光照效果的中心位置,默认为图像的几何中心。创建圆形光照区......
  • 从时序数据中提取特征分量
     原始数据importmatplotlib.pyplotaspltfrommatplotlibimportfont_managerfname="/usr/local/python3.6/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf/simhei.ttf"zhfont=font_manager.FontProperties(fname=fname)plt.figure(figsize=(......
  • 计算时序数据的周期性
    构造时序数据importnumpyasnpimportmatplotlib.pyplotasplt#设置参数period=128num_cycles=5total_length=period*num_cycles#生成周期性信号(正弦波形)np.random.seed(42)time=np.arange(0,total_length,1)signal=10*np.sin(2*np.pi*time......