Dispense VERIFICATO

VHDL

Politecnico di Milano electronics engineering - ingegneria elettronica 2020
155 visualizzazioni
15 download
Nessun voto ancora
Condividi: WhatsApp Telegram

Di cosa parla

Riassunto AI · si legge in un minuto

VHDL (VHSIC Hardware Description Language) is an IEEE-standardized language crucial for modern digital system design. Originating from a US DoD initiative, it's used globally, especially in Europe, for modeling, simulating, and synthesizing hardware. VHDL supports a modular design flow, from high-level abstraction to device-specific implementation, allowing engineers to define complex digital circuits using entities, architectures, and various data types like `std_logic_vector` and `signed`/`unsigned` for robust and portable designs. It contrasts with software programming languages and is fundamental for FPGA and ASIC development.
Leggi il riassunto completo
  • Cos'è VHDL: Un linguaggio di descrizione hardware (VHSIC Hardware Description Language) indipendente dalla tecnologia, utilizzato per la modellizzazione, simulazione e sintesi di sistemi digitali.
  • Storia: Nato nel 1987 per risolvere le sfide di progettazione manuale dei circuiti digitali. Sviluppato dal Dipartimento della Difesa americano, è stato poi standardizzato dall'IEEE con diverse revisioni (1993, 2000, 2002, 2007, 2008). Oggi è ampiamente usato, in particolare in Europa.
  • Concorrenza: I principali HDL sono VHDL (Europa) e Verilog (USA). È importante notare che gli HDL non sono linguaggi di programmazione software come C, C++ o MATLAB.
  • High-Level Synthesis (HLS): A fronte della crescente complessità e del time-to-market ridotto per le FPGA, HLS è una metodologia emergente che permette di generare VHDL/Verilog da descrizioni di più alto livello (es. C++/SystemC).
  • Target Applicativo: VHDL è uno standard IEEE, non legato a specifiche tipologie di dispositivi o produttori, potendo essere implementato su FPGA o ASIC.
  • Design Flow: Il flusso di progettazione VHDL include fasi indipendenti dal dispositivo (Design Entry, Synthesis) e fasi dipendenti dal dispositivo (Implementation, Programming, Testing).
  • Sintesi e Modellizzazione: VHDL è un linguaggio a 360 gradi. La "Descrizione Hardware" porta alla sintesi, mentre la "Modellizzazione Hardware" è per la simulazione. Non tutti i costrutti VHDL sono sintetizzabili.
  • Entity: È il blocco fondamentale di un design VHDL, una black-box con ingressi e uscite definiti tramite "port". Un design completo include una "top" Entity che comunica con l'esterno.
  • Modularità: VHDL promuove una gerarchia modulare, permettendo di "istanziare" e collegare diverse Entity, facilitando la scrittura e il debug. Le porte d'uscita sono convenzionalmente a destra, quelle d'ingresso a sinistra.
  • Architecture: Descrive il comportamento o i sub-componenti istanziati all'interno di un'Entity. Un'Entity può avere più Architecture, permettendo diverse implementazioni. È buona norma avere una sola Architecture per Entity e nominare il file (.vhd) e l'Entity allo stesso modo.
  • Modeling Styles e Livelli di Astrazione:
    • Structural Modeling: Unione di porte/strutture, legata alla tecnologia.
    • Dataflow Modeling: Descrizione combinatoria con porte logiche di base, indipendente dalla tecnologia.
    • Behavioral Modeling: Descrizione del comportamento dell'entity, non riflette direttamente l'implementazione.
    • Mixed Modeling: Combinazione dei precedenti.
    Questi stili rappresentano diversi livelli di astrazione, dal basso all'alto.
  • Librerie: Definiscono tipi base e funzioni. Alcune sono obbligatorie (es. `IEEE.std_logic_1164.all`). La libreria "standard" è implicitamente inclusa e contiene tipi come `boolean`.
  • Tipi Integer:
    • `INTEGER`: Definito nel package "standard", range `(-2^31-1)` a `(2^31-1)`. Utilizza 32 bit per default. Il roll-up non è affidabile in sintesi.
    • `NATURAL`: Sottotipo di INTEGER, range `0` a `INTEGER'HIGH`.
    • `POSITIVE`: Sottotipo di INTEGER, range `1` a `INTEGER'HIGH`.
    Questi tipi sono derivazioni di INTEGER e la loro dimensione in sintesi può variare.
  • Std_ulogic: Definisce i possibili stati di un buffer in uscita non risolto (`'U', 'X', '0', '1', 'Z', 'W', 'L', 'H', '-'`).
  • Std_logic: Una versione "risolta" di `std_ulogic`. Definisce il valore di uscita per ogni combinazione di stati possibili in caso di connessioni multiple.
  • Std_logic_vector: Estensione di `std_logic` sotto forma di vettore.
  • Unsigned e Signed: Tipi definiti nella libreria `numeric_std` come array di `std_logic`. Non hanno limiti di dimensione predefiniti e il roll-up è affidabile, a differenza degli `integer`.
  • Conversioni: Esistono funzioni e librerie (`numeric_std`) per convertire tra i diversi tipi numerici (unsigned, signed, integer, std_logic_vector).

Riassunto generato con l'intelligenza artificiale a partire dagli appunti. Come lo facciamo

Anteprima pagina 1 — VHDL Anteprima pagina 2 — VHDL Anteprima pagina 3 — VHDL

Stai vedendo l'anteprima delle prime pagine. Il file completo è gratis: registrati per leggerlo tutto.

Studia questi appunti con l'AI

Riassunto e domande d'esame sono gratis: chiedili e ti mandiamo un'email quando sono pronti.

Questo appunto è gratis. Registrati in 30 secondi per leggere tutte le pagine e scaricarlo.

Simula l'esame con domande costruite su questi appunti.

Di cosa parla l'insegnamento

DIGITAL ELECTRONIC SYSTEMS DESIGN · 1° anno · 2° semestre · 5 CFU · IINF-01/A

The primary objective of the course is to prepare students to address the challenges associated with the development of state-of-the-art digital electronic systems. To this end, the course provides not only theoretical and methodological knowledge, but also advanced practical skills in the implementation of digital…

Scheda completa nella pagina del corso

Altri appunti di DIGITAL ELECTRONIC SYSTEMS DESIGN

Condividi questi appunti

WhatsApp Telegram