Valorar el testvector verilog adaptable para bloque analógico

0

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
    
pregunta BEBO GEE

0 respuestas

Lea otras preguntas en las etiquetas