您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > 华科数电实验第四次报告
数字逻辑实验报告(4)团队成员:姓名班级学号贡献百分比实验部分:实验完成结果、时间(亮点、完成、基本完成、未完成)总分(实验部分70%+报告30%)第一个实验第二个实验第三个实验检查结果检查时间检查老师报告人:实验指导教师:报告批阅教师:计算机科学与技术学院20年月日《数字电路与逻辑设计》实验报告学生姓名:学号:所在班级:第[]页共[]页一、实验内容基于FPGA应用的逻辑电路设计二、实验目的1.学习FPGA的设计方法;2.掌握利用VerilogHDL设计逻辑电路的能力。三、实验所用组件Basys2开发板(芯片为XC3S100E,封装为CP132)1套。四、实验要求1.4位二进制计数器(必选)设计一个能清零、置数和进位/借位输出的增1/减1的4位二进制计数器,其结构框图如图1所示。电路输入为计数脉冲CP、工作模式选择M、预制初值D,C,B,A(其中D为高位,A为低位)和预制控制LD,清零端CLR;输出为计数值QD,QC,QB,QA(QD为高位,QA为低位)和进位/借位输出Qcc。当CLR为0时,电路输出清零;预制控制LD=0时,将D、C、B、A的输入值送到计数器中,并立即在QD,QC,QB,QA中输出。模式选择端M=1时加1计数,当M=0时减1计数。当CP端输入一个上升沿信号时进行一次计数,计数有进位/借位时Qcc端输出一个负脉冲。具体要求:图14位二进制加法/减法计数器(1)用VerilogHDL实现该计数器,将之下载到Basys2开发板中,并进行验证;(2)借助该4位二进制计数器,用VerilogHDL实现一个初值为2的模8计数器,将之下载到Basys2开发板中,并进行验证。《数字电路与逻辑设计》实验报告学生姓名:学号:所在班级:第[]页共[]页2.两位二进制数值比较器(必选)设计一个二位二进制数值比较器。当AB时,F1=1,F2=F3=0;当A=B时,F2=1,F1=F3=0;当AB时,F3=1,F1=F2=0。具体要求:(1)用VerilogHDL设计一个一位二进制数值比较器(行为级描述);(2)利用所设计的一位二进制数值比较器,用VerilogHDL设计一个二位二进制数值比较器(结构级描述);(3)将所设计的电路下载到Basys2开发板上,并进行验证。3.单脉冲发生器(可选)用与非门设计一个单脉冲发生器,电路如图2所示。图2单脉冲发生器电路图典型输入、输出时间图见图3具体要求:图3.典型输入、输出时间图(1)用VerilogDHL描述所设计的电路图(采用行为级描述),将之下载到Basys2开发板中,并进行验证。《数字电路与逻辑设计》实验报告学生姓名:学号:所在班级:第[]页共[]页五、实验方案设计1.4位二进制计数器的设计方案[要求:给出详细的设计过程,包括源程序、仿真程序、引脚约束(绑定)代码和注释等,可续页](1).4位二进制计数器i.源程序moduleadd_minus(inputCP,inputM,outputreg[4:1]Q,inputLD,inputCLR,input[4:1]BEGIN,outputregQcc);//regdelay;initialbeginQ=0;endalways@(posedgeCP)beginQcc=1;if(CLR==0)//清零beginQ=0;end《数字电路与逻辑设计》实验报告学生姓名:学号:所在班级:第[]页共[]页elseif(LD==0)//置位beginQ=BEGIN;endelsebeginif(M==1)//加1操作beginif(Q==15)beginQcc=0;Q=0;endelsebeginQ=Q+1;endend//减1操作elsebeginif(Q==0)beginQcc=0;Q=15;end《数字电路与逻辑设计》实验报告学生姓名:学号:所在班级:第[]页共[]页elsebeginQ=Q-1;endendendendendmoduleii.仿真程序moduletest;//InputsregCP;regM;regLD;regCLR;reg[4:1]BEGIN;//Outputswire[4:1]Q;wireQcc;parametert=20;//InstantiatetheUnitUnderTest(UUT)add_minusuut(.CP(CP),《数字电路与逻辑设计》实验报告学生姓名:学号:所在班级:第[]页共[]页.M(M),.Q(Q),.LD(LD),.CLR(CLR),.BEGIN(BEGIN),.Qcc(Qcc));initialbegin//InitializeInputsCP=0;M=0;//减功能//M=0;//加功能LD=1;CLR=1;BEGIN=0;//Wait100nsforglobalresettofinish//#100;//Addstimulushereendalwaysbegin#(t/2)CP=~CP;end《数字电路与逻辑设计》实验报告学生姓名:学号:所在班级:第[]页共[]页endmoduleiii.管脚约束#CreatedbyConstraintsEditor(xc3s100e-cp132-4)-2015/06/20NETCPTNM_NET=CP;NETBEGIN[1]LOC=P11;NETQ[1]LOC=M5;NETQ[2]LOC=M11;NETQccLOC=N5;NETQ[3]LOC=P7;NETQ[4]LOC=P6;NETBEGIN[2]LOC=L3;NETBEGIN[3]LOC=K3;NETBEGIN[4]LOC=B4;NETCLRLOC=N3;NETCPLOC=A7;NETLDLOC=E2;#PlanAheadGeneratedphysicalconstraintsNETMLOC=F3;(2).初值为2的计数器i.源程序`includeadd_minus.vmoduleadd_minus2(inputCP,inputM,output[4:1]Q,inputLD,inputCLR,input[4:1]BEGIN,outputQcc);wirew1,w2;add_minusA(.CP(CP),.M(M),.Q(Q),.LD(w1),.BEGIN(BEGIN),.CLR(CLR));nandN(w1,Q[4],Q[2]);《数字电路与逻辑设计》实验报告学生姓名:学号:所在班级:第[]页共[]页nandN2(Qcc,Q[4],Q[2]);endmoduleii.仿真程序moduletest;//InputsregCP;regM;regLD;regCLR;reg[4:1]BEGIN;//Outputswire[4:1]Q;wireQcc;parametert=20;//InstantiatetheUnitUnderTest(UUT)add_minusuut(.CP(CP),.M(M),.Q(Q),.LD(LD),.CLR(CLR),《数字电路与逻辑设计》实验报告学生姓名:学号:所在班级:第[]页共[]页.BEGIN(BEGIN),.Qcc(Qcc));initialbegin//InitializeInputsCP=0;M=0;//减功能//M=1;//加功能LD=1;CLR=1;BEGIN=0;//Wait100nsforglobalresettofinish//#100;//Addstimulushereendalwaysbegin#(t/2)CP=~CP;endendmoduleiii.管脚约束#CreatedbyConstraintsEditor(xc3s100e-cp132-4)-2015/06/20NETCPTNM_NET=CP;NETBEGIN[1]LOC=P11;《数字电路与逻辑设计》实验报告学生姓名:学号:所在班级:第[]页共[]页NETQ[1]LOC=M5;NETQ[2]LOC=M11;NETQccLOC=N5;NETQ[3]LOC=P7;NETQ[4]LOC=P6;NETBEGIN[2]LOC=L3;NETBEGIN[3]LOC=K3;NETBEGIN[4]LOC=B4;NETCLRLOC=N3;NETCPLOC=A7;NETLDLOC=E2;#PlanAheadGeneratedphysicalconstraintsNETMLOC=F3;《数字电路与逻辑设计》实验报告学生姓名:学号:所在班级:第[]页共[]页《数字电路与逻辑设计》实验报告学生姓名:学号:所在班级:第[]页共[]页2.两位二进制数值比较器的设计方案[要求:给出详细的设计过程,包括源程序、仿真程序、引脚约束(绑定)代码和注释等,可续页](a)一位二进制数值比较器i.源代码modulecompare(inputA,inputB,outputregF1,outputregF2,outputregF3);initialbeginF1=0;F2=0;F3=0;endalways@(A,B)beginif(AB)beginF1=1;F2=0;F3=0;endelseif(A==B)beginF1=0;F2=1;F3=0;endelsebeginF1=0;F2=0;F3=1;《数字电路与逻辑设计》实验报告学生姓名:学号:所在班级:第[]页共[]页endendendmoduleii.仿真程序moduletest;//InputsregA;regB;//OutputswireF1;wireF2;wireF3;//InstantiatetheUnitUnderTest(UUT)compareuut(.A(A),.B(B),.F1(F1),.F2(F2),.F3(F3));initialbegin//InitializeInputsA=0;B=0;//Wait100nsforglobalresettofinish//#100;//Addstimulushere#10A=0;B=1;#10A=1;B=0;#10A=1;B=1;#10A=0;B=0;《数字电路与逻辑设计》实验报告学生姓名:学号:所在班级:第[]页共[]页endendmoduleiii.管脚约束#PlanAheadGeneratedphysicalconstraintsNETALOC=L3;NETBLOC=P11;NETF1LOC=P7;NETF2LOC=M11;NETF3LOC=M5;《数字电路与逻辑设计》实验报告学生姓名:学号:所在班级:第[]页共[]页(b)二位二进制数值比较器i.源代码modulecompare2(inputA0,inputA1,inputB0,inputB1,outputF1,outputF2,outputF3);wirew1,w2,w3,w4,w5,w6;compareC1(.A(A0),.B(A1),.F1(w1),.F2(w2),.F3(w3));compareC2(.A(B0),.B(B1),.F1(w4),.F2(w5),.F3(w6));assignF1=w1|(w2&w4);assignF2=w2&w5;assignF3=w3|(w2&w6);endmoduleii.仿真文件moduletest;//InputsregA0;regA1;regB0;regB1;《数字电路与逻辑设计》实验报告学生姓名:学号:所在班级:第[]页共[]页//OutputswireF1;wireF2;wireF3;//InstantiatetheUnitUnderTest(UUT)compare2uut(.A0(A0),.A1(A1),.B0(B0),.B1(B1),.F1(F1),.F2(F2),.F3(F3));initialbegin//InitializeInputsA0=0;A1=0;B0=0;B1=0;//Wait100nsforglobalresettofinish//#100;//Addstimulushere《数字电路与逻辑设计》实验报告学生姓名:学号:所在班级:第[]页共[]页e
本文标题:华科数电实验第四次报告
链接地址:https://www.777doc.com/doc-4229034 .html