verilog HDL 新手问题
发布网友
发布时间:2022-05-17 03:18
我来回答
共4个回答
热心网友
时间:2023-09-26 17:25
这个是错误的,帮你修改一下
moudle dff
(input i_clk;
input i_serial;
output o_detect;
);
reg [4:0] code;
always @(posedge i_clk) begin
code[0]<=i_serial;
code[4:1]<=code[3:0];
end
assign o_detect=(code==5'b10011)?1'b1:1'b0;
endmoudle追问你好,首先要谢谢你,不过还有点地方我不是很看得懂code[0]<=i_serial;
code[4:1]<=code[3:0];
这两句的功能是什么啊?code是存于rom中吗?不是很懂也
热心网友
时间:2023-09-26 17:25
input clk,nReset;
input in;
output D;
reg [2:0]state;
assign D = (state==4)&&(in==1);
always@(posedge clk or negdeg nReset)
begin
if(!nReset)
state<=0;
else
case(state)
begin
0: begin if(in) state<=1;
else state<=0;
end
1: begin if(in) state<=1;
else state<=2;
end
2: begin if(in) state<=0;
else state<=3;
end
3: begin if(in) state<=1;
else state<=4;
end
4: begin if(in) state<=1;
else state<=0;
end
default: state<=0;
end
end
热心网友
时间:2023-09-26 17:26
code[0]<=i_serial;
code[4:1]<=code[3:0];
也就是移位,将串行输入的数据一次放在code里
热心网友
时间:2023-09-26 17:26
1L那两句程序的意思是,将输入的电平i_serial变为程序中总线的最后一位,然后将总线对应的数据进行移位。这样就可以将串行的输入数据编程并行的数据了。