EDA 二十四进制计数器设计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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开发板

六、调试过程及处理结果

波形图;

七、思考讨论题或体会或对改进实验的建议

相关文档
最新文档