当前位置:网站首页>数字IC设计中基本运算的粗略的延时估计
数字IC设计中基本运算的粗略的延时估计
2022-08-04 20:25:00 【皮皮宽】
数字IC设计中基本运算的粗略的延时估计
本文以与逻辑门电路为最小单位,对数字IC中的一些基本逻辑运算的延时进行了粗略的评估分析。
一、逻辑门电路的延时
由于一些材料的特性,将其做成与非门成本最低,因此很多设计的最底层将与非门作为最基本的元件
。可以通过与非门来实现与,或,非,异或的运算。博客【1】对这部分有很详细的介绍,由于逻辑门电路搭建方式的不同,因此各个逻辑门之间的延时并没有确定的换算关系(查到了好几种),但基本上异或门运算的延时都大于与,或,非这种基础逻辑门的
。
二、半加器
半加器的真值表如下所示:
in1 | in2 | sum | cout |
---|---|---|---|
0 | 0 | 0 | 0 |
0 | 1 | 1 | 0 |
1 | 0 | 1 | 0 |
1 | 1 | 0 | 1 |
由表可知,sum = in1^in2; cout = in1 & in2;
如图所示,由于异或门延时大于与门,因此,一个半加器的延时等于一个异或门的延时
。
三、全加器
由图一个全加器可以由两个半加器组成,由于半加器的组成可知,count计算的延时为2个与门的延时和一个或门的延时,而sum计算的延时为2个异或门的延时。因此一个全加器的延时为2个异或门的延时,即1个全加器的延时为2个半加器的延时
。
四、多个多位加法运算的延时估算
假设有assign a = a0 + a1 + a2; 其中a0为2bit,a1, a2为3bit。我们可以采用行波进位加法器的原理进行估算;
全加器搭建该加法运算的结构如上所示,其中FA为全加器,因此上图结构的延时为5个全加器的延时;以此类推,m个数的连续加法运算,若在不失真的情况下,运算结果为N bits,则延时为 N + m – 1个全加器的延时
.
五、+1,+2,+4运算的延时估算
数字IC设计中常常需要用到+1运算,如果只是给某个变量+1,则不需要按上节的方式算,可以有更简单的方式。
HA为半加器,如上图所示,Nbit变量的+1运算,只需要N个半加器的延时即可,即N/2个全加器的延时
。同理,如果是Nbit变量的+2运算,假设out = in + 2,in为Nbit,则可以被看做out[N : 1] = in[N-1 : 1] + 1’b1; 和 out[0] = in[0],因此,N bit变量+2运算的延时为(N-1)/2个全加器的延时。依此类推,N > m 时,N bits变量+2^m的延时为(N-m)/2个全加器的延时
;
六、乘法器的延时估算
乘法器估算时,我们采用阵列乘法器的结构,假设 a为3 bit,b为2 bit的变量;则a * b的结构图为:
因此,依次类推,M bit * N bit运算的延时可以粗略的估计为M + N – 1个全加器的延时
;(图中a0[12]应为a0[2]);
七、 总结
本文只是根据电路的结构,对一些基本运算进行了粗略的估计,具体的延时换算还需要根据课本(考试),手册(项目)的具体要求来;
八、参考资料
【1】个人博客:通过 与非门 构建异或门
【2】CSDN:乘法器的实现(阵列、Booth、Wallace)
【3】CSDN:行波进位加法器设计
【4】CSDN:全加器和行波进位加法器的延迟时间
边栏推荐
猜你喜欢
随机推荐
Finished product upgrade program
刷题-洛谷-P1304 哥德巴赫猜想
JS new一个构造器发生了什么?从零手写一个new方法
基于单向链表结构的软件虚拟定时器的设计与构建
nr part calculation
How to carry out AI business diagnosis and quickly identify growth points for cost reduction and efficiency improvement?
SAP 电商云 Accelerator 和 Spartacus UI 的工作机制差异
如何进行AI业务诊断,快速识别降本提效增长点?
Aura clock chip generation configuration file script
使用 Allatori 进行 Jar 包混淆
vs Code 运行一个本地WEB服务器
The book "The Essence of Alipay Experience Design", a record of knowledge related to testing
Initialization process of SAP UI5
使用百度EasyDL实现森林火灾预警识别
Zero-knowledge proof - zkSNARK proof system
C语言——青蛙跳台阶(递归)
Tensorflow2 环境搭建
用“绿色计算“技术推动算力可持续发展
如何手动下载并安装 Visual Studio Code 的 SAP Fiori tools - Extension Pack
Unreal 本地化 国家化 多语言