Мой результат теста Verilog выводит значение х - PullRequest
0 голосов
/ 23 мая 2018

Пожалуйста, потерпите меня, я проверил похожие вопросы, но не смог выяснить, что не так с моим кодом, это мое первое задание с Verilog, и я не могу понять, почему мой вывод продолжает давать мне значение x, мой код очень простЯ сомневаюсь, что это очень нуждается в объяснении.

module Network_Router (P, Q, R, S, Output);
input P, Q, R, S; 
output Output;
wire Output;
reg and1, and2, and3, and4, and5, and6, or1, or2, or3, or4, or5;
initial
begin
and1 = P & Q;
and2 = Q & R;
or1 = and1 | and2;

and3 = P & R;
and4 = S & R;
or2 = and3 | and4;

or3 = or1 | or2;

and5 = Q & S;
and6 = P & S;
or4 = and5 | and6;
or5 = or3 | or4;
end
assign Output = or5;
endmodule

, а затем мой файл testbench просматривает

`include "netRouter.v"
module netRouter_tb;
reg  P, Q, R, S;    
wire Output; 
Network_Router test(P, Q, R, S, Output); 
initial 
begin 
//Dump results of the simulation to netRouter.vcd
$dumpfile("netRouter.vcd");
$dumpvars;
P <= 0; Q <= 0; R <= 0; S <= 0;
#5 
P <= 0; Q <= 0; R <= 0; S <= 1; 
#5 
P <= 0; Q <= 0; R <= 1; S <= 0;
#5 
P <= 0; Q <= 0; R <= 1; S <= 1;
#5
P <= 0; Q <= 1; R <= 0; S <= 0;
#5
P <= 0; Q <= 1; R <= 0; S <= 1;
#5
P <= 0; Q <= 1; R <= 1; S <= 0;
#5
P <= 0; Q <= 1; R <= 1; S <= 1;
#5
P <= 1; Q <= 0; R <= 0; S <= 0;
#5
P <= 1; Q <= 0; R <= 0; S <= 1;
#5
P <= 1; Q <= 0; R <= 1; S <= 0;
#5
P <= 1; Q <= 0; R <= 1; S <= 1;
#5
P <= 1; Q <= 1; R <= 0; S <= 0;
#5
P <= 1; Q <= 1; R <= 0; S <= 1;
#5
P <= 1; Q <= 1; R <= 1; S <= 0;
#5
P <= 1; Q <= 1; R <= 1; S <= 1;
end 
initial 
begin 
$monitor("time=%4d: %b %b %b %b : Output = %b",$time,P, Q, R, S, Output);   
end 
endmodule 

Спасибо большое за продвижение, еще раз извините за аналогичный вопрос.Я не могу понять это на основе подобных вопросов.

1 Ответ

0 голосов
/ 23 мая 2018

У вас есть initial в модуле Network_Router.
Замените его на always @ ( * )

Эта инициализация выполняется один раз при запуске кода, а затем никогда больше.Когда код запускается, все ваши значения reg равны x.

...