Test bench Verilog e test bench VHDL

Verifica di progetti di FPGA e ASIC creati in MATLAB e Simulink

In un test bench VHDL® o Verilog® convenzionale, il codice HDL viene utilizzato per descrivere lo stimolo a un progetto logico e per verificare se i risultati generati dal progetto corrispondono alle specifiche. Tuttavia, molti ingegneri utilizzano MATLAB® e Simulink® per aiutarsi nella creazione di test bench VHDL o Verilog in quanto il software offre una notazione compatta e produttiva per descrivere gli algoritmi, oltre a strumenti di visualizzazione per esaminare il comportamento degli algoritmi.

Gli ingegneri che usano MATLAB e Simulink in questo modo possono scegliere tra opzioni diverse per accertarsi della corretta realizzazione HDL degli algoritmi.

Verifica con la co-simulazione HDL

Usa un test bench MATLAB o Simulink unitamente a un simulatore HDL per verificare il Design Under Test (DUT). HDL Verifier™ automatizza questo processo di co-simulazione ed esegue la comunicazione e la sincronizzazione tra MATLAB o Simulink e il simulatore HDL. Il test bench MATLAB o Simulink è in grado di confrontare i valori generati dal simulatore HDL con i valori previsti da un modello di verità e segnalare le differenze.

Verifica con la simulazione FPGA-in-the-Loop

Usa un test bench MATLAB o Simulink con un DUT programmato in una scheda di sviluppo FPGA Xilinx®, Intel® o Microsemi® con la simulazione FPGA-in-the-Loop. HDL Verifier può essere usato unitamente agli strumenti dei fornitori di FPGA per compilare l’HDL, compilare un file di programmazione, caricarlo sulla scheda di sviluppo ed eseguire la comunicazione tra la sessione MATLAB o Simulink e la scheda. Con la simulazione FPGA-in-the-Loop, non c’è bisogno di generare un test bench Verilog o VHDL poiché MATLAB o Simulink si occupano di questo aspetto.

Verifica con un test bench SystemVerilog DPI

SystemVerilog, un’estensione di Verilog utilizzata per lo sviluppo di test bench, è supportato da tutti i simulatori HDL più noti. Tramite la SystemVerilog DPI (Direct Programming Interface), è possibile integrare il codice C/C++ con simulatori quali Synopsys® VCS®, Cadence® Incisive® o Xcelium™, e Mentor Graphics® ModelSim® o Questa®. Usando HDL Verifier unitamente a MATLAB Coder™ o a Simulink Coder™, è possibile generare dei test bench SystemVerilog DPI da utilizzare negli ambienti di verifica di produzione.

HDL Verifier è in grado di generare dei test bench SystemVerilog DPI in due modi diversi:

  • Test bench dei componenti: se si genera un componente C da un sottosistema Simulink da utilizzare come componente DPI, è possibile scegliere se generare un test bench SystemVerilog. Il test bench verifica il componente DPI generato rispetto ai vettori di dati del proprio modello Simulink.
  • Test bench del codice HDL: se si genera codice HDL da un sottosistema Simulink usando HDL Coder, è possibile scegliere se generare un test bench SystemVerilog. Questo test bench confronta l’output dell’implementazione dell’HDL rispetto ai risultati del modello Simulink.

Verifica tramite Universal Verification Methodology (UVM)

HDL Verifier è in grado di generare anche componenti UVM direttamente dai modelli Simulink. HDL Verifier genera componenti di sequenze UVM SystemVerilog e scoreboard dai modelli dei test bench. In più, produce dei file SystemVerilog per un Design Under Test (DUT) comportamentale. Il DUT comportamentale può poi essere sostituito da RTL codificato manualmente o generato con HDL Coder.

I componenti generati possono essere eseguiti come un ambiente UVM completo in Siemens EDA ModelSim® o Questa®, Cadence® Xcelium™, oppure Synopsys® VCS®.


Vedere anche: MATLAB per lo sviluppo di FPGA, ASIC e SOC, HDL Coder, HDL Verifier, Vision HDL Toolbox, MATLAB Coder, Simulink Coder