Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Verilog

Format d'heure Verilog

La directive d'échelle de temps Verilog spécifie l'unité de temps et la précision des simulations.

Verilog $timeformat la fonction système spécifie %t style de rapport du spécificateur de format dans les instructions d'affichage telles que $display et $strobe .

Syntaxe

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

  

Numéro d'unité Unité de temps
-3 1 ms
-6 1us
-9 1ns
-12 1ps
-15 1fs

Exemple 1 :1ns/1ps

Voici un exemple de la façon dont $timeformat affecte le format d'affichage de l'unité de temps.

  
  
`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

  
Journal de simulation
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.

Exemple 2 :1ns/100ps

Voici le même exemple ci-dessus avec une échelle de temps différente.

  
  
`timescale 1ns/100ps

  
Journal de simulation
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.

Exemple #3 :100ns/1ns

  
  
`timescale 100ns/1ns

  

#1 représente 100ns et donc #10 donne 1000ns

Journal de simulation
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. Tutoriel Verilog
  2. Concaténation Verilog
  3. Affectations Verilog
  4. Verilog bloquant et non bloquant
  5. Fonctions Verilog
  6. Tâche Verilog
  7. Exemples de niveau de porte Verilog
  8. Générateur d'horloge Verilog
  9. Fonctions mathématiques Verilog