数字IC知识点总结(4)-无符号数加法器运算
第一节呢,我们就来说一说比较简单的的,无符号数加法器。
1bit的半/全加器大家想必已经很熟了(半加器是忽略了c0的信号,全加器是后面几个信号都全的),输入加数a、加数b和低位进位信号c0,输出的是结果s和进位信号c1。这几个信号都是1bit。我们就不再说这个全/半加器的设计,我们来讲一讲这个多bits的加法器。以4bits加法器为例,最基本的组合逻辑的加法器就是逐次进位加法器,如图。这种单元设计的最高频率是最低的。
这种“糖葫芦结构”,在位宽变大时,允许的最高时钟工作频率急剧降低。假设加法器处理速度为1ns,在传输线上的时延也是1ns,这个系统看下来就是7ns。慢的呀……
如果要是要上速度的话,那么就要使用流水线了。上面糖葫芦结构速度慢的主要原因,是每一级运算都要等待上一级的运算结果。而等待的结果就是进位信号,他也就只有0或1两种可能。我们把运算分解为两部:第一步就是算出所有的可能结果,第二步就是根据进位信号再去选。由于选择器势必比加法器运算速度快得多,所以每一步流水都可以容纳更多的逐次进位的处理。如图是一个三级加法器的分段设计。
但是!这仅仅是介绍一种思路,并不是说这个结构能有多好。首先,这么多全加器,而且输入数据的速率也不能很高。并不是适合的设计结构。
去除书中的两种错误演示,直接看正确的范例,无符号数加法器的流水线结构如此:
其实这种1bit的流水线设计,在实际工程里面,几乎没用,但是这确实一个很好的模型去练习。
#数字芯片设计##学习路径#