EDA 二十四进制计数器设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实训报告
课程名称:
学生姓名:
学号:
专业班级:
年月日
南昌大学实训报告
学生姓名:学号:专业班级:
设计□创新实训日期:实验成绩:
实训类型:□验证□综合
一、实训项目名称
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),.CL R(VCC),.CLK(CLK));
ls161 u2 (.Q(QH),.RCO(GND),.D(D),.ET(ENR),.EP(ENR),.LOAD(LOADL),.CL R(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开发板
六、调试过程及处理结果
波形图;
七、思考讨论题或体会或对改进实验的建议