Ciao a tutti,
Sono uno studente di Ingegneria Elettronica, e nel piano di studi ho un esame di Programmazione a Oggetti, in cui abbiamo studiato in modo abbastanza approfondito il C++ e alcune strutture dati e algoritmi importanti (alberi, grafi, liste, etc.).
La prova consiste nella presentazione di un progetto, che quest'anno verte sulla creazione di un simulatore di circuiti logici, basato su una versione (molto) semplificata del Verilog. In sostanza, il nostro programma riceve in input dei file in cui sono descritti dei circuiti digitali composti da porte logiche e flip-flop di tipo D, più un altro file che contiene gli input da fornire ai circuiti stessi. Il programma deve restituire un altro file con i corrispondenti output. E' prevista anche la possibilità di definire circuiti composti; ossia possiamo descrivere un circuito X in un file, e poi includere delle istanze di X in un altro circuito Y, descritto in un file diverso.
Sto riscontrando un bel po' di difficoltà nell'affrontare questo progetto, specialmente per quanto riguarda la definizione dei circuiti composti e la traduzione file Verilog --> circuito.
Ho trovato in rete tantissimi libri che spiegano come sono fatti i compilatori di linguaggi di programmazione, ma nessuno sui compilatori di linguaggi HDL.
Se ne conoscete, o se disponete di qualsiasi tipo di riferimento che potrebbe aiutarmi a lavorare su questo progetto, vi prego di segnalarmelo.
Grazie mille in anticipo