西安交通大学数字电子技术实验报告(7)

2019-03-03 13:17

NET \2.24进制计数器 (1)VERILOG程序 module top ( input wire clk,

input wire clk0, input wire clr1,

output wire [3:0]Second_an, output wire [6:0]Second_q );

wire jinwei; //模块间链接定义(注意须是wire)

Second instance_Second ( .clk(clk), .sec(sec) );

cnt60 instance_cnt24 ( .clk(sec), .clr(clr), .clk0(clk0),

.cnt60_an(Second_an), .cnt60_q(Second_q),

.carry(carry) );

//这里省去了24进制计数器进位输出变量carry

Endmodule module Second( input wire clk, output reg sec );

reg q1;

always @(posedge clk) begin if(q1==1) begin q1<=0;

sec<=~sec; //得到1Hz信号 end else q1<=q1+1; end

endmodule module cnt24 ( input wire clk,

input wire clr, input wire clk0,

output reg [3:0]cnt60_an, output reg [6:0]cnt60_q, output reg carry );

reg [3:0]cntl;

reg [3:0]cnth;

reg [19:0]clkdiv; //初始化 initial begin cntl=2; cnth=1; end

//24进制计数器

always @(posedge clk ) begin carry=0;

cntl=cntl+1; if(cntl==9) begin

cntl=0; cnth=cnth+1; end

if(cnth==2&&cntl==3) begin cntl=0; cnth=0;

carry=1; //carry是24进制计数器的进位 end end wire s;

reg [3:0]di=10; assign s=clkdiv[19];

always@(*) case(s) 0:di=cntl; 1:di=cnth; endcase

always@(*) case(di)

0:cnt60_q=7'b0000001; 1:cnt60_q=7'b1001111; 2:cnt60_q=7'b0010010; 3:cnt60_q=7'b0000110; 4:cnt60_q=7'b1001100; 5:cnt60_q=7'b0100100; 6:cnt60_q=7'b0100000; 7:cnt60_q=7'b0001111; 8:cnt60_q=7'b0000000; 9:cnt60_q=7'b0000100; default:

begin

cnt60_q=7'b0000001; end

endcase

always@(*)


西安交通大学数字电子技术实验报告(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:华远五期绿色施工综合总结报告(1015) - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: