我正在使用 verilog 中的环形计数器制作一个并行到串行的转换器。环形计数器工作正常,但并行到串行转换器工作不正常,我得到 x 未定义的结果。我正在提供代码,请帮助我找到问题。
最佳
module PtoSTOP;
reg clk,rst;
wire [3:0] myout;
wire out;
Ring a(clk,rst,myout);
parToser x(myout,clk,rst,out);
initial begin
clk=1;
rst=1;
#1 rst=0;
end
always
#2 clk=~clk;
endmodule
并串转换器
module parToser(myout,clk,rst,out);
input clk,rst;
input [3:0] myout;
output reg out;
reg [2:0]i;
always @(posedge clk or posedge rst) begin
if(rst) begin
out <= 0;
i <= 0;
end
else begin
out <= myout[i];
i <= i+1;
end
end
endmodule
铃声计数器
module Ring(clk,rst,myout);
input clk,rst;
output reg [3:0]myout;
always @(posedge clk or posedge rst) begin
if(rst)
myout<=1;
else
myout<=myout<<1;
end
endmodule