system-verilogAan de slag met systeemverilog


Opmerkingen

SystemVerilog is de opvolgerstaal van Verilog . Oorspronkelijk gemaakt door Accellera als een uitbreidingstaal voor Verilog IEEE Std 1364-2001 , werd SystemVerilog geaccepteerd als een IEEE-standaard in 2005. In 2009 voegde IEEE Verilog (IEEE 1364) samen tot SystemVerilog (IEEE 1800) als een verenigde taal. Net als zijn voorganger wordt SystemVerilog ondersteund door vele leveranciers van FPGA (Field Programmable Gate Array) en ASIC (Application Specific Integrated Circuit) -leveranciers. SystemVerilog is gemaakt om de ontwikkeling van het HDL-ontwerp te verbeteren en heeft speciale functies voor verificatie.

SystemVerilog bestaat uit 3 hoofdtalen:

  • Ontwerprichtlijnen: stelt ontwerpers in staat om RTL beknopter, explicieter en vlagfouten te schrijven die traditioneel niet werden gevonden tot synthese.

  • Object-georiënteerde klassen: gebruikt voor verificatie, maakt testbankcode flexibeler en herbruikbaar. Deze mogelijkheid heeft geleid tot het maken van verificatiemethoden: OVM , VMM , UVM

  • Beweringen: gebruikt voor verificatie en dekking van protocollen en interne sequentiële signalen.

versies

Versie Publicatiedatum
SystemVerilog IEEE Std 1800-2012 2013/02/21
SystemVerilog IEEE Std 1800-2009 2009-12-11
SystemVerilog IEEE Std 1800-2005 2005-11-22

Hallo Wereld

// File 'test.sv'

// Top module that gets instantiated automatically when simulation is started
module test;

  // Thread gets started at the beginning of the simulation
  initial begin

    // Call to system task to print output in simulator console
    $display("Hello world!");
  end

endmodule
 

Hardlopen in Cadence Incisive:

irun test.sv
 

Installatie of instellingen

Om SystemVerilog-code te compileren en uit te voeren, is een tool genaamd een simulator nodig. Meestal worden commerciële tools van een van de Big Three EDA-bedrijven gebruikt:

  • Cadans Scherp
  • Mentor Graphics QuestaSim
  • Synopsys VCS

Andere EDA-leveranciers bieden ook simulatoren:

  • Aldec Riviera-PRO
  • Xilinx Vivado

Er bestaan ook gratis en open source tools die verschillende subsets van de LRM ondersteunen:

  • Verilator