synopsys-SDC第二章——综合的基础知识

2023-11-15


前言

学习了FPGA和数字IC已经有一段时间了,但是对于SDC和STA整体性的学习还是不足,准备趁过年这段时间好好学习,记录一下。


一、综合是什么?

综合是指完成特定功能的门级网表的实现。除了功能,综合可能还要满足功耗频率面积的需求。
此外,针对特定功能电路还会有专门的综合工具。如:

  • 时钟树综合
  • 数据路径综合
  • 逻辑综合

通常我们称的综合就是逻辑综合,常用工具是DC(design compile)

二、时序约束在综合中的作用

1.优化

对HDL代码来说,综合过程第一目标是实现所需功能,但是还需要对其它问题进行评估和分析,如:

  • 面积:实现同样功能的面积所需越小越好
  • 功耗:实现同样功能的功耗越小越好
  • 性能:实现同样功能的频率越高越好

并且,上述问题中的每一个可能都会影响到其它两个,并且大多数时候是负面影响
例如:如果需要更好的运行频率,那么综合阶段就需要使用更高驱动的cell,那么就会带来更大的面积****和更高的功耗
所以约束的功能就是将设计需要的面积、功耗、主频要求传递给综合工具。当工具能完成目标要求后,就不再进行优化。

2.输入重排序

在这里插入图片描述
如果实现一个 y=a&b&c&d 的功能,最简单的实现方法如上图,使用3个与门。
但是如果信号d是输入最晚的,那么可以等实现完 a&b&c 再和d相与,如下图所示:
在这里插入图片描述

  • 所以综合工具的第二个功能就是根据组合逻辑中不同输入的到达时间,选择更优的设计,使得最后到达的信号经过最少的逻辑电路
  • 而约束用来向工具传递信号到达时间的信息

3.输入缓冲

驱动可以认作是载流能力,越高的驱动意味着输出切换越快,并且可以连接更多负载

在这里插入图片描述
如果有一个驱动能力不足的输入信号,期望直接驱动9个fanout,那么像上图一样直接连接负载的方式就不可行。

在这里插入图片描述
如果使用3个缓冲器来加强驱动能力,这样input信号只驱动3个负载,而每个缓冲器再驱动3个负载,这样可以大大减轻信号的负载压力

所以,约束的第三点功能是,传递给综合工具驱动外部负载的驱动能力,让工具可以决定放置多少缓冲器

  • 输出缓冲也是类似功能。

三、综合中其它问题

  • 设计划分:由于现在的top-down设计结构,导致一个电路被划分成多个模块,这样约束也被划分成多个,需要分别编写各个模块之间接口的约束。
  • 更新约束:在实际开发中,可能会出现改变子模块a的约束,导致b的约束不满足;当修改b至满足后,c、d、e都不满足,这就导致了约束蠕变的现象
  • 多时钟设计:在处理器的多核设计中,可能有不同核使用不同主频的现象,需要避免用低频约束来设计高频核心




搜索关注我的微信公众号【IC墨鱼仔】,获取我的更多IC干货分享!
在这里插入图片描述

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

synopsys-SDC第二章——综合的基础知识 的相关文章

  • 前端性能优化

    页面的性能指标 DCL DOMContentLoaded DOM解析完毕 FP First Paint 表示渲染出第一个像素点 FP一般在HTML解析完成或者解析一部分时候触发 FCP First Contentful Paint 表示渲染

随机推荐

  • element-ui table分页/筛选后保留勾选项

    在使用elementui中的table时 有时会涉及到勾选完数据切换页数或者使用搜索框搜索后已勾选数据消失 而elementul有个属性可以处理这个情况 reserve selection和row key搭配使用 使用步骤 在table上加
  • Android安卓webview,网页端生成安卓项目(极速生成)教程

    Android安卓webview 网页端生成安卓项目 极速生成 教程 一 前言 当自己做了一个PC端的页面 也就是前端的页面 或者已经上服的页面 但也想生成一个安卓端供用户使用 本教程详细讲解如何把前端html页面或者链接生成安卓端项目 本
  • 蓝桥杯青少C++省赛备赛指南和真题详解

    蓝桥杯大赛是工业和信息化部人才交流中心举办的全国性专业信息技术赛事 已经成功举办了13届 历时14年 蓝桥杯大赛首席专家倪光南院士说 蓝桥杯以考促学 塑造了领跑全国的人才培养选拔模式 并获得了行业的深度认可 随着蓝桥杯加入国家白名单赛事 含
  • STM32传感器外设集--超声波模块(HC_SR04)

    目录 1 器件介绍 1 1 参数 1 2 测量范围 1 3 计算公式 1 4 优点 2 1 原理 3 代码编写 3 1 接线图 3 2 代码 3 2 1 HC SR04 h 3 2 2 HC SR04 c 3 2 3 timer h 3 2
  • 电子密码锁

    摘要 数字密码锁是二十一世纪制锁业的一次革命 密码锁的特点是不用钥匙 无锁孔 机械传动 不易损坏 不磨损 不易被破译 可多次更换密码 换号不换锁 一把锁多个密码 具有防拨 防砸 防撬 防堵等功能 安装门锁时不破坏原门的结构 避免用钥匙开启旋
  • DAP组件外部服务开发说明

    DAP数据分析平台主要是为了满足企业数据分析的需要而开发的一款产品 不同于一般的BI平台 DAP数据分析平台更侧重数据的聚合 平台预置有数据源注册 ODS注册与管理 数仓配置与数据聚合 从而实现企业业务数据的统一 构建企业统一的 标准的 完
  • 每日英语--Week15

    文章目录 一 First Day 二 Second Day 三 Third Day 四 Fourth Day 五 Fifth Day 一 First Day 例句 It has been a crazy year for you Like
  • include的路径说明 VS C++ 路径中\\与/

    https www cnblogs com yliu archive 2011 06 16 2082370 html 这篇文章言简意赅的描述了不同写法的路径差异 C 路径中 与 1 windows默认使用 2 linux默认使用 3 可以都
  • Ubuntu下在pycharm中下载库出现ModuleNotFoundError: No module named 'distutils.core'

    根据pycharm项目选择的python版本 python2命令端执行 sudo apt get install python pip python3命令端执行 sudo apt get install python3 pip
  • 为什么公司在对数据库的数据进行删除操作的时候都建议软删?

    我们平时在建表的时候 相信大家有时候会被告知再添加一个额外的字段来判断当前记录是否需要使用 也就是软删 我在公司也是严禁删除数据 只能使用软删 我刚开始也是以为是防止误删或者有一个记录留存 但是其实我们每个操作都会记录操作日志的 所以真实目
  • go-fastdfs

    go fastdfs是一个基于http协议的分布式文件系统 它基于大道至简的设计理念 一切从简设计 使得它的运维及扩展变得更加简单 它具有高性能 高可靠 无中心 免维护等优点 使用文档 安装 查找镜像 docker search go fa
  • vue input双向绑定赋值,input有值不显示,出现一个提示

    vue input双向绑定赋值 input有值不显示 出现一个提示 The specified value wxssdd23u992 cannot be parsed or is out of range at view umd min j
  • 区块链技术简介

    前言 本文是对区块链技术的简介总结 如果要对区块链技术详细了解和学习 可参考廖雪峰老师的区块链教程 1 1什么是区块链 技术角度 定义 区块链 Blockchain 是一种由多方共同维护 使用密码学保证传输和访问安全 能够实现数据一致存储
  • 统一枚举,对外提供一劳永逸的访问接口

    枚举实体类 date 2019 12 12 public class EnumModel private int code public String name public int getCode return code public v
  • 华为OD机试 Python 【查字典】

    题目 描述 给你一个 头 就是词的开始部分 和一个单词清单 你需要找出哪些单词是以这个 头 开始的 输出 所有以这个 头 开始的单词 每个单词一行 如果一个都没有 输出 1 输入 abc 4 a ab abc abcd 输出 abc abc
  • centos发现网络连不上了,重启网络服务报错“systemctl status network.service” and “journalctl -xe” for details. [失败]

    打开虚拟机centos系统的时候发现网络连不上了 重启网络服务失败报错 Restarting network via systemctl Job for network service failed because the control
  • Android底部导航栏的四种实现

    现在大多数App都会用到底部导航栏 比如常见的聊天工具QQ 微信 购物App等等 有了底部导航栏 用户可以随时切换界面 查看不同的内容 它的实现方式也很多 以前大多使用TabHost来实现 但是现在我们有很多更好的选择 使用LinearLa
  • 查找学生信息(Java)

    主要是通过学生学号查找这个学生学生的所有信息 旨在强化对于ArrayList集合的理解 和他的常用方法如get add 等方法的熟练 和集合元素的遍历等等 是一个综合性较高的功能 首先创建学生类 public class Student p
  • npm WARN invalid config registry=“[https://registry.npm.taobao.org]“ set in C:\Users\liujieya\.npmrc

    错误如下 PS C Users liujieya Desktop Demo1 项目 vue manage gt npm run serve npm WARN invalid config registry https registry np
  • synopsys-SDC第二章——综合的基础知识

    synopsys SDC第二章 综合的基础知识 前言 一 综合是什么 二 时序约束在综合中的作用 1 优化 2 输入重排序 3 输入缓冲 三 综合中其它问题 前言 学习了FPGA和数字IC已经有一段时间了 但是对于SDC和STA整体性的学习