Code Monkey home page Code Monkey logo

convolutore_rl's Introduction

Xilinx


Xilinx Ixon

Codificatore Convoluzione con Tasso di Trasmissione 1/2

Progetto Finale Reti Logiche 2022 - Politecnico di Milano


Codificatore Convoluzionale

Il modulo riceve in ingresso una sequenza continua di W parole, ognuna di 8 bit, e restituisce in uscita una sequenza continua di Z parole, ognuna da 8 bit. Ognuna delle parole di ingresso viene serializzata; in questo modo viene generato un flusso continuo U da 1 bit. Su questo flusso viene applicato il codice convoluzionale ½ (ogni bit viene codificato con 2 bit) secondo lo schema riportato in figura; questa operazione genera in uscita un flusso continuo Y. Il flusso Y è ottenuto come concatenamento alternato dei due bit di uscita. Utilizzando la notazione riportata in figura, il bit uk genera i bit p1k e p2k che sono poi concatenati per generare un flusso continuo yk (flusso da 1 bit). La sequenza d’uscita Z è la parallelizzazione, su 8 bit, del flusso continuo yk. La lunghezza del flusso U è 8*W, mentre la lunghezza del flusso Y è 8*W*2 (Z=2*W). Il convolutore è una macchina sequenziale sincrona con un clock globale e un segnale di reset con il seguente diagramma degli stati che ha nel suo 00 lo stato iniziale, con uscite in ordine P1K, P2K (ogni transizione è annotata come Uk/p1k, p2k). La macchina a stati che descrive l'evoluzione della macchina nel corso dell'elaborazione di una parola è:

Convolutore

(back to top)

Soluzione

La macchina progettata è stata implementata utilizzando un singolo componente, quindi sia il convolutore che gli stati di supporto (ad esempio di lettura e scrittura dalla RAM, e lo stato di indirizzamento nel convolutore) non sono stati divisi.

Come mostrato in figura, gli stati individuati sono diversi:

Convolutore

La macchina funziona sia in pre che in post sintesi. Infatti, come mostrano gli output di report_utilization e report_timing, i requisiti di memoria e di tempo sono sodisfatti. In particolare, la macchina non presenta latch in post-sintesi. Seguono i report:

Convolutore

Convolutore

Per una più dettagliata descrizione riguardo l'implementazione, può essere consultata la documentazione del progetto al seguente link.

Se, invece, si è interessati al codice vero e proprio del componente, può essere consultato il file VHDL al seguente link.

(back to top)

License 📄

Distributed under the MIT License. See LICENSE for more information.

(back to top)

Membri del Gruppo 👥

(back to top)

convolutore_rl's People

Contributors

alessandrocogollo avatar mariocela avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.