![](https://img-blog.csdnimg.cn/2021012823272510.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
芯片设计
文章平均质量分 65
数字芯片设计相关知识
kevindas
博主已经停更跑路了- -、,感谢大家多年的点赞支持
展开
-
Design Compiler Labs学习笔记(一)
本文对应Design Compiler 2017.09Lab1的学习原创 2022-01-26 21:58:34 · 839 阅读 · 0 评论 -
DC中的path_group
一、DC的默认行为默认情况下,DC会根据path的capture clock来将path进行分组(没有clock的被分到default组)。然后DC会基于每个group来进行优化,优化始终对最差的path进行,直到满足以下任一条件时终止优化:group内的所有path均满足时序要求; group内最差的那条path已经优化不动了。从上面的描述我们可以看到,虽然最差的path已经无力回天了,但是同一个group内次差的path仍然有优化的空间,但是DC却不去优化了。因此,我们有时需要通过设置p原创 2021-08-01 16:46:51 · 5011 阅读 · 1 评论 -
理解DC中的link_library与target_library
下图是DC的工作流程示意图: Translate 当DC把我们的rtl代码读入后,会自动地将代码Translate成GTECH的网表,GTECH是synopsys自家开发的一种通用的,独立于工艺的标准库,里面有与门、非门、寄存器等各种基本单元。下图即为代码读入后由DC产生的GTECH网表,此时GTECH网表仍然保持和rtl代码的相同的层次结构。查看单个逻辑单元的属性,可以看到确实使用的是GTECH的库。 Link 第一张图中省略了link的步骤,link是介于Tr...原创 2021-07-26 22:05:55 · 10560 阅读 · 0 评论 -
设计的多实例引用(Multiple Instances of a Design Reference)
一、什么是“设计的多实例引用”在层次化的设计中,我们经常会将一个module例化多份,这些例化的instance就是设计的module的多实例引用。二、为什么要解决多实例引用三、怎么解决多实例引用...原创 2021-05-02 16:55:52 · 2089 阅读 · 0 评论 -
二进制多项式乘法和除法的电路实现
一、多项式乘法对于每个组成分量,有如下的实现电路:综合来看:二、多项式除法更为一般性的推导,p(X)为被除式,q(X)为商式,r(X)为余式。不妨假设gn-k=1。若被除式p(X)中Xn-k的系数为1,此时q(X)=1;r(X)=p(X)-g(X)=p(X)+g(X)若被除式p(X)中Xn-k的系数为0,此时q(X)=0;r(X)=p(X)经过一次迭代后,可以将除法结果改写为:经过若k次迭代后,可以将除法结果改写为:迭代的过程参原创 2021-03-21 12:56:54 · 4125 阅读 · 2 评论 -
Verilog的Timing check函数之$width
//************************************************************************************************// $width//**************************************************************************************...原创 2018-09-28 22:38:10 · 11302 阅读 · 0 评论 -
verilog宏定义的小坑
这两天调试程序时,宏定义时遇到了点问题,发现这里有个小坑,记录一下。。。话不多说,上程序:`timescale 1ns/1ps`define MACRO_TEST \ begin \ #10; \ $display("#10 time goes by..."); \ endprogram testcase();initial be...原创 2018-09-18 22:36:09 · 11543 阅读 · 4 评论 -
随路vld vs. 时钟gating
数字芯片设计人员在对数据流的处理中,免不了会遇到存在无效数据的情况,此时通常有两种处理方式: 一是采用随路vld的方式。vld_in跟随数据,数据每做一拍的处理,vld对应打一拍;数据在vld有效时进行处理,无效时保持。二是采用时钟gating的方式。直接在时钟上产生缺口(ICG),数据流在缺口时钟下进行处理。可以看到:1、随路vld的处理方式下,输入到输出的处理延迟是确定的,取决于数据的处理拍数。2、时钟gating的处理方式下,输入到输出的处理延迟是不确定的,最大延迟为数据的处理拍数原创 2020-12-16 22:18:13 · 2363 阅读 · 0 评论 -
Integrated Clock Gating (ICG)
什么是ICG? 在时序级的设计中,我们经常遇到这样的情况:电路存在一个使能信号E,当使能信号无效时,输出保持。我们通常的做法是使用一个Mux来对输入进行选择(下图左侧)。在综合阶段,可以通过选项将该类型的电路综合成带ICG的电路结构(下图右侧)。ICG单元一般由foundry厂家的库提供,比如TSMC 28nm库该类器件名称为CKLNQDxxx。 为什么要使用ICG? 在数字IC设计中,时钟树的功耗占比可能高达30%,而使用ICG电路后,可以从两个方面节省功耗: 减少了时钟端的翻..原创 2020-11-21 17:42:01 · 11610 阅读 · 0 评论 -
barrel_shifer的设计思路
背景设计电路时,经常会遇到从一个大位宽数据M中选择连续的数据N,此时对每bit都使用Mx显然浪费了资源,而barrel_shifter是一种不错的选择。example设计思路设计思路(以Example2为例):step1:根据输入输出数据位宽确定最大移位值,7-2=5bit。step2:将最大移位值依次减去1、2、4、……2^N(N=0,1,2...),直到为非正数,减数的个数即为barrel_shifer的层数。这里5-1-2-4=-2,需要设计3层Mx。step3:3层Mx,第1层移原创 2020-09-03 23:42:15 · 3498 阅读 · 0 评论