Simulazione software RENESAS ForgeFPGA

Simulazione software RENESAS ForgeFPGA

Informazioni importanti

La simulazione è una tecnica che consiste nell'applicare diversi stimoli di input al progetto in momenti diversi per verificare se il codice RTL si comporta nel modo previsto. Viene utilizzato per verificare la robustezza del progetto. La simulazione consente all'utente di farlo view il diagramma temporale dei relativi segnali per comprendere come avviene la descrizione progettuale nel progetto file si comporta.

I testbench sono pezzi di codice utilizzati per la simulazione. Un semplice banco di prova creerà un'istanza dell'Unità sotto test (UUT) e guiderà l'input. Il software Go Configure utilizza Icarus Verilog (iVerilog) e GTKWave per osservare le forme d'onda di simulazione con lo stimolo fornito nel banco di prova.

Questo documento descrive i passaggi da eseguire durante l'installazione di Icarus sul proprio sistema e come eseguire una simulazione di successo.

Installazione di Icarus Verilog

a. Installa l'ultima versione di Icarus Verilog (IVerilog) da https://bleyer.org/icarus/
b. Assicurati di aggiungere IVerilog al PERCORSO e lascia che installi GTKWave (vedi Figura 1)
Installazione di Icarus Verilog

c. Aprire il software Go Configure e selezionare la parte: SLG47910(Rev BB) per aprire Forge Workshop (vedere Figura 2).
Installazione di Icarus Verilog

d. Fare clic sull'editor FPGA al centro della barra degli strumenti in alto oppure l'utente può anche fare doppio clic sulla struttura FPGA Core al centro della finestra.
Installazione di Icarus Verilog

e. Si apre una nuova finestra chiamata Forge Workshop. Nella barra degli strumenti del menu in alto, fai clic su Opzioni → Impostazioni. Nella finestra di dialogo Impostazioni, vai su Strumenti nella scheda Impostazioni utente. Deseleziona la casella Usa “ambiente di sistema” sia per Icarus Verilog che per GTKWave. Aggiungi il percorso di Iverilog e GTKWave salvato nel tuo sistema nello spazio indicato (vedi Figura 4).
Installazione di Icarus Verilog

Sei pronto per simulare un banco di prova e i passaggi precedenti assicurano che GTKWave si avvii automaticamente durante la simulazione di un banco di prova sul software Go Configure.

Banco di prova

Il passaggio più cruciale per implementare con successo qualsiasi sistema è verificare il design e la sua funzionalità. Verificare un sistema complesso dopo aver implementato l'hardware non è una scelta saggia. È inefficace in termini di denaro, tempo e risorse. Pertanto, nel caso di FPGA, viene utilizzato un banco di prova per testare il codice sorgente Verilog.

Supponiamo di avere un input di 11 bit e di voler testare il dispositivo per tutti i possibili valori di combinazione di input, ad esempio (211). Poiché si tratta di un numero molto elevato di combinazioni, è impossibile testarlo manualmente. In questi casi, i banchi di prova sono molto utili in quanto è possibile testare automaticamente il progetto per tutti i valori possibili e quindi confermare l'affidabilità del progetto di prova. I testbench Verilog vengono utilizzati per simulare e analizzare progetti senza la necessità di alcun dispositivo hardware fisico.

Un progetto sotto test, abbreviato in DUT, è un modulo sintetizzabile della funzionalità che vogliamo testare. In altre parole, è il progetto del circuito che vorremmo testare. Possiamo descrivere il nostro DUT utilizzando uno dei tre stili di modellazione in Verilog: livello di gate, flusso di dati o comportamentale.

Un banco di prova non è sintetizzabile, quindi viene utilizzato solo per scopi di simulazione. Ciò consente all'utente di utilizzare una gamma completa di costrutti Verilog, ad esempio parole chiave come "for", "$display" e "$monitor" ecc. per scrivere testbench. Un semplice banco di prova istanzia l'Unità sotto test (UUT) o il Dispositivo sotto test (DUT) e guida gli ingressi.

Comprendere un banco di prova

Comprendere un banco di prova

Definizione della scala temporale nel banco di prova

Durante la simulazione, il software deve sapere come è stato definito il tempo. L'unità di ritardo viene specificata utilizzando la direttiva `timescale, che specifica l'unità di tempo e la precisione per i moduli che la seguono. La scala temporale aiuta a determinare cosa significa il numero 1 in termini di tempo. # viene utilizzato per definire il ritardo da introdurre nel sistema in base all'unità di tempo specificata nella scala temporale. Quindi, #1 significa 1 ns di ritardo se time_unit è in ns.

Sintassi:
`cronologia / /

time_unit è la quantità di tempo rappresentata da un ritardo di #1. La base time_precision rappresenta il numero di punti decimali di precisione da utilizzare rispetto alle unità di tempo. (Vedi riga 23 nella Figura 5)

Possiamo utilizzare i costrutti della scala temporale per utilizzare diverse unità di tempo nello stesso progetto. L'utente deve ricordare che le specifiche del ritardo non sono sintetizzabili e non possono essere convertite in logica hardware. Le funzioni di ritardo sono interamente a scopo di simulazione. $tempo e $in tempo reale le funzioni di sistema restituiscono l'ora corrente e il formato di reporting predefinito può essere modificato con un'altra attività di sistema $timeformat .

Exampon: 

`scala temporale 10us/100ns
`scala temporale 1ns/1ps
#10 ripristino = 1; // ritarda il segnale di 10 ns
#0.49 $display( “T = %0t al tempo #0.49”, $tempo reale) ;

Il ritardo specificato è #0.49 che è inferiore alla mezza unità di tempo. Tuttavia, la precisione temporale specificata è 1 ps e quindi il simulatore non può essere inferiore a 1 ns, il che consente di arrotondare l'istruzione di ritardo specificata e produrre 0 ns. Quindi, questa affermazione non fornisce alcun ritardo.

Registro della simulazione: 

T = 1 al tempo #0.49

Dichiarazione del modulo

La dichiarazione del modulo in qualsiasi banco di prova è diversa dal codice Verilog principale. In un testbench, il modulo viene dichiarato senza alcuna porta terminale insieme ad esso. (Vedi riga 25 nella Figura 5)

Sintassi: 

modulo ;

La dichiarazione del modulo è seguita dalla definizione dei segnali di ingresso e di uscita definiti in precedenza nella progettazione principale file.
Utilizziamo due tipi di segnale per pilotare e monitorare i segnali durante la simulazione. Il tipo di dati reg manterrà il valore finché non gli verrà assegnato un nuovo valore. A questo tipo di dati può essere assegnato un valore solo nel blocco sempre o iniziale.
Il tipo di dati wire è simile a quello di una connessione fisica. Manterrà il valore guidato da una porta, un'istruzione di assegnazione o un reg. Questo tipo di dati non può essere utilizzato nel blocco iniziale o sempre. In questa sezione vengono eseguite anche le dichiarazioni di parametri e interi.

Exampon:
Reg a,b; // l'input nel codice HDL è definito come reg nel testbench
Filo y; // il segnale di uscita in HDL è definito come cavo nel testbench

Istanziazione del DUT

Lo scopo di un banco di prova è verificare se il nostro modulo DUT funziona. Quindi, dobbiamo istanziare il nostro modulo di progettazione per testare il modulo.

Sintassi: 

(. (segnale1), . segnale1>(segnale2));

Exampon:

ALU d0 (.a(a), // il segnale “a” in ALU deve essere collegato ad “a” nel modulo ALU_tb
.b(b), // il segnale “b” in ALU deve essere collegato a “b” nel modulo ALU_tb
.c(c)) ;// il segnale “c” in ALU deve essere collegato a “c” nel modulo ALU_tb

Abbiamo istanziato il modulo DUT ALU nel modulo di test. Il nome dell'istanza (d0) è la scelta dell'utente. I segnali con un punto “.” davanti a loro ci sono i nomi dei segnali all'interno del modulo ALU, mentre il filo o il registro a cui si collegano nel banco prova è accanto al segnale tra parentesi (). Si consiglia di codificare ciascuna connessione di porta in una riga separata in modo che qualsiasi messaggio di errore di compilazione indichi correttamente il numero di riga in cui si è verificato l'errore. Poiché queste connessioni vengono effettuate in base al nome, l'ordine in cui appaiono è irrilevante.

È possibile creare un'istanza del DUT anche per i moduli in cui il modulo del banco di prova ha nomi di segnale diversi. La corretta mappatura dei segnali è ciò che è importante durante l'istanziazione.

Example: 

ALU d0 (.a(A), // il segnale “a” in ALU deve essere collegato ad “A” nel modulo ALU_tb
.clk(clock), // il segnale “clk” in ALU deve essere collegato al modulo “clock” ALU_tb
.out(OUT)) ; // il segnale "out" in ALU deve essere collegato a "OUT" nel modulo ALU_tb

Sempre e blocco iniziale in un banco di prova

Ci sono due blocchi sequenziali in Verilog, iniziale e sempre. È in questi blocchi che applichiamo lo stimolo.

Blocco iniziale

Il blocco iniziale che viene eseguito una sola volta e termina quando viene eseguita l'ultima riga del blocco. Lo stimolo viene scritto nel blocco iniziale. (Vedi riga 54-72 nella Figura 5)

Sintassi:
..
inizio iniziale
$ discaricafile();
$ dumpvar ();
..(inserisci stimolo)
FINE

il blocco iniziale inizia la sua esecuzione all'inizio della simulazione al tempo t = 0. A partire dalla prima riga tra l'inizio e la fine, ciascuna riga viene eseguita dall'alto verso il basso fino al raggiungimento di un ritardo. Quando viene raggiunto il ritardo, l'esecuzione di questo blocco attende finché non è trascorso il tempo di ritardo (unità di 10 volte) e quindi riprende l'esecuzione.
L'utente può definire gli stimoli utilizzando i cicli (for, while, if-else) anche all'interno di questo blocco iniziale invece di inserire manualmente tutte le combinazioni.
Blocco iniziale

 

Example:
Inizio iniziale
A = 0; b = 0; // avvia l'esecuzione
#10a = 0; b = 1; // l'esecuzione è at = 10 unità di tempo
#10a = 1; b = 0; // l'esecuzione è at = 20 unità di tempo
FINE

Scarico Files

Un'altra cosa da tenere a mente è la dichiarazione di $scaricofiles e $dumpvars all'interno del blocco iniziale (vedi riga 55-56 nella Figura 5). Il $scaricofile viene utilizzato per scaricare le modifiche nei valori delle reti e dei registri in a file questo è chiamato come argomento.

Per esempioampon:

$scaricofile(“alu_tb.vcd”);

scaricherà le modifiche in a file denominato alu_tb.vcd. Le modifiche sono registrate in a file chiamato VCD file che sta per dump del cambiamento di valore. Un VCD (value change dump) memorizza tutte le informazioni sulle modifiche dei valori. Non possiamo avere più di un $dumpfile dichiarazioni nella simulazione Verilog.

Il $dumpvars viene utilizzato per specificare quali variabili devono essere scaricate (nel file file menzionato da $ dumpfile). Il modo più semplice per usarlo è senza alcun argomento. La sintassi generale di $dumpvars è

$dumpvars ( <, >);

Fondamentalmente possiamo specificare quali moduli e quali variabili nei moduli verranno scaricate. Il modo più semplice per utilizzarlo è impostare il livello su 0 e il nome del modulo come modulo principale (tipicamente il modulo testbench principale).

$dumpvars(0, alu_tb);

Quando il livello è impostato su 0 e viene specificato solo il nome del modulo, vengono scaricate TUTTE le variabili di quel modulo e tutte le variabili in TUTTI i moduli di livello inferiore istanziati da questo modulo principale. Se qualche modulo non è istanziato da questo modulo principale, la sua variabile non verrà coperta. Ancora una cosa, la dichiarazione di $scaricofile deve precedere $dumpvars o qualsiasi altra attività di sistema che specifichi dump. Questi scaricano files deve essere dichiarato prima degli input di stimolo altrimenti, nessun valore verrà salvato in questi dump files.

Blocca sempre

Contrariamente alle istruzioni iniziali, un blocco sempre viene eseguito ripetutamente, sebbene l'esecuzione inizi al tempo t = 0. Ad esample, il segnale di clock è essenziale per il funzionamento di circuiti sequenziali come i Flip-flop. Ha bisogno di essere fornito continuamente. Quindi, possiamo scrivere il codice per il funzionamento dell'orologio in un banco di prova come (vedere riga 52 nella Figura 5):

Sempre
#10clk = ~clk;
modulo finale

L'istruzione precedente viene eseguita dopo 10 ns a partire da t = 0. Il valore del clk verrà invertito dopo 10 ns rispetto al valore precedente. Pertanto, generando un segnale di clock con larghezza di impulso di 20 ns. Pertanto, questa affermazione genera un segnale di frequenza 50 MHz. È importante notare che l'inizializzazione del segnale viene eseguita prima del blocco sempre. Se non eseguiamo la parte di inizializzazione, il segnale clk sarà x da t – 0 e dopo 10 ns verrà invertito in un altro x.

Banco di prova autocontrollante

Un banco di prova di autocontrollo include una dichiarazione per verificare lo stato corrente.

  • $display le attività di sistema vengono utilizzate principalmente per visualizzare messaggi di debug per monitorare il flusso della simulazione

inizio iniziale
A = 0; b = 0; c = 0; #10; // applica l'input, aspetta
if( y ! == 1) inizia
$display("000 fallito") ; //controllo
c = 1; #10; //applica l'input, aspetta
FINE
altrimenti se ( y ! == 0) inizia
$display("001 fallito") // controlla
b = 1; c = 0; #10; FINE
altrimenti se(y!==0)
$display (“010 fallito”); //controllo
FINE
modulo finale

$display viene utilizzato per visualizzare valori di variabili, stringhe o espressioni. Da quanto sopra esample, ogni volta che uno qualsiasi dei cicli if-else è soddisfatto, il registro del simulatore visualizzerà il rispettivo $display dichiarazione. Per impostazione predefinita è presente un ritorno a capo alla fine delle stringhe.

$display (“tempo = %t , A = %b, B = %b, C = % b”, $tempo, A,B,C);

I caratteri menzionati tra virgolette verranno stampati così come sono. La lettera insieme a% denota il formato della stringa. Usiamo %b per rappresentare dati binari. Possiamo usare %d, %h, %o per rappresentare rispettivamente decimale, esadecimale e ottale. Il %g viene utilizzato per esprimere numeri reali. Questi verranno sostituiti con i valori fuori quota nell'ordine indicato. Per esample, la dichiarazione di cui sopra verrà visualizzata nel registro della simulazione come: tempo = 20, A = 0, B =1, C = 0

Tavolo 1. Formati delle tabelle Verilog

Discussione Descrizione
%H, %H Visualizzazione in formato esadecimale
%d, %D Visualizzazione in formato decimale
%b, %B Visualizzazione in formato binario
%mm Visualizza il nome gerarchico
%s, %S Visualizza come stringa
%t, %T Visualizzazione in formato ora
%f, %F Visualizza "reale" in formato decimale
%e, %E Visualizza "reale" in formato esponenziale

$display stampa principalmente il dato o la variabile così com'è in quell'istante come il printf in C. Dobbiamo menzionare $display per qualunque testo dobbiamo view nel registro della simulazione.

  • $tempo

$tempo è un'attività di sistema che restituirà l'ora corrente della simulazione.

  • $monitorare

$monitorare monitorerà i dati o la variabile per cui è stato scritto e ogni volta che la variabile cambia, verrà stampato
il valore modificato. Ottiene un effetto simile richiamando $display ogni volta che viene visualizzato uno dei suoi argomenti
aggiornato. $monitorare è come un'attività generata per essere eseguita in background del thread principale che monitora e
visualizza i cambiamenti di valore delle sue variabili argomento. $monitorare ha la stessa sintassi di $display.

$monitorare(“ tempo = %t, A = %b, B = %b, C = % b”, $tempo, A,B,C);
Banco di prova autocontrollante

Dalla Figura 7 si può osservare che sono state aggiunte nuove righe di codice per autovalutare il testbench. Il posizionamento di $display e $monitorare le dichiarazioni in diverse sezioni del banco di prova produrranno risultati diversi (vedere Figura 8). $tempo menzionato in queste istruzioni stampa l'ora in cui viene stampato il valore. Allo stesso tempo, diciamo 170000, possiamo vedere come c'è una differenza nel valore di A e B a causa del $display e $monitorare dichiarazioni.
Banco di prova autocontrollante

Software GTKWave

GTKWave è un'onda GTK+ completa viewer per Unix, Win32 e Mac OSX che legge LXT, LXT2, VZT, FST e GHW files così come VCD/EVCD standard files e permette loro viewing. È ufficiale webil sito è a http://gtkwave.sourceforge.net/ . GTKWave è quello consigliato viewer dallo strumento di simulazione Icarus Verilog.

Una volta che l'utente ha creato con successo un banco di prova per testare la funzionalità del progetto, l'utente può ora utilizzare il software GTKWave per view le forme d'onda.

Per avviare il software GTKWave su view le forme d'onda, l'utente deve fare clic sul pulsante Simula banco di prova nella parte superiore della barra degli strumenti o dal menu principale Strumenti→ Simulazione→ Simula banco di prova. Se non sono presenti errori di sintassi, a seconda del progetto, GTKWave dovrebbe essere avviato automaticamente oppure i risultati degli stimoli nel testbench verranno visualizzati nella sezione Logger della finestra.

Il software GTKWave apre il dump del formato .vcdfile automaticamente. La finestra GTKWave non visualizza la forma d'onda quando viene aperta. Ciò offre all'utente l'opportunità di selezionare quali segnali desidera view e osservare. Per scegliere il segnale, l'utente deve visualizzare, l'utente deve fare clic sul nome del proprio modulo/istanza sul lato sinistro della finestra sotto la scheda SST. Facendo clic sul + di ogni istanza, puoi vedere i segnali correlati a quell'istanza nella sezione inferiore. Quindi puoi trascinare e rilasciare il segnale desiderato o fare doppio clic su di esso per visualizzarlo nella finestra Segnali. Puoi anche selezionarli tutti (CTRL + A) e inserirli nella finestra dei segnali (vedi Figura 9).
Software GTKWave

I segnali sono ora aggiunti alla finestra del segnale ma devono ancora essere simulati. Dopo aver aggiunto i segnali desiderati alla finestra dei segnali, fare clic suSimbolo per adattare i segnali alla larghezza corrente della finestra e quindi ricaricare i segnali da ricaricaSimbolo simbolo presente sulla barra degli strumenti. Ora puoi vedere i segnali con i rispettivi valori.

Valori del segnale

Per impostazione predefinita, i valori dei segnali sono in formato esadecimale e tutte le onde sono colorate in verde (se funzionanti correttamente).

L'utente può modificare le proprietà di questi segnali facendo clic con il pulsante destro del mouse sul segnale e scegliendo Formato dati o Formato colore. L'utente può anche inserire un segnale vuoto per creare sezioni tra gruppi di segnali. Quando avrai ottenuto il risultato ottico desiderato, potrai salvare le tue configurazioni andando su File → Scrivi Salva File.

Barra degli strumenti GTKWave

La barra degli strumenti (vedere Figura 10) consente all'utente di eseguire le funzioni di base per il segnale. Parliamo di ciascuna opzione sulla barra degli strumenti da sinistra a destra.
Barra degli strumenti GTKWave

  1. Opzioni del menu: Con questa opzione possiamo view tutte le varie funzionalità del software che possono essere utilizzate per giocare con il software. I dettagli di questa opzione di menu sono trattati nella Sezione 8 di questa guida per l'utente.
  2. Taglia tracce: Viene utilizzato per eliminare/tagliare il segnale selezionato dalla finestra del segnale
  3. Copia tracce: Viene utilizzato per copiare il segnale selezionato dalla finestra del segnale
  4. Incolla tracce: La traccia copiata/tagliata può essere incollata in una posizione diversa nella finestra del segnale
  5. Adatta allo zoom: Viene utilizzato per adattare i segnali in base alla dimensione della finestra che l'utente sceglie di visualizzare
  6. Ingrandisci: Viene utilizzato per ingrandire la finestra del segnale
  7. Rimpicciolisci: Viene utilizzato per rimpicciolire la finestra del segnale
  8. Zoom Annulla: serve per annullare lo zoom avanti/indietro sulla finestra del segnale
  9. Zoom per iniziare: ingrandirà la finestra del segnale, visualizzando l'ora di inizio dei segnali.
  10. Zoom fino alla fine: ingrandirà la finestra del segnale visualizzando l'ora di fine dei segnali
  11. Trova il bordo precedente: Questo sposta il marcatore sul lato sinistro indicando il bordo precedente
  12. Trova il bordo successivo: Questo sposta il marcatore a destra indicando il bordo successivo
  13. Scorri il legame inferiore/superiore: utilizzando questo possiamo impostare l'intervallo di tempo in cui l'utente desidera visualizzare. Per esample, possiamo impostare l'intervallo di tempo su un intervallo compreso tra 0 sec e 500 ns, verranno visualizzati solo i segnali inferiori a tale durata.
  14. Ricaricare: Il pulsante di ricarica viene premuto ogni volta che si verifica una modifica al segnale visualizzato. Si ricaricherà e visualizzerà il segnale in base ai nuovi parametri. Per esample, dopo aver modificato l'intervallo di tempo del segnale, è necessario ricaricare il segnale per visualizzare il segnale nel nuovo intervallo di tempo impostato.

Opzioni del menu

Dall'angolo in alto a sinistra del software GTKWave, l'utente può accedere alle opzioni del menu facendo clic sulle tre linee verticali (vedere Figura 11). L'utente può trovare le seguenti opzioni nelle opzioni del menu:
Opzioni del menu

File

IL File il sottomenu contiene varie voci relative all'accesso files, import-export VCD files, stampa e lettura/scrittura files e uscendo.

Modificare

Il sottomenu Modifica viene utilizzato per eseguire varie funzioni di utilità come la modifica della rappresentazione dei dati dei valori nella sottofinestra dell'onda. Utilizzando le opzioni nel sottomenu Modifica, l'utente può modificare il formato dei dati dei segnali, riorganizzarli, spostarli, ritagliarli, evidenziarli, raggruppare segnali, commentare segnali, cambiare il colore dei segnali, ecc.

Cerca

Il sottomenu Cerca viene utilizzato per eseguire ricerche su nomi e valori di rete. Aiuta a eseguire funzioni su diversi livelli gerarchici dei segnali e delle istanze nel VCD file.

Tempo

Il sottomenu Ora contiene un superset delle funzioni eseguite dai pulsanti di navigazione e del pannello di stato.
Abilita funzioni semplici, legate al tempo, come lo zoom, lo spostamento su un particolare punto temporale, lo spostamento del segnale in una determinata direzione, ecc.

Marcatore

Il sottomenu marcatore viene utilizzato per eseguire varie manipolazioni sul marcatore e per controllare lo scorrimento fuori schermo.
Abilita la funzionalità di aggiungere numerosi marcatori sulla finestra del segnale. Sono ammessi un massimo di 26 nominativi e i tempi per tutti devono essere diversi.

a. Per aggiungere Marker nella finestra del segnale
Fare clic con il tasto sinistro del mouse nel punto richiesto in cui si desidera posizionare il marcatore e premere ALT + N. Ciò posizionerà un marcatore con nome (A,B,C, ecc.) nel punto richiesto. L'utente può continuare a farlo per 26 posizioni temporali diverse.
Per confrontare il valore temporale su tutti i marcatori dei luoghi, Menu → Marcatori → Mostra modifica dati marcatore.
Si aprirà una finestra con il valore temporale su ciascun Marker. L'utente può annotare manualmente il valore temporale su ciascun marcatore posizionato e sottrarlo per calcolare la differenza temporale tra 2 marcatori.
b. Per rimuovere il Marker nella finestra del segnale

L'utente può andare su Menu → Marker → Raccogli Marker con nome. Ciò rimuoverà l'ultimo Marker con nome posizionato nella finestra del segnale. L'utente può rimuovere tutti i marcatori con nome andando su Menu → Marcatori → Raccogli tutti i marcatori con nome (Figura 12).
Opzioni del menu

Nella Figura 13 possiamo vedere come sono stati modificati i colori del segnale. È possibile osservare un segnale vuoto aggiunto alla finestra del segnale anche con un commento: Segnale vuoto.
Da notare anche la presenza di 6 Indicatori con Nome (A – E) e la compurgazione del valore temporale tra questi Indicatori in ps.
Opzioni del menu

View

IL View il sottomenu viene utilizzato per controllare vari attributi che riguardano la resa grafica degli elementi di stato e dei valori nella finestra secondaria del segnale. Da questo menu è possibile convertire la finestra del segnale in bianco e nero o anche a colori. IL View il sottomenu consente inoltre di modificare la dimensione temporale da secondi (sec) a ficosecondi (fs). L'utente può trovare questa opzione View → Scala alla dimensione temporale → fs.

Aiuto

Il sottomenu Guida contiene opzioni per abilitare la guida in linea e visualizzare le informazioni sulla versione del programma.

Conclusione

Questo documento è stato creato per assistere l'utente nella simulazione di successo del proprio progetto e nella verifica della funzionalità correggendo la stesura del banco di prova necessario e utilizzando Icarus Verilog insieme a GTKWave per visualizzare le forme d'onda e osservare i risultati.

Cronologia delle revisioni

Revisione Data Descrizione
1.00 20 maggio 2024 Versione iniziale.

R19US0011EU0100 Rev.1.0
20 maggio 2024
© 2024 Renesas Elettronica
Logo

Documenti / Risorse

Simulazione software RENESAS ForgeFPGA [pdf] Guida utente
REN_r19us0011eu0100, Simulazione software ForgeFPGA, Software ForgeFPGA, ForgeFPGA, Simulazione ForgeFPGA, Simulazione software, Simulazione, Software

Riferimenti

Lascia un commento

Il tuo indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *