Page 1 of 1

Problemi nella simulazione di un circuito VHDL

PostPosted: 20 Jul 2014, 01:20
by Simone89RN
Salve a tutti, sono uno studente di Ingegneria Informatica e ho a che fare con sviluppo di reti digitali mediante il linguaggio VHDL.

Sono agli inizi e avrei bisogno per cominciare di chiarimenti sul modo di simulare la funzionalità logica di una rete digitale.

Per esempio vorrei mostrarvi la rete digitale del file in allegato che è un vecchio esame presentato negli scorsi anni, sviluppata attraverso il software Quartus II.

Nel sorgente VHDL che la descrive mi aspetto che mostri in uscita la media aritmetica dei valori letti dal sensore, solamente quando il segnale di selezione della media commuta nel suo valore alto (cioè solo quando la rete ha terminato di leggere tutti i 16 valori dal sensore), però se vado a simulare come ho fatto nel file di forme d'onda in modo tale che il valore da leggere rimanga stabile in tutto il ciclo di lettura incrementandolo di 1 soltanto al suo termine, la media aritmetica mi viene mostrata in uscita molto prima del completamento delle letture (a 5 letture).

Siccome sò che il sorgente VHDL è di per certo quello che dà il funzionamento esatto della rete perchè l'ho confrontato con la soluzione dell'esame ed è la stessa, il problema stà nella simulazione del circuito. Quindi non capisco se il mio è un problema a livello di comprensione della rete a livello concettuale (mi aspetto una cosa e invece la rete ne deve fare un altra), oppure se c'è proprio qualcosa che non va bene nei parametri di simulazione.

La simulazione della rete mi dà anche dei warning che presumibilmente penso hanno a che fare con il motivo dell'errata maniera con cui da me viene fatta. Il clock di sistema che uso ha lo stesso periodo che viene mostrato nella specifica di realizzazione ovvero 0.2 us, già questo secondo voi è sbagliato quando voglio simulare il comportamento ideale di una rete digitale?

Grazie per la vostra disponibilità.

Re: Problemi nella simulazione di un circuito VHDL

PostPosted: 20 Jul 2014, 11:46
by deluca
Benvenuto al forum Simone,
anche se so a priori che questo sarà il tuo primo e ultimo post in questo forum......
visto mediamente il behavior dei tuoi colleghi studenti, ho deciso di visionare ugualmente il tuo progetto.
Tu dici che il risultato della simulazione è diversa da quella che sottopongo io?
Simulazione 2014-07-20 12.45.20.png
Simulazione 2014-07-20 12.45.20.png (55.95 KiB) Viewed 6305 times

A me sembra tutto ok, la f di clock è esatta visto che il sistema deve lavorare a 5Mhz....
Mostra il risultato della tua simulazione e facciamo un confronto.

Re: Problemi nella simulazione di un circuito VHDL

PostPosted: 20 Jul 2014, 12:45
by Leonardo
Ciao Simone,
Di quali warning stai parlando?

Re: Problemi nella simulazione di un circuito VHDL

PostPosted: 20 Jul 2014, 13:11
by Simone89RN
Vi mostro la mia simulazione con relativi warning, che come potete vedere è diversa. La media aritmetica viene mostrata prima di quando ci si aspetti e in valore errato.
simulazione_unita_controllo.png
simulazione_unita_controllo.png (201.93 KiB) Viewed 6297 times

Re: Problemi nella simulazione di un circuito VHDL

PostPosted: 20 Jul 2014, 16:14
by Leonardo
Per caso ti riferisci al segnale AVERAGE che pensi non debba assumere il valore 0 per i primi dati validi ricevuti dal sensore?

Prova a fare un disegno di come pensi che dovrebbero essere le forme d'onda corrette e poi ne discutiamo

Re: Problemi nella simulazione di un circuito VHDL

PostPosted: 31 Jul 2014, 23:09
by Leonardo
deluca wrote:anche se so a priori che questo sarà il tuo primo e ultimo post in questo forum......


Con due post ha alzato la media ;)

Re: Problemi nella simulazione di un circuito VHDL

PostPosted: 01 Aug 2014, 11:57
by deluca
@Leo,
vero, siamo arrivati a 2... ma questa è stata una eccezione.

Ben x lui, vuol dire che ha risolto tutti i wrng, chissà se un giorno ce lo farà sapere :roll:

Re: Problemi nella simulazione di un circuito VHDL

PostPosted: 01 Aug 2014, 18:57
by legacy
beh, come nel thread sulla validazione del SoC, dove non mi e' stata data indicazione alcuna, e non capisco il perche', non ho chiesto segreti segretissimi ma solo indicazioni/consigli, quasi quasi vi mollo pure io :lol:

Re: Problemi nella simulazione di un circuito VHDL

PostPosted: 01 Aug 2014, 19:59
by deluca
Beh!!, legacy, 2 pagine di post non sono poi proprio pochine....

nessun segreto segretissimo :D
come avevo già detto nel topic relativo al ns soft-core, il core sviluppato non è provvisto di pipeline e quindi molti dei problemi che stai incontrando nella tua versione magari non li abbiamo proprio riscontrati.
La mancanza di pipeline è stata pienamente compensata da un core-clock tra 100 e 150Mhz (fpga dependent)

Debug trace jtag ed analizzatore di stati logici, tools classici .... per scrutare ed analizzare le attività dei bus.... noi ci muoviamo così.

@legacy,
Sei sempre deciso ad abbandonarci? perderemmo un vero guru e questo non ce lo possiamo permettere :)

Re: Problemi nella simulazione di un circuito VHDL

PostPosted: 01 Aug 2014, 20:52
by legacy
+ che altro adesso per venirne fuori c'e' stato consigliato un "debug processor", na roba tipo TAP jtag, sempre scritta in vhdl ed infilata a calcioni nel SoC, sopratutto tanti calcioni per infilare quel coso in un Softcore che non prevede iterazione alcuna con alcun modello ICE; io sono super contrario, proprio chiamerei il notaio e farei mettere a verbale il mio rifiuto categorico ad aumentare l'entropia del sistema, il mio amico dubbioso (tanto poi non e' lui che deve averci a che fare), ed il terzo-aggiunto-socio invece sostiene che porterà benefici di validazione inenarrabili (e quando dice cosi', non so se votare la sfiducia, prima che sia troppo tardi)

boh, non so, ma … come dice Diego Abatantuono "so-pePplesso"

Re: Problemi nella simulazione di un circuito VHDL

PostPosted: 01 Aug 2014, 21:27
by deluca
Se ti stanno a cuore gli fpga Altera e lavori con Quartus II,
SignalTap II è una delle soluzioni ottimali, è già pronto, non devi scrivere nulla, non costa tante risorse in termini di LE su fpga modeste e ti dà la possibilità di accedere ai bus del core in modo diretto.

Con Xilinx ovviamente puoi usare il corrispondente ChipScope