资源描述:
《华中科技大学数字逻辑设计和制作报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、数字逻辑设计和制作报告团队成员:姓名班级学号贡献百分比卢振兴CS1502U201414596100%实验部分:实验完成结果、时间(亮点、完成、基本完成、未完成)总分(实验部分70%+报告30%)第一个实验第二个实验第三个实验检查结果检查时间检查老师报告人:卢振兴指导教师:李开报告批阅教师:李开计算机科学与技术学院2017年6月5日1/14—、设计和制作名称VerilogHDL设计一个简单的运算器。二、设计所用软件Vivado2015.2软件1套。三、设计内容设计一个能实现两种算术运算和两种逻辑运算的4位运算器。参加运算的4位二进制代码分别存放在
2、4个寄存器A、B、C、D中,要求在选择变量控制下完成如下4种基本运算:①实现A加B,显示运算结果并将结果送寄存器A;②实现A减B,显示运算结果并将结果送寄存器B;③实现A与C,显示运算结果并将结果送寄存器C;④实现A异或D,显示运算结果并将结果送寄存器D。图9」给出了运算器的结构框图。Si—So——H运算结果显示电路运算0)的功繼S
3、So功能说明00A+—AA加B,结果送至A01A-B—BA«B>结果送至B10A・CYA与C,结果送至C11A㊉MDA异或D•结果送至D图9.1运算器的结构框图下图给出了运算器的完整逻辑电路。fc4Y74LS153
4、DoDjDtDsGAoA
5、74LS139□Co~inFC.74LS283A.AiAtAiB>BiBiA,Y*74LS153DoDiDxDi—A,Y*74LS153^DnDiDjD,A,YQ74LS153°DoDDQB奇存4rD寄存U74LS194rC簣存•S!
6、74LS194CPCPI&174LS194A青存•Si74LS194So8奇存・74LS194四、方案设计简单运算器的VerilogHDL描述。(a)源程序//主程序modulemain(A,B,C,D,CP,S,K,FC4,Y,Y139,F,outA,outB,outC,outD);i
7、nput[3:0]A,B,C,D;inputCP;input[1:0]S;inputK;outputFC4;output[3:0]Y;output[3:0]Y139;//wire[3:0]Y139;output[3:0]F;output[3:0JoutA,outB,outC,outD;//寄存器A的输出〃译码器inter74139yima(~K,S,Y139);〃四个寄存器reg74194jiA(A,CP&(〜Y139[0D,outA,Y);reg74194jiB(B,CP&(〜Y139[l]),outB,Y);reg74194jiC(C,CP
8、&(〜Y139[2]),outC,Y);reg74194jiD(D,CP&(〜Y139[3]),outD,Y);〃加法器add74283adder(outA,{(-Y139[l])AoutB[3],(~Y139[l])AoutB[2],(~Y139[l])AoutB[l],(~Y139[l])AoutB[0]},〜Y139[1],FC4,F);〃4个多路选择器modulechoose74153(D,G,A,Y);choose74153choose4({outA[3]AoutD[3],outA[3]&outC[3],F⑶,F[3]},〜K,S,Y
9、[3]);choose74153choose3({outA[2]AoutD[2],outA[2]&outC[2],F[2],F[2]},〜K,S,Y[2]);choose74153choose2({outA[1]SutD[1],outA[1]&outC[1],F[1],F[1]},〜K,S,Y[1]);choose74153choose1({outA[0]AoutD[0],outA[0]&outC[0],F[0],F[0]},〜K,S,Y[0]);endmodule//寄存器74194modulereg74194(in,CP,out,Y);//
10、input[1:0]S;input[3:0]Y;input[3:0]in;inputCP;outputreg[3:0]out;regflag=0;〃初始化initialbeginout=4'b0000;endalways@(in)beginif(flag==O)beginout<=in;flag=1;endelse;endalways@(posedgeCP)beginif(flag==O)beginout<=in;flag=1;endelsebeginout<=Y;endendendmodule〃加法器74283moduleadd74283(A
11、,B,C0,FC4,F);input[3:0]A,B;inputCO;outputreg[3:0]F;outputregFC4;regC1,C2,C3