1、=g;default:endcase endmodule 图形输入如下所示:四、 实验步骤1、新建一个名称为MUX71a的工程,并在该文件夹中新建一个MUX71a.v的文件。2、编译代码,编译成功后进行第三步,若不成功则查改代码中的错误。3、在工程文件夹中新建一个MUX71a.vwf的波形文件,导入工程端口,设置输入波形,仿真得出输出端口波形。4、 验证输出端口波形是否达到七选一多路选择器的功能。五、实验数据仿真波形如下图所示。六、实验小结通过对EDA实验箱使用,了解了GW48教学实验系统原理与使用介绍;熟悉QuartusII两种输入方式下编译、仿真简单的组合电路。实验二 用原理图和Veril
2、ogHDL语言设计一位全加器熟悉在QuartusII下用原理图和VerilogHDL语言设计一位全加器。在QuartusII下用原理图和VerilogHDL语言设计一位全加器,并编译、仿真验证其功能。全加器顶层文件设计:半加器描述:四实验步骤1、新建一个名称为f_adder的工程,并在该文件夹中新建一个f_adder.bdf的文件。2、新建一个名称为h_adder.v的文件。3、编译工程,编译成功后进行下一步,若不成功则查改错误。4、 在工程文件夹中新建一个f_adder.vwf的波形文件,导入工程端口,设置输入波形,仿真得出输出端口波形。5、 验证输出端口波形是否实现一位全加器的功能。I、全
3、加器仿真波形如下图所示:II、半加器仿真波形如下图所示:通过此次实验熟悉在QuartusII下用原理图和VerilogHDL语言设计一位全加器。实验三 含异步清0和同步时钟使能的4位加法计数器熟悉在QuartusII下设计含异步清0和同步时钟使能的4位加法计数器。在QuartusII下设计含异步清0和同步时钟使能的4位加法计数器,并编译、仿真验证其功能。计数器顶层文件设计:10进制计数器文本输入:module CNT10(clk,rst,en,load,cout,dout,data);input clk,en,rst,load;input 3:0 data;output3:0 dout;out
4、put cout;reg 3:0 q1;reg cout;assign dout = q1;always (posedge clk or negedge rst)begin if (!rst) q1=0;else if(en) begin if (!load) q1=data; else if(q19) q1=q1+1; else q1=4b0000; endalways (q1) if (q1=4h9) cout= 1b1; else cout= 1b0;endmodule 60位计数器文本输入: module CNT60(CLK,EN,RST,LOAD,COUT1,COUT2,DOUT1,
5、DOUT2,DATA);input CLK,EN,RST,LOAD; input 3:0 DATA; output3:0 DOUT1; output2:0 DOUT2; output COUT1; output COUT2; reg 3:0 Q1; reg 2:0 Q2; reg COUT1; reg COUT2; assign DOUT1 = Q1; assign DOUT2 = Q2; always (negedge CLK or negedge RST) begin if(!RST) Q1 else if (EN) beginLOAD) Q1=DATA; else if (Q19) Q1
6、=Q1+1; else Q1 always (Q1) if (Q1=4h9) COUT1=1 else COUT1=1 always (negedge COUT1 or negedge RST) RST) Q2LOAD) Q2 else if (Q25) Q2=Q2+1; else Q2 always (Q2) if (Q1=4h9)&(Q2=3h5) COUT2=1 COUT2=160位计数器图形输入:1、新建一个名称为CNT10的工程,并在该文件夹中新建一个CNT10.v的文件。2、编译工程,编译成功后进行下一步,若不成功则查改错误。3、在工程文件夹中新建一个CNT10.vwf的波形文件,
7、导入工程端口,设置输入波形,仿真得出输出端口波形。4、验证输出端口波形是否实现异步清0和同步时钟使能的4位加法计数器的功能。五、实验数据 10位计数器文本输入仿真波形:60位计数器文本输入仿真波形:60位计数器图形输入仿真波形:通过此次实验熟悉在QuartusII下设计含异步清0和同步时钟使能的4位加法计数器实验四 8位十进制频率计设计熟悉在QuartusII下设计2位和8位十进制频率计。在QuartusII下设计2位和8位十进制频率计,并编译、仿真验证其功能。频率计顶层文件设计:(1)2位十进制频率计Conter8.bdf图形输入:tf_ctro.bdf图形输入:ft_top.bdf图形输入
8、:conter100.v文本输入:module conter100(CLK,CLR,EN,cout,ge,shi); input CLK,EN,CLR; output 3:0ge;0shi ; output cout; reg cout; reg 3:0shi;always (posedge CLK )CLR) ge shi cout else if(ge=9)&(shi=9)=1; else if (ge=9)=shi+1;=ge+1;=shi; end tf_ctro.v文本输入: module tf_ctro (clk,en,clr,lock);input clk;output en,c
9、lr,lock;reg en,clr,lock;integer d=0;always (posedge clk)begind=d+1;if (d=1)enlockclrelse if(d=2)endelse if (d=3)else if (d=6)else if (d=7)else if(d=8)else if(d=16)74374锁存器文本输入:module octal(clk,en,d_in,q_in );input clk,en; input 3:0 d_in; output 3:0 q_in; reg 3:0 Q; assign q_in=Q; if(!en)Q=d_in;(2)8位
10、十进制频率计1、 新建一个名称为CTR10的工程,并在该文件夹中新建一个CTR10.bdf的文件,在工程文件夹中新建一个counter8.bdf的文件。2、 编译工程,编译成功后进行下一步,若不成功则查改错误。3、 在工程文件夹中新建一个CTR10.vwf的波形文件,导入工程端口,设置输入波形,仿真得出输出端口波形。4、 验证输出端口波形是否实现8位十进制频率计的功能。仿真波形如下图所示:Conter8.bdf图形输入仿真波形: Conter100.v文本输入仿真波形:Tf_ctro.bdf图形输入仿真波形输入:ft_top.bdf图形输入仿真波形:ft_top.bdf图形输入仿真波形通过本次
11、实验熟悉在QuartusII下设计2位和8位十进制频率计,并编译、仿真验证其功能。实验五 用状态机实现对ADC0809采样控制熟悉在QuartusII下用状态机实现对ADC0809采样控制。在QuartusII下用状态机实现对ADC0809采样控制,并编译、仿真验证其功能。三实验原理四、实验程序清单module ADC0809(D,CLK,EOC,RST,ALE,START,OE,ADDA,Q,LOCK_T); input 7:0D; input CLK,RST; input EOC; output ALE; output START,OE; output ADDA,LOCK_T; outpu
12、t 7:0Q; reg ALE,START,OE; parameter s0=0, s1=1, s2=2, s3=3, s4=4; reg 4:0 cs,next_state; reg 7:0 REGL; reg LOCK; always (cs or EOC) begin case(cs) s0:next_state=s1; s1:=s2; s2:if (EOC=1b1) next_state=s3; else next_state s3:=s4; s4:=s0; default: endcase end always (cs ) beginbegin ALE=0;START=0;OE=0;
13、LOCK=0;begin ALE=1;START=1;end OE=1;LOCK=1; endcase end always (posedge CLK or posedge RST) begin if (RST) cs= s0; else cs=next_state; always (posedge LOCK) if (LOCK) REGL=D; assign ADDA=0; assign Q=REGL; assign LOCK_T=LOCK; endmodule五实验步骤1新建一个名称为ADC0809的工程,并在该文件夹中新建一个ADC0809.v的文件。2编译工程,编译成功后进行下一步,若
14、不成功则查改错误。3在工程文件夹中新建一个ADC0809.vwf的波形文件,导入工程端口,设置输入波形,仿真得出输出端口波形。4. 验证输出端口波形是否实现用状态机实现对ADC0809采样控制状态转换图:通过此次实验熟悉在QuartusII下用状态机实现对ADC0809采样控制,并编译、仿真验证其功能。实验六 交通灯设计实验熟悉在QuartusII下设计十字路口交通灯控制电路。在QuartusII下设计十字路口交通灯控制电路,并编译、仿真验证其功能。状态表:module traffic(clk,enb,accounth,account1,bccounth,bccount1,lampa1,lam
15、pa2,lampa3,lampa4,lampb1,lampb2,lampb3,lampb4); input clk,enb;0 accounth,account1,bccounth,bccount1; output lampa1,lampa2,lampa3,lampa4,lampb1,lampb2,lampb3,lampb4; reg tempa,tempb; reg 2:0 counta,countb;0 numa,numb;0 ared,ayellow,agreen,aleft,bred,byellow,bgreen,bleft; reg lampa1,lampa2,lampa3,lamp
16、a4,lampb1,lampb2,lampb3,lampb4; assign accounth,account1=numa; assign bccounth,bccount1=numb;always(enb)if(!enb) ared=8b01010101; ayellowb00000101; agreenb01000000; aleftb00010101; bredb01100101; byellow bleft bgreen0) if(numa3:0=0) numa3:0=9; numa7:4=numa7:4-1; else =numa3:0-1; if(numa=0) tempa cas
17、e(counta) 0:numa=agreen;lampa1,lampa2,lampa3,lampa4=2;counta 1:=ayellow;=4; 2:=aleft;=3; 3: 4:=ared;=8; endcase lampa1,lampa2,lampa3,lampa4b1000; counta if(numb3: numb3: numb7:=numb7:=numb3: if(numb=0) tempb case(countb)numb=bred;lampb1,lampb2,lampb3,lampb4countb=bgreen;=byellow;=bleft; lampb1,lampb
18、2,lampb3,lampb4 countb状态图:五、实验步骤1新建一个名称为traffic的工程,并在该文件夹中新建一个traffic.v的文件。3、在工程文件夹中新建一个traffic.vwf的波形文件,导入工程端口,设置输入波形,仿真得出输出端口波形。4、 验证输出端口波形是否实现用状态机实现对十字路口交通灯控制。引脚分配图:通过此次实验熟悉在QuartusII下设计十字路口交通灯控制路,并编译、仿真验证其功能。实验七 简易数字时钟系统实验-考试实验熟悉在QuartusII下设计简易数字时钟系统。在QuartusII下设计简易数字时钟系统,并编译、仿真验证其功能。三、实验要求 (1)能
19、正常计时 (2)有暂停键,清零键 (3)小时、分钟、秒钟可调(可加减) (4)整点报时四、程序清单module shizhong(CLK,CLR,HOUR,MIN,SEC,EN,HOUT,SW,MODE,up);input CLK,EN,CLR,SW,up;output HOUT,HOUR,MIN,SEC;output 3:0 MODE;reg 7:0HOUR,MIN,SEC;reg HOUT,CLK1;/CLK 为时钟,EN 为使能,也就是暂停按钮,SW为调整MODE的按钮/UP为调整时钟的加按钮也是减按钮,当MODE为1到6为加按钮,当MODE为7到12为减按钮/HOUT为报警器的控制always (CLK or up)/UP是时分秒加减按钮,在MODE 1到6 为加,7到12为减 if(MODE=0) CLK1=CLK;/*MODE 0 为时钟自动走,其他MODE为暂停调整时钟 else CLK1=up;always (posedge SW) /*调整模式,范围为模式1到模式12 if(SW) begin MODE12) MODE end end /*always (posedge CLK1 or posedge CLR) if(CLR) /*清除时间,使其为 00:00:00 begin SECHOURMIN end /*清除时间,使其为 00:/下
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1