Tengo un circuito analógico que estoy tratando de probarlo con el bloque Verilog, de manera que los vectores de prueba de los bloques Verilog se apliquen a una velocidad adaptativa al circuito analógico, en lugar de aplicarlos a un reloj fijo.
El problema es que solo se genera el primer vector de prueba y el diseño detiene el código del testvector.v:
'timescale 1ns / 1ps
module tb(input [1:0] c, output reg [1:0] a,b);
begin
initial
begin
$monitor ("A=%b\t B=%b\t C=%b\t",a ,b,c);
a=0; b=0; // NULL
@(c) a=1; b=1;// a=0 b=0
@(c) a=0; b=0; // NULL
@(c) a=1; b=2;// a=0 b=1
@(c) a=0; b=0; // NULL
@(c) a=2; b=1;// a=1 b=0
@(c) a=0; b=0; // NULL
@(c) a=2; b=2;// a=1 b=1
@(c) a=0; b=0; // NULL
@(c) $finish ;
end
end
endmodule
'timescale 1ns / 1ps
module tb(input [1:0] c, output reg [1:0] a,b);
intger k;
begin
initial
begin
a=0; b=0; k=8;
end
always @(c)
begin
case (c)
8: a=1; b=1;
7: a=0; b=0;
6: a=1; b=2;
5: a=0; b=0;
4: a=2; b=1;
3: a=0; b=0;
2: a=2; b=2;
1: a=0; b=0;
0: $break;
endcase
k=k-1;
end
endmodule