Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> Verilog

Formato de hora de Verilog

La directiva de escala de tiempo de Verilog especifica la unidad de tiempo y la precisión para las simulaciones.

Verilog $timeformat función del sistema especifica %t estilo de informe del especificador de formato en declaraciones de visualización como $display y $strobe .

Sintaxis

  
  
$timeformat(<unit_number>, <precision>, <suffix_string>, <minimum field width>);

  

Número de unidad Unidad de tiempo
-3 1ms
-6 1us
-9 1ns
-12 1ps
-15 1fs

Ejemplo #1:1ns/1ps

Este es un ejemplo de cómo $timeformat afecta el formato de visualización de la unidad de tiempo.

  
  
`timescale 1ns/1ps

module tb;
  bit 	a;
  
  initial begin
    
    // Wait for some time - note that because precision is 1/1000 of
    // the main scale (1ns), this delay will be truncated by the 3rd
    // position
    #10.512351;
    
    // Display current time with default timeformat parameters
    $display("[T=%0t] a=%0b", $realtime, a);
    
    // Change timeformat parameters and display again
    $timeformat(-9, 2, " ns");
    $display("[T=%0t] a=%0b", $realtime, a);
    
    // Remove the space in suffix, and extend fractional digits to 5
    $timeformat(-9, 5, "ns");
    $display("[T=%0t] a=%0b", $realtime, a);
    
    // Here suffix is wrong, it should not be "ns" because we are
    // setting display in "ps" (-12) 
    $timeformat(-12, 3, " ns");
    $display("[T=%0t] a=%0b", $realtime, a);
    
    // Correct the suffix to ps
    $timeformat(-12, 2, " ps");
    $display("[T=%0t] a=%0b", $realtime, a);
  end
endmodule

  
Registro de simulación
xcelium> run
[T=10512] a=0
[T=10.51 ns] a=0
[T=10.51200ns] a=0
[T=10512.000 ns] a=0
[T=10512.00 ps] a=0
xmsim: *W,RNQUIE: Simulation is complete.

Ejemplo #2:1ns/100ps

Aquí está el mismo ejemplo de arriba con una escala de tiempo diferente.

  
  
`timescale 1ns/100ps

  
Registro de simulación
xcelium> run
[T=105] a=0
[T=10.50 ns] a=0
[T=10.50000ns] a=0
[T=10500.000 ns] a=0
[T=10500.00 ps] a=0
xmsim: *W,RNQUIE: Simulation is complete.

Ejemplo #3:100ns/1ns

  
  
`timescale 100ns/1ns

  

#1 representa 100ns y por lo tanto #10 produce 1000ns

Registro de simulación
xcelium> run
[T=1051] a=0
[T=1051.00 ns] a=0
[T=1051.00000ns] a=0
[T=1051000.000 ns] a=0
[T=1051000.00 ps] a=0
xmsim: *W,RNQUIE: Simulation is complete.


Verilog

  1. Tutorial de Verilog
  2. Concatenación Verilog
  3. Asignaciones de Verilog
  4. Bloqueo y no bloqueo de Verilog
  5. Funciones de Verilog
  6. Tarea Verilog
  7. Ejemplos de nivel de puerta de Verilog
  8. Generador de reloj Verilog
  9. Funciones matemáticas de Verilog
  10. Alcance de la escala de tiempo de Verilog
  11. Operaciones de E/S de archivos de Verilog