keybuffer.v
来自「我们的课程设计,三层电梯控制器模拟程序.用verilog HDL语言编写」· Verilog 代码 · 共 104 行
V
104 行
module keybuffer(rst,
up_key_1,
up_key_2,
down_key_2,
down_key_3,
to_key_1,
to_key_2,
to_key_3,
up_rq_1,
up_rq_2,
down_rq_2,
down_rq_3,
to_rq_1,
to_rq_2,
to_rq_3,
up_rq_1_done,
up_rq_2_done,
down_rq_2_done,
down_rq_3_done,
to_rq_1_done,
to_rq_2_done,
to_rq_3_done
);
input rst;
input up_key_1;
input up_key_2;
input down_key_2;
input down_key_3;
input to_key_1;
input to_key_2;
input to_key_3;
output up_rq_1;
output up_rq_2;
output down_rq_2;
output down_rq_3;
output to_rq_1;
output to_rq_2;
output to_rq_3;
input up_rq_1_done;
input up_rq_2_done;
input down_rq_2_done;
input down_rq_3_done;
input to_rq_1_done;
input to_rq_2_done;
input to_rq_3_done;
reg up_rq_1;
reg up_rq_2;
reg down_rq_2;
reg down_rq_3;
reg to_rq_1;
reg to_rq_2;
reg to_rq_3;
always @(up_key_1 or up_rq_1_done or rst)begin
if(up_rq_1_done | ~rst)
up_rq_1 <= 1'b0;
else if(up_key_1)
up_rq_1 <= 1'b1;
end
always @(up_key_2 or up_rq_2_done or rst)begin
if(up_rq_2_done | ~rst)
up_rq_2 <= 1'b0;
else if(up_key_2)
up_rq_2 <= 1'b1;
end
always @(down_key_2 or down_rq_2_done or rst)begin
if(down_rq_2_done | ~rst)
down_rq_2 <= 1'b0;
else if(down_key_2)
down_rq_2 <= 1'b1;
end
always @(down_key_3 or down_rq_3_done or rst)begin
if(down_rq_3_done | ~rst)
down_rq_3 <= 1'b0;
else if(down_key_3)
down_rq_3 <= 1'b1;
end
always @(to_key_1 or to_rq_1_done or rst)begin
if(to_rq_1_done | ~rst)
to_rq_1 <= 1'b0;
else if(to_key_1)
to_rq_1 <= 1'b1;
end
always @(to_key_2 or to_rq_2_done or rst)begin
if(to_rq_2_done | ~rst)
to_rq_2 <= 1'b0;
else if(to_key_2)
to_rq_2 <= 1'b1;
end
always @(to_key_3 or to_rq_3_done or rst)begin
if(to_rq_3_done | ~rst)
to_rq_3 <= 1'b0;
else if(to_key_3)
to_rq_3 <= 1'b1;
end
endmodule
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?