900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 【verilog_9】: 设计16位二进制计数器 带异步复位 同步使能 同步装载 同步清零 同步置位

【verilog_9】: 设计16位二进制计数器 带异步复位 同步使能 同步装载 同步清零 同步置位

时间:2019-08-17 12:18:20

相关推荐

【verilog_9】:  设计16位二进制计数器 带异步复位 同步使能 同步装载 同步清零 同步置位

2.设计16位二进制计数器,带异步复位、同步使能、同步装载、同步清零、同步置位

法一

author : Mr.Maoe-mail : 2458682080@module CNT_16B2(rst_a, en_s, load_s, clr_s, clk, q, cnt, data) ;input rst_a, en_s, load_s, clr_s, clk ;input [0:15] data ;output reg [0:15] cnt ; //2^16 = 65536output reg q ;always@(posedge clk or negedge rst_a)beginif(!rst_a)cnt <= 0 ;else if(en_s) beginif(load_s)cnt <= data ;else if(clr_s) cnt <= 0 ;else if(cnt < 65536)cnt <= cnt + 1 ;else cnt <= cnt ; endendalways@(posedge clk) beginif(cnt == 65535) q <= 1'b1 ;elseq <= 1'b0 ; endendmodule

法二

author : Mr.Maoe-mail : 2458682080@module cntx(input clk,input reset,input [5:0] d,input en,input load,input sclr,input sset,output reg[15:0] q,output cout);always @(posedge clk,posedge reset)if(reset)q <= 0;else if(sclr)q <= 0;else if(sset)q <= -1;else if(load)q <= d;else if(en)q <= q + 1'b1;assign cout = (q==60-1);endmodule

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。