Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/luca-simei/progetto-reti-logiche
Progetto per il corso di Reti Logiche al Politecnico di Milano
https://github.com/luca-simei/progetto-reti-logiche
vhdl
Last synced: about 2 months ago
JSON representation
Progetto per il corso di Reti Logiche al Politecnico di Milano
- Host: GitHub
- URL: https://github.com/luca-simei/progetto-reti-logiche
- Owner: luca-simei
- Created: 2024-03-20T13:41:17.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-08-18T15:50:33.000Z (5 months ago)
- Last Synced: 2024-08-18T17:18:13.105Z (5 months ago)
- Topics: vhdl
- Language: VHDL
- Homepage: https://www11.ceda.polimi.it/schedaincarico/schedaincarico/controller/scheda_pubblica/SchedaPublic.do?&evn_default=evento&c_classe=788723&__pj0=0&__pj1=da9d1a8e6269eeb453950756ccaf8278
- Size: 633 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
#
Progetto di Reti LogicheProva Finale, AA. 2022-2023
##Luca Simei, Alessio SpinetoQuesta è la prova finale per il corso di Reti Logiche @ Politecnico di Milano.
Il progetto consiste nella progettazione e realizzazione di un modulo in linguaggio VHDL a partire da una specifica in linguaggio naturale del suo funzionamento.
Questo progetto ha ricevuto la valutazione massima di **30L**.### Descrizione del Problema
Ad elevato livello di astrazione, il sistema riceve indicazioni circa una locazione di memoria, il cui contenuto deve essere indirizzato verso un canale di uscita fra i quattro disponibili. Considerando informazioni più dettagliate riguardo le interfacce e il funzionamento del modulo [(specifica completa)](https://github.com/luca-simei/progetto-reti-logiche/blob/main/Specifica/PFRL_Specifica_22_23.pdf), l'implementazione del componente è stata realizzata interfacciandosi a una memoria contenente tutte le informazioni relative al problema e utilizzando appositi segnali.
### Implementazione
L'[implementazione](https://github.com/luca-simei/progetto-reti-logiche/blob/main/10714016_10739526.vhdl) del componente consiste principalmente nella realizzazione di una macchina a stati finiti che regola il funzionamento del circuito. La transizione da uno stato all'altro dipende dallo stato corrente della macchina e, in alcuni casi, dal valore del segnale di START. Tale macchina a stati finiti presenta 5 stati, rappresentati secondo una codifica a minor numero di bit.
### Test Bench
Nel contesto dello sviluppo del modulo descritto, è stato utilizzato il set di [test bench](https://github.com/luca-simei/progetto-reti-logiche/tree/main/Test_Bench/TB_Esempi) di esempio fornito per la simulazione. Ciò ha permesso di ricevere un feedback sui cambiamenti apportati al codice. Successivamente, è stato sviluppato un insieme personalizzato di [test bench](https://github.com/luca-simei/progetto-reti-logiche/tree/main/Test_Bench/TB_Personalizzati), focalizzato sull'identificazione dei casi che potrebbero condurre l'esecuzione alle condizioni critiche, al fine di verificare la completa correttezza del sistema.
I test sviluppati per sforzare il componente in situazioni particolari sono i seguenti:
- **Reset Test**: risposta corretta al segnale di RESET
- **Overwrite and Extension Test**: verifica di proprietà necessarie per rispettare le specifiche del progetto
- **Min and Max Values of START Test**: condizioni limite del segnale di START derivate dalle specifiche di progetto### Sviluppatori
[Luca Simei](https://github.com/luca-simei)[Alessio Spineto](https://github.com/Comodaino)