📄 1.txt
字号:
module router(dout,nFrameo,nValido,address,
din, nFrame, nValid,clk, nRst);
output reg dout;
output reg nFrameo;
output reg nValido;
output reg [3:0]address;
input din, nFrame, nValid;
input clk, nRst;
parameter Idle_state=0, Addr_state=1, Data_state=2;
reg [1:0]state;
reg [1:0]next_state;
reg [8:0]shifter;
reg [3:0]bitCounter;
always @(posedge clk or nRst)
if(!nRst)
begin
dout<=0;
nFrameo<=0;
nValido<=0;
state<=0;
shifter<=0;
bitCounter<=0;
end
else state<=next_state;
always @(posedge clk)
case(state)
Idle_state: //Idle_state
begin
if(!nFrame) next_state<=Addr_state;
else next_state<=Idle_state;
nFrameo<=1;
nValido<=1;
bitCounter<=0;
end
Addr_state: //Addr_state
begin
if(bitCounter==9) next_state<=Data_state;
else
begin
bitCounter<=bitCounter+1;
next_state<=Addr_state;
shifter<={shifter[7:0],din};
end
end
Data_state: //Data_state
begin
if(nFrame==1) next_state<=Idle_state;
else next_state<=Data_state;
dout<=din;
address<=shifter[3:0];
nValido<=nValid;
nFrameo<=0;
end
default: next_state<=Idle_state;
endcase
endmodule
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -