📄 state_m.v
字号:
/* State machine design for Quartus tutorial Project */
module state_m ( clk, reset, newt, sel, next, first);
// Port Declaration
input clk, reset, newt;
output next, first;
output [1:0]sel;
// Wire Declaration
reg next, first;
reg [1:0] sel;
reg [2:0] filter;
parameter idle = 0, tap1 = 1, tap2 = 2, tap3 = 3, tap4 = 4;
always
begin
case (filter)
idle: begin
sel = 0;
next = 0;
first = 0;
end
tap1: begin
sel = 0;
next=0;
first = 1;
end
tap2: begin
sel = 1;
next=0;
first = 0;
end
tap3: begin
sel = 2;
next=0;
first=0;
end
tap4: begin
sel = 3;
next = 1;
first=0;
end
endcase
end
always @(posedge clk or posedge reset)
begin
if (reset)
filter = idle;
else
case (filter)
idle: begin
if (newt)
filter = tap1;
end
tap1: begin
filter = tap2;
end
tap2: begin
filter = tap3;
end
tap3: begin
filter = tap4;
end
tap4: begin
if (newt)
filter = tap1;
else
filter = idle;
end
endcase
end
endmodule
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -