用verilog设计一个加减可控的九进制计数器
答案:2 悬赏:60 手机版
解决时间 2021-04-07 15:40
- 提问者网友:王者佥
- 2021-04-06 19:57
用verilog设计一个加减可控的九进制计数器
最佳答案
- 五星知识达人网友:渡鹤影
- 2021-04-06 20:56
这是39进制计数器,可进行加减操作,为0时减操作输出38,为38是加操作输出0.你改一下就成9进制了
module counter_39{
add,
dec,
counter
};
input add; //为1时加操作
input dec; //为1时减操作
output [5:0] counter;
reg [5:0] counter;
always @(add and dec) begin
if(add && !dec) begin
if(counter == 6'd38) begin
counter <= 6'd0;
end
else begin
counter <= counter + 1'b1;
end
end
if(!add and dec) begin
if(counter == 6'd0) begin
counter <= 6'd38;
end
else begin
counter <= counter - 1'b1;
end
end
end
endmodule
module counter_39{
add,
dec,
counter
};
input add; //为1时加操作
input dec; //为1时减操作
output [5:0] counter;
reg [5:0] counter;
always @(add and dec) begin
if(add && !dec) begin
if(counter == 6'd38) begin
counter <= 6'd0;
end
else begin
counter <= counter + 1'b1;
end
end
if(!add and dec) begin
if(counter == 6'd0) begin
counter <= 6'd38;
end
else begin
counter <= counter - 1'b1;
end
end
end
endmodule
全部回答
- 1楼网友:行路难
- 2021-04-06 21:45
//这是39进制计数器,可进行加减操作,为0时减操作输出38,为38是加操作输出0.你改一下就成9进制了
module counter_39{
add,
dec,
counter
};
input add; //为1时加操作
input dec; //为1时减操作
output [5:0] counter;
reg[5:0] counter;
always @(add and dec) begin
if(add && !dec) begin
if(counter == 6'd38) begin
counter <= 6'd0;
end
else begin
counter <= counter + 1'b1;
end
end
if(!add and dec) begin
if(counter == 6'd0) begin
counter <= 6'd38;
end
else begin
counter <= counter - 1'b1;
end
end
end
endmodule
module counter_39{
add,
dec,
counter
};
input add; //为1时加操作
input dec; //为1时减操作
output [5:0] counter;
reg[5:0] counter;
always @(add and dec) begin
if(add && !dec) begin
if(counter == 6'd38) begin
counter <= 6'd0;
end
else begin
counter <= counter + 1'b1;
end
end
if(!add and dec) begin
if(counter == 6'd0) begin
counter <= 6'd38;
end
else begin
counter <= counter - 1'b1;
end
end
end
endmodule
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯