实训报告
课程名称: 学生姓名: 学 号:
专业班级:
年 月 日
南昌大学实训报告
学生姓名: 学 号: 专业班级: 实训类型:□ 验证 □ 综合 √ 设计 □ 创新 实训日期: 实验成绩:
一、实训项目名称 24进制计数器设计
二、实训目的
由中规模可预置二进制加法计数器40161和门电路组成二十四进制计数器(8421BCD码)
三、实训要求
1. 熟悉仿真开发软件Quartus II的使用;
2. 根据功能要求,用原理图或文本输入方式完成设计; 3. 用Quartus II做波形仿真调试; 4. 下载至EDA试验仪调试设计。
四、实训基本原理(附源程序清单,原理图、RTL图)
用两个ls161为主,其中一个为输出结果的低四位,另一个为输出结果的高4位,低四位从0000到1001(即十进制的九)然后置0000 并且高四位加1,如此到高四位为0010,第四位为0011,这时计数到23,进位信号输出1,同时8位输出同时置0;
原理图:
源程序:
module ls161(Q,RCO,D,ET,EP,LOAD,CLR,CLK); output [3:0]Q; output RCO; input [3:0]D;
input LOAD,ET,EP,CLR,CLK; reg [3:0]Q; wire EN;
assign EN=ET&EP;
always@(posedge CLK or negedge CLR) begin
if(!CLR)
Q=4'b0000;
else if(!LOAD) Q=D;
else if(EN) begin
if(Q==15) Q=0;
else
Q=Q+1;
end
end
assign RCO=((Q==4'b1111)&EN)?1:0; endmodule
module XS7D(DIN,DOUT); input [3:0] DIN; output [6:0] DOUT; reg [6:0]DOUT; always@(DIN) begin case(DIN)
0:DOUT='b0111111; 1:DOUT='b0000110; 2:DOUT='b1011011; 3:DOUT='b1001111;
4:DOUT='b1100110; 5:DOUT='b1101101; 6:DOUT='b1111101; 7:DOUT='b0000111; 8:DOUT='b1111111;
9:DOUT='b1101111;
endcase end endmodule
module qzm(DOUTH,DOUTL,CO,CLK); output DOUTH,DOUTL,CO; input CLK; wire [3:0]QH; wire [3:0]QL; wire [3:0]D; wire [6:0]DOUTH; wire [6:0]DOUTL;
wire CO,LOADL,LOADH,LOADR,ENR; wire VCC,GND;
assign D=4'b0000,VCC=1,GND=0; ls161
u1
(.Q(QL),.RCO(GND),.D(D),.ET(VCC),.EP(VCC),.LOAD(LOADH),.CLR(VCC),.CLK(CLK)); ls161
u2
(.Q(QH),.RCO(GND),.D(D),.ET(ENR),.EP(ENR),.LOAD(LOADL),.CLR(VCC),.CLK(CLK));
nand u3 (LOADR,QL[0],QL[3]); nand u4 (LOADL,QH[1],QL[1],QL[0]); not u5 (ENR,LOADR); not u6 (CO,LOADL);
and u7 (LOADH,LOADR,LOADL); XS7D u8 (.DIN(QL),.DOUT(DOUTL)); XS7D u9 (.DIN(QH),.DOUT(DOUTH)); endmodule
RTL图:
五、主要仪器设备、软件及耗材 Quartus II EDA开发板
六、调试过程及处理结果 波形图;
七、思考讨论题或体会或对改进实验的建议