Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> Verilog

Formato de hora Verilog


A diretiva de escala de tempo Verilog especifica a unidade de tempo e a precisão para simulações.

Verilog $timeformat função do sistema especifica %t estilo de relatório do especificador de formato em instruções de exibição como $display e $strobe .

Sintaxe

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

  


Número da unidade Unidade de tempo
-3 1 ms
-6 1us
-9 1ns
-12 1ps
-15 1fs

Exemplo nº 1:1ns/1ps


Aqui está um exemplo de como $timeformat afeta o formato de exibição da unidade de tempo.
  
  
`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 simulação
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.

Exemplo nº 2:1ns/100ps


Aqui está o mesmo exemplo acima com uma escala de tempo diferente.
  
  
`timescale 1ns/100ps

  
Registro de simulação
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.

Exemplo nº 3:100ns/1ns

  
  
`timescale 100ns/1ns

  

#1 representa 100ns e, portanto, #10 produz 1000ns
Registro de simulação
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 Verilog
  2. Concatenação Verilog
  3. Atribuições Verilog
  4. Verilog Blocking &Non-Blocking
  5. Funções Verilog
  6. Tarefa Verilog
  7. Exemplos de nível de portão Verilog
  8. Gerador de Relógio Verilog
  9. Funções matemáticas Verilog
  10. Escopo da escala de tempo da Verilog