数字电路课程设计Word文档下载推荐.docx
《数字电路课程设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《数字电路课程设计Word文档下载推荐.docx(40页珍藏版)》请在冰豆网上搜索。
课程设计六:
手动记分控制电路
课程设计七:
4位二进制全加器
课程设计八:
通道数据分时传送系统
一、多数表决器
设计思路:
奇数个人进行表决,若有一半以上的人同意,则输出1,否则输出0。
把人等效成输入端,则此表决器有三个输入,一个输出端,在其中两个输入端为1时输出1,否则输出0。
真值表和器件的模型如上图所示。
用verilog进行仿真有如下结果:
实验代码:
modulemajorit(a,b,c,f
);
outputf;
inputa,b,c;
wirex,y,z;
assignx=a&
b;
assigny=a&
c;
assignz=~a&
b&
assignf=x|y|z;
endmodule
得出的器件形式如下:
进行测试,测试代码如下:
moduleHHH;
//Inputs
rega;
regb;
regc;
//Outputs
wiref;
//InstantiatetheUnitUnderTest(UUT)
majorituut(
.a(a),
.b(b),
.c(c),
.f(f)
initialbegin
//InitializeInputs
a=0;
b=0;
c=0;
//Wait100nsforglobalresettofinish
#10;
//Addstimulushere
#10a=0;
b=0;
c=0;
c=1;
b=1;
#10a=1;
end
测试波形图:
二、一位全加器
按照二进制数加法的方法,将三个输入端(包括进位端,加数端)进行运算,并且列出真值表,画出卡诺图并化简,即可得到一位全加器的逻辑函数式。
真值表如下:
其中,a,b,c为全加器的输入端,a,b,为数位,ci为输入的进位端,co为进位输出端,s为最终的和。
测试代码:
modulefulladder(a,b,ci,s,co
outputs,co;
inputa,b,ci;
wirex1,x2,x3,x4,x5,x6,x7;
and(x1,!
a,b,ci);
and(x2,a,!
b,!
ci);
and(x3,!
a,b,!
and(x4,a,b,ci);
and(x5,a,b);
and(x6,a,ci);
and(x7,!
assigns=x1|x2|x3|x4;
assignco=x5|x6|x7;
得出的器件内部结构为:
moduleeee;
regci;
wires;
wireco;
fulladderuut(
.ci(ci),
.s(s),
.co(co)
ci=0;
ci=0;
ci=1;
测试得到的波形图为:
三、四位主蕴含项探测器
我们可以将一个真值表写成标准和与标准积的形式,而此探测器要求我们探测出其标准和形式。
当输入为(1,2,3,5,7,11,13)时,输出为一,否则为0。
其中,a3,a2,a1,a0从高往低依次为输入端,f为输出端。
moduledetector(a0,a1,a2,a3,f
inputa0,a1,a2,a3;
wirew1,w2,w3,w4;
and(w1,!
a3,a0);
and(w2,a2,!
a1,a0);
and(w3,!
a2,a1,a0);
and(w4,!
a3,!
a2,a1);
assignf=w1|w2|w3|w4;
得出的封装内部结构为
右图为模块内部结构
进行测试,测试代码如下:
modulessss;
rega0;
rega1;
rega2;
rega3;
detectoruut(
.a0(a0),
.a1(a1),
.a2(a2),
.a3(a3),
a0=0;
a1=0;
a2=0;
a3=0;
#10a0=0;
a1=0;
a2=0;
a3=0;
a3=1;
a2=1;
a1=1;
#10a0=1;
得到波形图为:
四、四位二进制数—格雷码转换器
二进制数转格雷码时,使最高位不变,最高位和下一位异或得到格雷码第二位,二进制数的第二位和其第三位进行异或得到格雷码的第三位,以后以此类推。
直到最低位得到为止。
列出真值表有
其中,a3,a2,a1,a0依次为二进制数的最高位到最低位,f3,f2,f1,f0依次为格雷码的最高位到最低位。
modulecocerter(a0,a1,a2,a3,f0,f1,f2,f3
outputf0,f1,f2,f3;
assignf3=a3;
assignf2=(!
a3&
a2)|(a3&
!
a2);
assignf1=(a2&
a1)|(!
a2&
a1);
assignf0=(a1&
a0)|(!
a1)|(a3&
a1&
a0)|(a3&
a0);
得到内部结构如下
模块如下:
moduleww;
wiref0;
wiref1;
wiref2;
wiref3;
cocerteruut(
.f0(f0),
.f1(f1),
.f2(f2),
.f3(f3)
波形图
五、四位密码锁
该锁有规定的地址代码A、B、C、D4个输入端和一个开箱钥匙孔信号E的输入端。
当用钥匙开箱时,如果输入的4个代码正确,保险箱被打开;
否则,电路将发出警报。
让输入端的四个值与已设置好的密码的值进行比较,比较时用同或逻辑,若相同,则有和使能端进行逻辑相与,最后将所有的可能性进行相或。
列出真值表,按照真值表进行卡诺图化简。
本设计方案中我采用多路复用器,2-4译码器,LED灯和或门等器件来完成设计。
用2个74x151多路复用器扩展为16-2多路复用器,题目中的地址代码A、B、C、D4个输入端作为扩展的多路复用器的地址端,D0-D8作为数据端。
开箱钥匙孔信号E作为2-4decoder的