资源描述:
《第11章编写和验证简单的存组合逻辑模块》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、编写和验证简单的纯组合逻辑模块概述复杂的算法数字逻辑电路是由基本运算逻辑、数据流动控制逻辑和接口逻辑电路所构成的。为了提高算法的运算速度除了提高制造工艺技术外,逻辑结构设计是最重要的环节。而设计出结构合理的基本运算组合电路是算法逻辑结构设计的基础,只有深入理解复杂组合电路的许多基本特点,才有可能通过电路结构的改进来提高算法逻辑系统的基本时钟速度,为结构合理的高速复杂算法的数字逻辑系统的构成打下坚实的基础。11.1加法器一位全加器的真值表1、串行进位加法器构成:把n位全加器串联起来,低位全加器的进位输出连接到相邻的高位全加器的进位输入。特点:进位信号是由低位向高位逐级传递的,进
2、位产生时间较长,且各加法器的和产生时间也不同,速度不高。2、并行进位加法器(超前进位加法器)进位生成项进位传递条件进位表达式和表达式4位超前进位加法器递推公式超前进位4位加法器超前进位十六位加法器加法器代码moduleadd_4(X,Y,sum,C);input[3:0]X,Y;output[3:0]sum;outputC;assign{C,Sum}=X+Y;endmodulemoduleadd_4(X,Y,sum,C);input[3:0]X,Y;output[3:0]sum;outputC;assign{C,Sum}=X+Y;endmodulemoduleadd_16(X,
3、Y,sum,C);input[15:0]X,Y;output[15:0]sum;outputC;assign{C,Sum}=X+Y;endmodule4位超前进位加法器modulefulladd4(a,b,ci,s,co);input[3:0]a;input[3:0]b;inputci;output[3:0]s;outputco;wire[3:0]p;wire[3:0]g;wire[2:0]c;wiremg,mp;assignp[0]=a[0]^b[0];assignp[1]=a[1]^b[1];assignp[2]=a[2]^b[2];assi
4、gnp[3]=a[3]^b[3];assigng[0]=a[0]&b[0];assigng[1]=a[1]&b[1];assigng[2]=a[2]&b[2];assigng[3]=a[3]&b[3];assignc[0]=(p[0]&ci)
5、g[0];assignc[1]=(p[1]&c[0])
6、g[1];assignc[2]=(p[2]&c[1])
7、g[2];assignpp=p[3]&p[2]&p[1]&p[0];assigngg=g[3]
8、(p[3]&(g[2]
9、p[2]&(g[1]
10、p[1]&g[0])));assignco=(pp&ci)
11、g
12、g;assigns[0]=p[0]^ci;assigns[1]=p[1]^c[0];assigns[2]=p[2]^c[1];assigns[3]=p[3]^c[2];endmodule信号解释p表示进位否决信号(pass),如果p为0就否决调前一级的进位输入。否决的意思就是即使前一级有进位,本级也不会向后一级产生进位输出。g表示进位产生信号(generate),如果g为1就表示一定会向后一级产生进位输出p[n]=a[n]^b[n]当a=1,b=0或a=0,b=1时前一级的进位输入信号不能否决。g[n]=a[n]&b[n]如果a=1,b=1时就直接向后一级产生进位
13、输出信号,而不用考虑其它的任何因素。pp表示本级模块的进位否决信号,如果pp为0就否决调前一级模块的进位输入。gg表示本级模块进位产生信号,如果gg为1就表示一定会向后一级模块产生进位输出。这两个信号pp和gg都是用于超前进位模块之间的连接,如4个4位超前进位加法器模块再使用超前进位逻辑进行连接构成16位超前进位加法器。pp=p[3]&p[2]&p[1]&p[0]当a+b=1111时,此时前一级模块的进位输入不能被否决。gg=g[3]
14、(p[3]&(g[2]
15、p[2]&(g[1]
16、p[1]&g[0])))这一句可以这样理解,它是嵌套了几层的:1.如果g[3]=1,即最高位要产生
17、进位位,则表示本模块一定会向后一级模块产生进位输出,于是gg=1。2.如果g[3]=0,但是p[3]=1(表示不能否决掉前一级的进位),而且前一级又有进位输入时,gg=1。3.以下层次的关系依此类推。总结1.用于模块内部的p和g信号,它们的产生都不依赖于模块内部各位之间的进位信号,而是由输入信号a和b直接得到的。2.用于模块外部的pp和gg信号,它们的产生也不依赖于该模块的进位输入信号,pp和gg信号用于超前进位链的再次级联3.当进位产生信号(g或gg)为1时,一定向后一级产生进位输出,此时