数字后端各种Cell相关概念汇总

2023-10-29

数字电路器件

反相器

反相器是最基础的MOS器件,英文是inverter,一般缩写为INV。
反相器对信号有驱动作用,但是会使信号反相。
反相器由NMOS和PMOS组成,栅端(G)相连作为输入端,漏断相连作为输出端,NMOS的源端接地,PMOS的源端接电源VDD.
在这里插入图片描述

逻辑门

逻辑门(Logic Gates)是在集成电路(Integrated Circuit)上的基本组件。简单的逻辑门可由晶体管组成。这些晶体管的组合可以使代表两种信号的高低电平在通过它们之后产生高电平或者低电平的信号。高、低电平可以分别代表逻辑上的“真”与“假”或二进制当中的1和0,从而实现逻辑运算。
在这里插入图片描述

触发器

触发器类型:RS型、JK型、D型和T型(含T’型)触发器。工作中最常用的是D型触发器(D-FlipFlop)。
触发器是最基本、最重要的时序单元电路,也是构成时序逻辑电路的基本单元电路(时序逻辑电路具有记忆功能)
在这里插入图片描述
工作原理:
当无时钟脉冲作用(C=0)时,控制电路封锁,无论D为何值,与非门G3、G4输出均为1,触发器状态保持不变。
当时钟脉冲作用(C=1)时,若D=0,则门G4输出为1,门G3输出为0,触发器状态被置0;若D=1,则门G4输出为0,门G3输出为1,触发器状态被置1.

锁存器

所谓锁存器,就是输出端的状态不会随输入端的状态变化而变化,仅在有锁存信号时输入的状态才被保存到输出,直到下一个锁存信号到来时才改变。
由若干个钟控D触发器构成的一次能存储多位二进制代码的时序逻辑电路。数据有效迟后于时钟信号有效。这意味着时钟信号先到,数据信号后到。在某些运算器电路中有时采用锁存器作为数据暂存器。
Latch电路结构
当 E = 1 时,latch直传(transparent),D端信号的变化会即时反应在Q端;
当 E = 0 时,latch关断(closed),Q端保持关断瞬间D端的值。
在这里插入图片描述
设计中使用Latch的好处是,相比寄存器的面积更小,功耗更低。

半加器

半加器不考虑低位进位来的进位值,只有两个输入,两个输出。由一个与门和异或门构成.

真值表/逻辑表达式/门电路图
在这里插入图片描述

全加器

当多位数相加时,半加器可用于最低位求和,并给出进位数。第二位的相加有两个待加数和,还有一个来自前面低位送来的进位数。这三个数相加,得出本位和数(全加和数)和进位数。这种就是“全加"

真值表/逻辑表达式/门电路图
在这里插入图片描述

半减器

半减器用于计算两bitXi和Yi的减法,输出结果Di和向高位的借位Bo(Borrow output)

真值表/逻辑表达式/门电路图在这里插入图片描述

全减器

全减器不同于半减器在于,全减器输入来自低位的借位Bi(Borrow input),另外两个输入xi、yi,输出为Di和向高位借位Bo
真值表/逻辑表达式/门电路图
在这里插入图片描述

数字后端常见Cell相关名词

buffer

理论上,buffer是由两个完全相同的inverter级联而成,但这不是标准库单元中设计buffer的做法。为了节省面积,buffer的第一级通常驱动很小,并且离第二级inverter很近,而第二级 inverter的驱动力更大。

数字电路中的buffer一般有两个作用:
1.提高驱动能力
buffer是一种宽高比很大的mos管,宽高比大意味着电流大,驱动能力高。
在扇出很大的wire中插入buffer可以提高带负载能力,常见于时钟树中。
2.确保信号时序正确
当一条wire很长时,延迟很大(delay正比于长度的平方,设长度为1,delay为1),这时在中间插入buffer,wire delay变为1/4+1/4=1/2,只要buffer delay小于1/2,则buffer的插入可以缩短wire delay​​​。
当一条wire的延迟不大时,如果有hold violation(表现为数据到达过快,需要滞后到达),则插入buffer,利用buffer delay可以修正这个hold violation。

repeater

中继器,原理上buffer/inverter都属于中继器。
eco阶段经常使用ecoAddRepeater修复timing

使用方法:
ecoAddRepeater -loc {x y} -cell BUF_X4B_A9TR40 -net $net_name

delay cell

延迟单元,常用于data path上,相比较与buffer,可以添加更多的delay,用来修复hold timing。
它可以起到增加更多delay的作用,用来修复hold time的violation。但是驱动很弱,需要避免让它推动load较大的cell。

endcap cell

boundary cell,也被称为endcap Cell。Endcap是一种特殊的标准单元。
在后端物理设计中,除了与,非,或等一些常见的标准单元外,还有一些特殊的物理单元(physical cell),它们通常没有逻辑电路,不存在与netlist当中,但是对整个芯片的运行,稳定却起着举足轻重的作用。那endcap cell就是其中一种,它俗称为拐角单元,作用是确保每个nwell都是nwell enclosed,类似一个封闭环。主要加在row的结尾(两边都要加) , 以及memory 或者其他block的周围包边,如下图所示:
在这里插入图片描述
在这里插入图片描述

使用方法
create_tap_cells

tap cell

也被称为welltap cell。一种特殊的物理单元。
welltap是只包含well contact的cell,将衬底接到电源和地网络,避免衬底悬浮。主要防止CMOS器件的寄生闩锁效应(latch-up)
一般tap cell的作用范围是30~40um, 即每隔60um左右放置一个tap cell,具体的数据要参考工艺商给的document
well tap cell一般交错摆放,类似棋盘分布。如下图所示:
在这里插入图片描述

使用方法
create_tap_cells

decap cell

去耦单元,增加电源的电容值。可以降低动态电压降。
在电源电压正常的时候,DECAP可以充电来存储能量,当电源电压较低的时候就可以放电来起到一定的缓冲作用。
在这里插入图片描述

tie cell

tie cell(电压钳位单元),常见的有tie high,tie low两种,分别提供电源地电位。主要起到ESD保护的功能。通常在placement之后,route之前添加。
在这里插入图片描述
上图中,M1的栅极和漏极连接在一起,M1工作在饱和区,起到有源电阻的作用。A点的电位为高电位,M2始终导通工作在线性区,OUT1输出低电平。这样M1,M2组成了Tie low。同理,M3,M4组成了Tie high。

filler cell

通常是单元库中与逻辑无关的填充物,可以分为IO filler以及普通的standard cell filler
IO filler,也叫作pad filler,通常是用来填充I/O 单元与I/O单元之间的空隙。为了更好的完成power ring(电源环),也就是ESD之间的电源连接。通常是在Floorplan阶段时添加。

使用方法:
create_io_filler_cells
create_io_filler_cells -reference_cells FILLER

standard cell filler,也是为了填充std cell之间的空隙。主要是把扩散层连接起来满足DRC规则和设计需求,并形成power rails。这个在route之前,之后加都可以。

使用方法:
create_stdcell_fillers
create_stdcell_fillers -lib_cells {mylib/FILL_2X mylib/FILL_1X}

spare cell

spare cell就是备用的cell。 简单来说,就是每块地方洒一些类似SDFF,NAND,AND,XOR,INV等的备用cell, 为以后做function eco和metal eco用。
一般Foundry会提供一种服务,允许客户在量产工艺加工进行到某个阶段的时候,让部分wafer暂时停止,而部分wafer继续加工。这样的话,客户可以在加工到poly层时(后面的金属层还没有做),停止大部分wafer的进程,而让少量wafer继续加工到完成,然后对这些已完成的wafer上的die进行测试,如果发现有功能或时序上的问题,就可能通过预先布在die上的 Spare cell来解决。只是改动几层金属层光罩就可以完成standard cell重新连接,而不用改动standard cell的布局(要改poly层之前的所有光罩)。那些暂停加工的wafer这时就可以用新的金属层光罩往后加工,于是在silicon和光罩两方面都降低了成本。

使用方法:
add_spare_cells
add_spare_cells -cell_name spare1 -lib_cell {AND2 OR2} -num_instances 250

clock gating cell

时钟门控单元。为了减少时钟网络中的功耗消耗,最直接的办法就是如果不需要时钟的时候,就把时钟关掉。这种方法就是门控时钟。
更具控制方法的不同,一般可以分与门门控、锁存门控、寄存门控。实际soc设计用的最多的是锁存结构的门控时钟。
在这里插入图片描述

ICG cell

1.什么是ICG?
为了节约动态功耗,最初有个十分简单的想法:在芯片实际工作过程中,有些信号或者功能并不需要一直开启,那么就可以在它们不用的时候将其时钟信号关闭。这样一来信号不再翻转,从而能够有效减少动态功耗,这就是Clock Gating。
在这里插入图片描述
可以看到在加入Clock Gating之后,DFF的clock信号前多了一个使能端EN,从而可以控制该时钟信号的打开与关闭
一般每个ICG会控制一个或多个DFF,通过某个DFF传递过来的控制信号控制ICG的开启或者关断。

2.clock gate cell 时钟门控单元结构图
在这里插入图片描述

latch或reg:用于同步使能信号,防止出现亚稳态和毛刺。
与门:使能信号无效时,关断模块输入时钟。
D触发器:简化的reg。

3.为什么要使用ICG?
在数字IC设计中,时钟树的功耗占比可能高达30%,而使用ICG电路后,可以从两个方面节省功耗:
1.减少了时钟端的翻转
2.使用ICG的电路资源消耗相对减少

4.如何clk gate?
将一直翻转的时钟变为en有效才翻转的时钟,即将CLK转化为CLK_G。
在这里插入图片描述
#以上是从各个网页收集整理,如有侵权请告知。

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

数字后端各种Cell相关概念汇总 的相关文章

  • 程序员必须知道的十大算法之 快速排序

    快速排序是由东尼 霍尔所发展的一种排序算法 在平均状况下 排序 n 个项目要 nlogn 次比较 在最坏状况下则需要 n2 次比较 但这种状况并不常见 事实上 快速排序通常明显比其他 nlogn 算法更快 因为它的内部循环 innerloo
  • 设计原则与思想:总结课

    文章目录 设计原则与思想 总结课 总结回顾面向对象 设计原则 编程规范 重构技巧等知识点 一 代码质量评判标准 如何评价代码质量的高低 最常用的评价标准有哪几个 如何才能写出高质量的代码 二 面向对象 三 设计原则 四 规范与重构 常见的
  • Win10防止Windows安全中心(Windows Defender)乱删文件

    Windows Defender乱删文件着实让人哭笑不得 还好它还有个排除项 不然只能安个杀毒软件接管它了 点击 开始 点击 设置 开始上面的齿轮图标 打开Windows设置 点击最下面的 更新和安全 点击 Windows安全中心 点击右侧

随机推荐

  • mock详细教程入门这一篇就够了

    1 什么是mock测试 1 png Mock测试就是在测试活动中 对于某些不容易构造或者不容易获取的比较复杂的数据 场景 用一个虚拟的对象 Mock对象 来创建用于测试的测试方法 2 为什么要进行Mock测试 Mock是为了解决不同的单元之
  • day2-ARM处理器概述

    指令集 指令 能够指示处理器执行某种运算的命令称为指令 指令在内存中以机器码 二进制 的方式存在 每一条指令都对应一条汇编 程序是指令的有序集合 指令集 处理器能识别的指令的集合称为指令集 不同架构的处理器指令集不同 指令集是处理器对开发者
  • [915]ElasticSearch设置用户名密码

    1 需要在配置文件中开启x pack验证 修改config目录下面的elasticsearch yml文件 在里面添加如下内容 并重启 xpack security enabled true xpack license self gener
  • javascript练习题之给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。

    示例 输入 2 2 1 输出 1 解析一 通过循环来判断每个数出现的次数 然后将次数为1的数输出 var singleNumber function nums 声明一个空对象用于记录 var obj for var i 0 i
  • JVM学习1_ javac编译器源码编译及分析

    javac编译器是纯java代码编写的 用来把 java文件编译成二进制 class文件 一 获取javac编译器源码 github下载jdk源码 jdk源码中包含javac编译器源码 hotspot虚拟机等 下载地址 https gith
  • BGP双平面

    实验要求 1 合理IP地址 2 AS 1 2 3 内部使用OSPF 协议 AS 1 AS 2内部建立全互联的IBGP邻居 AS之间建立全 部的EBGP邻居 3 PC 1 3 5 属于电信的路由 通信时必须使用电信AS 1 PC 2 4 6
  • Java配置,mysql双数据源 读写分离

    大致思路 创建用于标志数据源的自定义注解 通过配置切面 在操作数据库的方法之前 扫描该方法的注解所配置的数据源名称 将名称存储在一个代表当前线程变量工具类 创建AbstarctRoutingDataSource子类DynamicDataSo
  • geoserver+mysql+openlayers问题点

    1 tomcat下部署geoserver解决跨域访问问题 报错 Access to XMLHttpRequest at http localhost 8900 geoserver cite ows service WFS version 1
  • 如何使用ssh密钥的方式实现无密码scp传输文件

    一 什么是SSH公钥 私钥 在介绍如何使用SSH密钥的方式实现无密码SCP传输文件之前 我们先来了解一下什么是SSH公钥 私钥 SSH公钥和私钥是一对密钥 用于加密您的登录信息和授权您的访问 公钥存储在服务器上 私钥存储在您的本地电脑上 当
  • MobilenetV1、V2、V3系列详解

    Mobilenet系列模型作为当前主流的端侧轻量级模型被广泛应用 很多算法都会使用其作为backbone提取特征 这一章对Mobilenet系列模型做一个总结 一 MobilnetV1 MobilenetV1提出了深度可分离卷积 Depth
  • 正确使用STL-MAP中Erase函数 一切尽在代码中。

    include
  • A Comprehensive Survey on Graph Neural Networks

    本文是对 A Comprehensive Survey on Graph Neural Networks 论文的一个翻译 主要针对文字部分 插图和表格不添加 需要请看原论文 图神经网络综述 摘要 1 引言 2 背景和定义 A 背景 B 定义
  • 解读R-FCN的position-sensitive score map

    R FCN的位置敏感分数图灵感来自Instance sensitive Fully Convolutional Networks这篇论文 该论文是针对FCN不能对同类型物体分割的缺点的改进 具体说明见下面 本论文的出发点 FCN可以用来做s
  • Anaconda cloud参考指令

    命令参考 另请参见 API参考 Anaconda客户端是Anaconda Cloud的命令行界面 CLI 可用于登录 注销 管理帐户 上传文件 生成访问令牌 查看令牌以及运行以下所示的其他任务 anaconda h 完整命令参考 anaco
  • VBA判断函数IsArray、IsDate、IsEmpty、IsEmpty、IsError等

    我给VBA的定义 VBA是个人小型自动化处理的有效工具 利用好了 可以大大提高自己的劳动效率 而且可以提高数据处理的准确度 我推出的VBA系列教程共九套和一部VBA汉英手册 现在已经全部完成 希望大家利用 学习 如果您只是一般的职场VBA需
  • ES6迭代器、set、map知识点

    1 迭代器 迭代器 Iterator 就是这样一种机制 它是一种接口 为各种不同的数据结构提供统一的访问机制 任何数据结构只要部署Iterator接口 就可以完成遍历操作 即依次处理该数据结构的所有成员 Iterator 的作用有三个 一是
  • FastAPI从入门到实战(3)——Hello World(安装与运行)

    本文详细记录FastAPI本地的安装和运行 都很简单 主要记录验证一些特性 安装FastAPI 安装就非常简单 只需要安装两个包就行 FastAPI pip install fastapi uvicorn 用于加载和提供应用程序的服务器 p
  • DOS网络启动盘

    DOS网络启动盘 这张从97年到现在我一直保留并维护的工具盘 也许平时用的机会不多 但总在关键时刻救急 它能帮你在无法通过光驱安装操作系统时 通过网络或USB移动盘把几百兆的Windows系统安装文件复制到本地硬盘来进行安装 当然还可以用它
  • 图像分类_PyTorch图像数据分类

    图像分类数据集中最常用的是手写数字识别数据集MNIST 但大部分模型在MNIST上的分类精度都超过了95 为了更直观地观察算法之间的差异 我们将使用一个图像内容更加复杂的数据集Fashion MNIST 这个数据集也比较小 只有几十M 没有
  • 数字后端各种Cell相关概念汇总

    数字后端各种Cell相关概念汇总 数字电路器件 反相器 逻辑门 触发器 锁存器 半加器 全加器 半减器 全减器 数字后端常见Cell相关名词 buffer repeater delay cell endcap cell tap cell d