Ho preso un minimo di dimestichezza con ModelSim ed ho imparato che ci sono due tipi di simulazione: funzionale (non considera i ritardi) e temporale (considera i ritardi).
Mi ha aiutato molto il tutorial
ftp://ftp.altera.com/up/pub/Altera_Material/11.0/Tutorials/Using_ModelSim.pdfHo eseguito un'analisi funzionale e come aspettato il sommatore funziona correttamente, sono passato quindi alla analisi temporale e mi sono venuti alcuni dubbi:
1) Nelle impostazioni del device di Quartus in Settings/EDA Tool Settings/Simulation se scelgo come formato per le netlist di uscita VHDL la scala dei tempi risulta non modificabile, perchè? Seguendo il tutorial ho scelto Verilog come formato ma non ho ben capito se è una limitazione della versione web di Quartus e quali sono le conseguenze.
2) Nella compilazione (Processing/Start compilation) ho visto che viene eseguita l'I/O Assignement Analisys ed il fitter (place & route) ma io non ho assegnato nessun pin agli input e agli output, vengono scelti automaticamente? Come faccio a sapere quali sono stati impostati? Dal Pin Planner dopo la compilazione sembra che non siano assegnati.
3) Dall'analisi temporale ho ricavato le seguenti onde:
Ho notato che quando X=0 e Y=0 (l'ultima variazione nel grafico) la somma S assume il valore corretto solo dopo 8.224 ns il che limita la frequenza del mio sommatore a circa 120 MHz, mi sembra un pò lento, inoltre se non ho assegnato manualmente i pin di I/O come fa ModelSim a calcolare i timing corretti?
Con alcuni input ho notato che il ritardo è leggermente più basso, 7.2 ns ad esempio, per calcolare la frequenza massima bisogna quindi considerare tutte le possibili transizioni?
Ciao a tutti e grazie ancora per il vostro supporto