Я делаю параллельный последовательный преобразователь, используя кольцевой счетчик в verilog. Счетчик звонков работает нормально, но параллельный последовательный преобразователь работает неправильно, и я получаю x undefined result. Я предоставляю код, любезно помогаю мне найти проблему.Parallel To Serial HDL
ТОП
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
RingCounter
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
я все еще получаю тот же результат – Naruto
код одинаковые – Naruto
Вопросы могут быть в стадии разработки, так как люди при условии, ответы, которые они ожидают, что вопросы, которые будут обновлены, чтобы удалить несвязанные ошибки. Если вопросы не обновляются, чтобы удалить более видимые, но несвязанные ошибки, вы, вероятно, получите много ответов о более простых проблемах. В любом случае возникла небольшая проблема с вашей адресацией результата. – Morgan