0.前言
这里先说声抱歉(虽然没有人):D,这里对一秋招复习之一关于异步复位同步释放的问题需要解释清楚。
图1.异步复位同步释放
为什么我们要打两拍呢,大多数人都回答正确了,是为了解决recoverytime与removaltime的违例导致的亚稳态问题。但是为什么呢,假设两个触发器都在违例的时间内释放,那么这两个触发器不是都违例了吗产生亚稳态了吗?
首先,我们要了解触发器产生亚稳态的实质原因,是当前锁存值与目前正在锁存的值有冲突。
对于第一个触发器,的确,因为释放之后,输入的信号与触发器原有锁存的信号不一致。输入信号为1,原有锁存值为0。所以有亚稳态产生的可能。
对于第二个触发器就不同了,因为释放之后,输入的信号是第一个寄存器的原输出0,原有锁存器的信号是0。两个值一致,所以没有亚稳态产生的可能。
所以我们可以打两拍降低异步释放产生亚稳态的概率。
图2.大佬说的话-CliffordE.Cummings
一、低功耗技术
低功耗的应用:当前设计频率越高,集成度越高,那么产生的功耗将是巨大的。其一:产生热噪声影响性能;其二:需要散热成本;其三:便携;
以下将以两个方面阐述,一个是按照系统级-RTL级-物理级等设计抽象层次。另外一个是按照功耗类型进行分类。
系统级
大约能节省70%以上的功耗。
软硬协同设计
算法与IP的选择
体系结构级
并行操作,增了重复面积,但是可以降低频率,以及降低电源电压,虽然电容会增大。但是总体而言还是降低了功耗;
流水线结构,同样是降低电源电压获得功耗降低,比电容增大的功耗要大
门控时钟--set_clock_gating_style
-sequential_celllatch/none离散门控单元或者不适用锁存器
"integrated"等可以直接生成门控时钟。
但是要注意的是,门控时钟需要大于一定的位宽才更有效率,否则增加的锁存器之类会增大面积功耗。另外,门控时钟的利用也可以减少mux的使用(例如只有一定条件下,输出改变,其他时候不变)。
缓存的使用
异步设计
电源门控:对于降低静态功耗的漏电流十分有用。
多电压技术:划分电压域;
存储器电源门控,在典型SOC中,SRAM的功耗占据1/3。
RTL级
状态机的编码与解码选择:格雷码编码最适合低功耗,状态只有一个触发改变。
MUX判断条件的编码选择:独热码具有更好功耗减少。不仅减少组合逻辑还减少功耗。
资源共享:对于重复使用单元,进行共享。这样会增大负载,增大延时。
操作数隔离:例如乘法器中,有些数产生的速度特别快,有些比较慢。那么有些速度快的就提前到达下一个部分,有可能产生毛刺,这个毛刺的产生需要功耗的,所以我们等所有输出都有效后再输出。要么操作数隔离,要么使用均衡路径的算法。
门级
多阈值电压:阈值大速度慢,但是漏电流会减小,降低静态功耗。一般如果对功耗要求特别严格,则第一次综合时,使用高阈值电压HVT的器件,之后再使用多阈值电压器件来满足功耗;
动态功耗:动态功耗分为导通功耗以及翻转功耗
翻转功耗
多电源电压-减小Vdd。减小Vdd会导致性能的下降,如果确实需要不错的性能,可以通过增大mos的尺寸;
减小元器件的电容,即减小mos尺寸。但是我们知道迁移率与介电常数(与宽长比成正比)为正比关系,所以减小mos尺寸,会导致迁移率减小,驱动能力,速度都会减小。
减小翻转--门控时钟,操作数隔离,状态机编码方式,多路选择器编码方式,资源共享。
导通功耗:导通功耗与VDD成正比,与开关活动性成正比,与阈值电压成反比,与器件尺寸成正比。
静态功耗:来源包括源漏之间亚阈值电流,以及栅源-栅漏之间的漏电流。
多阈值器件使用
多电源电压
温度
二、碎片化知识(1)
PPA:performance、power、area;
APP:application、price、property;集成电路宏观概念
OCV:onchipvariation。由于芯片在实际生产时各位置性能存在差异,常用于STA,要对快路径慢路径设置缩放因子
DFT:可行性测试,是在RTL代码上加入的,用来检查工艺的好坏。在芯片制造出来后,使用ATE(automatictestequipment)设备上通过可测性逻辑对芯片测试。只能查找出制造缺陷。DFT可行性测试的功耗却决于DFT的时钟频率。
Faultcoverage故障覆盖率,yield代表芯片的良率;
图2.大疆笔试题
*p++:*为取值操作,++*p,先加后取值;*p++,先取值后加;
各门简写简化:、≥1、1、=1、=分别为与,或,非,异或,同或。
为什么动态功耗与电源电压二次方成正比:因为动态功耗的计算是通路的I乘以v的时间积分,而我们这是对电容充放电,所以I可以转化为电容与电压的乘积再乘以电压。而静态功耗则是没有电容参与的,所以成一次方。
有符号数的加减
4位有符号数+结果是多少?
答案是,就是-3。因为我们知道有符号数的加法是不一样的,所以有符号数直接是补码形式,输入是补码,输出也是补码。
各操作符的顺序,与操作是高于^高于或的。
Linux中规定了每个文件都有所属的所有者与所有组。并且规定了文件的所有者,所有者以及其他人对文件所拥有的权限。rwx读写可执行,权重位。所以可以代表,所有者具有rwx权力,所有组则是读,其他人也是读。
modelsim命令在tb中执行顺序,vlib--vmap--vlog--sim。建库映射编译仿真
预览时标签不可点收录于话题#个上一篇下一篇