数字IC设计中基本运算的粗略的延时估计

本文以与逻辑门电路为最小单位,对数字IC中的一些基本逻辑运算的延时进行了粗略的评估分析。


目录

  • 数字IC设计中基本运算的粗略的延时估计
  • 一、逻辑门电路的延时
  • 二、半加器
  • 三、全加器
  • 四、多个多位加法运算的延时估算
  • 五、+1,+2,+4运算的延时估算
  • 六、乘法器的延时估算
  • 七、 总结
  • 八、参考资料


一、逻辑门电路的延时

由于一些材料的特性,将其做成与非门成本最低,因此很多设计的最底层将与非门作为最基本的元件。可以通过与非门来实现与,或,非,异或的运算。博客【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;

lua 延时2s 延时ic_异或门


如图所示,由于异或门延时大于与门,因此,一个半加器的延时等于一个异或门的延时

三、全加器

lua 延时2s 延时ic_lua 延时2s_02


由图一个全加器可以由两个半加器组成,由于半加器的组成可知,count计算的延时为2个与门的延时和一个或门的延时,而sum计算的延时为2个异或门的延时。因此一个全加器的延时为2个异或门的延时,即1个全加器的延时为2个半加器的延时

四、多个多位加法运算的延时估算

假设有assign a = a0 + a1 + a2; 其中a0为2bit,a1, a2为3bit。我们可以采用行波进位加法器的原理进行估算;

lua 延时2s 延时ic_嵌入式硬件_03


全加器搭建该加法运算的结构如上所示,其中FA为全加器,因此上图结构的延时为5个全加器的延时;以此类推,m个数的连续加法运算,若在不失真的情况下,运算结果为N bits,则延时为 N + m – 2个全加器的延时.

五、+1,+2,+4运算的延时估算

数字IC设计中常常需要用到+1运算,如果只是给某个变量+1,则不需要按上节的方式算,可以有更简单的方式。

lua 延时2s 延时ic_嵌入式硬件_04


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的结构图为:

lua 延时2s 延时ic_嵌入式硬件_05


因此,依次类推,M bit * N bit运算的延时可以粗略的估计为M + N – 1个全加器的延时;(图中a0[12]应为a0[2]);

七、 总结

本文只是根据电路的结构,对一些基本运算进行了粗略的估计,具体的延时换算还需要根据课本(考试),手册(项目)的具体要求来;