资源描述:
《西安交大电子技术基于某hdl地组合逻辑实验》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、成绩西安交通大学实验报告第页(共页)课程电子技术实验实验日期:年月日专业班号:电气12组别:交报告日期:年月日姓名:崔彧菲学号:2110401038报告退发:(订正、重做)同组者_____________________________教师审批签字:实验名称:基于HDL的组合逻辑实验一.实验目的1.学习使用ISE软件生成一个新的工程文件;2学习使用HDL进行电路设计;3.学习编辑顶层文件和用户约束文件4.熟悉仿真、综合、实现及FPGA配置等;5.熟悉在Basys2开发板啥简单外围设备的控制。二.预习内容1.使用H
2、DL设计一逻辑功能y=~(a&b
3、c&d):1.1HDL源文件(Verilog):modulegates1(inputa,inputb,inputc,inputd,8outputz);assignz=~(a&b
4、c&d);endmodule1.2Basys2约束文件:NET"a"LOC=P11;NET"b"LOC=L3;NET"c"LOC=K3;NET"d"LOC=B4;NET"z"LOC=M5;1.3仿真文件:moduletext_gates1;//Inputsrega;regb;regc;regd;//Out
5、putswirez;//InstantiatetheUnitUnderTest(UUT)gates1uut(.a(a),.b(b),.c(c),.d(d),.z(z));initialbegin//InitializeInputsa=0;b=0;c=0;d=0;//Wait100nsforglobalresettofinish#100;//Addstimulushere#100a<=1;b<=0;c<=0;d<=0;#200a<=1;b<=1;c<=0;d<=0;#200a<=1;b<=0;c<=1;d<=0;#
6、200a<=1;b<=0;c<=0;d<=1;#2008a<=1;b<=1;c<=1;d<=0;#200a<=1;b<=1;c<=0;d<=1;#200a<=1;b<=1;c<=1;d<=1;#200a<=0;b<=1;c<=0;d<=0;#200a<=0;b<=0;c<=1;d<=0;#200a<=0;b<=0;c<=0;d<=1;#200a<=0;b<=0;c<=1;d<=1;#200a<=0;b<=1;c<=1;d<=0;#200a<=0;b<=1;c<=0;d<=1;#200a<=0;b<=1;c<=1;
7、d<=1;#200a<=1;b<=0;c<=1;d<=1;endendmodule1.4仿真测试截图:2.设计一个4选1多路选择器:82.1HDL源文件(Verilog):modulemux(inputwirea,inputwireb,inputwirec,inputwired,inputwires,inputwirer,outputwirey);assigny=~(s
8、r)&a
9、~s&r&b
10、s&~r&c
11、s&r&d;endmodule2.2Basys2约束文件:NET"a"LOC=P11;NET"b"LOC=
12、L3;NET"c"LOC=K3;NET"d"LOC=B4;NET"s"LOC=G3;NET"r"LOC=F3;NET"y"LOC=M5;2.3仿真文件:moduletext_mux;//Inputsrega;regb;8regc;regd;regs;regr;//Outputswirey;//InstantiatetheUnitUnderTest(UUT)muxuut(.a(a),.b(b),.c(c),.d(d),.s(s),.r(r),.y(y));initialbegin//InitializeInputs
13、a=1;b=0;c=1;d=0;s=0;r=0;//Wait100nsforglobalresettofinish#100;//Addstimulushere#100s<=0;r<=1;#200s<=1;r<=0;#200s<=1;r<=1;endendmodule2.4仿真测试截图:83.四位数码管动态显示:3.1HDL源文件(Verilog):modulex7seg(inputwire[7:0]x,inputwireclk,inputwireclr,outputreg[6:0]a_to_g,outputreg
14、[3:0]an);wire[1:0]s;8reg[3:0]digit;reg[19:0]clkdiv;assigns=clkdiv[19:18];always@(*)case(s)0:digit=x[7:4];1:digit=x[3:0];3:digit=0;4:digit=0;default:digit=x[7:4];endcasealways@(*)case(digi