📄 mokcounter.v
字号:
module moKcounter(//input clk,se,K,reset, //output carry,borrow); input se,clk,reset; input[3:0] K; reg[16:0] kmode,count; output carry,borrow; wire carry,borrow; always @(K) begin case(K) 4'd1:kmode=17'd7; 4'd2:kmode=17'd15; 4'd3:kmode=17'd31; 4'd4:kmode=17'd63; 4'd5:kmode=17'd127; 4'd6:kmode=17'd255; 4'd7:kmode=17'd511; 4'd8:kmode=17'd1023; 4'd9:kmode=17'd2047; 4'd10:kmode=17'd4096; 4'd11:kmode=17'd8191; 4'd12:kmode=17'd16383; 4'd13:kmode=17'd32767; 4'd14:kmode=17'd65535;4'd15:kmode=17'd131071;default:kmode=17'bz; endcase end always @(posedge clk or reset) begin if(!reset) count=0; else if(se) begin if(count==0) count=kmode[16:1]; else count=count-1; end else begin if(count==kmode) count=kmode[16:1]; else count=count+1; end end assign carry=(count>=kmode-7)&&(~se); assign borrow=(count<=7)&&se; endmodule
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -