Corso di Reti Logiche A

Documenti analoghi
Sintassi. Le varie espressioni sintattiche scritte in VHDL si possono ricondurre ai seguenti oggetti: Scalari e Vettori Nomi Oggetti: Espressioni

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. VHDL - Esempi. Martedì 13 Gennaio 2009

IL VHDL. Perché si usa un linguaggio di descrizione dell'hardware? Permette di formalizzare il progetto di sistemi digitali complessi

Semicustom Design Flow VHDL HDL. VHDL: Applicazioni. Stili di Descrizione Hardware. Elettronica dei Sistemi Digitali L-A

Introduzione al VHDL. Alcuni concetti introduttivi

Sommario. Modellizzazione Sintassi Classi di Oggetti Tipi di Dati e Operatori Package e Librerie Processi Esempi di codice VHDL VHDL Testbenches

Prima esercitazione. a.a

Modello sequenziale. Modello sequenziale: i Process 13/11/2014. ENTITY ffsr IS Port ( s,r: IN std_logic; q, qn: OUT std_logic); END ffsr;

Introduzione al VHDL Lezione 2

interfacciamento statico e dinamico analisi di interconnessioni, driver e receiver

Elettronica per le telecomunicazioni 21/05/2004

Christian Pilato

Introduzione al VHDL. Alcuni concetti introduttivi

Flusso di progetto circuiti digitali

VHDL - Introduzione. //

Introduzione alla sintesi comportamentale

Seconda esercitazione

Un linguaggio per la descrizione dello hardware: il VHDL

library ieee; use ieee.std_logic_1164.all; library IEEE; use IEEE.std_logic_1164.all; use IEEE.numeric_std.all; library STD; use STD.textio.

Introduzione al VHDL Lezione 1

Un linguaggio per la descrizione dello hardware: il VHDL

architecture tipo_architettura of nome_del_modulo is begin architecture tipo_architettura of nome_del_modulo is

Note su VHDL. 22 gennaio 2004

Tipi di segnali (logici) predefiniti. Rappresentazione dei segnali in VHDL. Tipo bit (definito nel package standard)

Architetture e reti logiche. Esercitazioni VHDL. a.a. 2005/06. Uso del VHDL. Stefano Ferrari

Addizione tra numeri binari

Architetture e reti logiche Esercitazioni VHDL a.a. 2006/07. UsodelVHDL. Stefano Ferrari

VHDL come strumento di progetto di circuiti digitali

$ % 16 dicembre Giovanni Beltrame 2

VHDL come strumento di progetto di circuiti digitali. Fabio Campi Corso di Elettronica dei Sistemi Digitali LS AA

Flusso di progetto circuiti digitali. Circuiti Integrati Digitali. Il Design Productivity Gap. Tecnologia Standard Cells

VHDL: Simulazione & Sintesi

14/11/2012. Il VHDL 3 parte. Tipi. Tipi scalari INTEGER; REAL; Tipo Fisici; BOOLEAN; CHARCTER; BIT ENUMERATO; Tipo composto ARRAY RECORD FILE ACCESS

Quarta esercitazione

Introduzione al linguaggio VHDL

Laboratorio di Elettronica Introduzione al VHDL

Architetture e Reti logiche. Esercitazioni VHDL. a.a. 2003/04 VHDL. Stefano Ferrari

ELETTRONICA dei SISTEMI DIGITALI Universita di Bologna, sede di Cesena

Sequential Processing

Calcolatori Elettronici M Modulo Introduzione all ambiente Xilinx ISE 12.3 e ISIM

VHDL. Il linguaggio FOCUS

Regole per la scrittura di VHDL Sintetizzabile. Fabio Campi. Corso di Elettronica dei Sistemi Digitali LS AA

Introduzione al VHDL Lezione 3

Progetto finale di reti logiche

esercitazioni Corso di Laurea in Ing. elettronica Esercitazioni

Introduzione al Flusso di Progetto di Circuiti e Sistemi Digitali

Corso di Circuiti Logici Appunti e Approfondimenti A. Di Stefano

Lezione E15. Sistemi embedded e real-time

Dispositivi logici programmabili. Marco Cesati. Schema della lezione. Logiche programmabili. Dispositivi logici programmabili.

TUTORIAL 3. Realizzazione di un contatore su scheda XSA50. A cura di De Pin Alessandro

Introduzione al linguaggio VHDL

Reti Logiche A Esame del 13 settembre 2007

Reti Logiche A. Introduzione al VHDL

Terza esercitazione. Progetto di una rete di controllo. Obiettivi Progetto e analisi di macchine a stati finiti. a.a

Esercizi VHDL nelle prove d esame di Architettura degli elaboratori (a.a. 2002/03)

Reti Logiche A II Prova - 2 marzo 2009

senza stato una ed una sola

Introduzione al VHDL VHDL. La storia. Corso introduttivo al VHDL. l acronimo di VHSIC Hardware Description Language

Reti Logiche A. FSM in VHDL

Reti combinatorie (segue) Reti combinatorie. Lezione 2. Architettura degli Elaboratori A. Sperduti 1

Reti combinatorie. Reti combinatorie (segue)

Riassunto tecnica digitale

Linguaggi di descrizione dell hardware Progetti a.a. 2016/17

Università degli Studi di Milano

Università degli Studi di Milano

Reti Logiche A II Prova - 11 febbraio 2008

Sistemi per la Progettazione Automatica. problema punti massimi i tuoi punti problema 1 14 problema 2 4 problema 3 6 problema 4 6 totale 30

---- registro con reset e enable library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_arith.all; use IEEE.std_logic_unsigned.

Calcolatori Elettronici M Modulo Linguaggio VHDL Parte 2/2

RELAZIONE DEL PROGETTO DI UN CONTATORE BINARIO UP/DOWN MODULO 4 PER IL CORSO DI APPARATI ELETTRONICI 1. INTRODUZIONE

MPHS AA FSM in VHDL

Università degli Studi di Milano

La libreria STD La libreria MODELSIM_LIB Il package TEXTIO Struttura dei testbench. La libreria standard IEEE è composta 6 package

Linguaggi e ambienti CAD per la sintesi logica di sistemi digitali

Reti Logiche Appello del 1 marzo 2011

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore

ELETTRONICA DELLE TELECOMUNICAZIONI II ESERCITAZIONE DI LABORATORIO N.2 CODICE VHDL. Torino, 16/05/2005

Descrizione VHDL di componenti combinatori

Corso di Fondamenti di Informatica Università degli Studi di Cassino

Linguaggi di descrizione dell hardware Progetti a.a. 2018/19 Lista provvisoria e incompleta

Progettazione di circuiti integrati

Descrizione di macchine a stati tramite VHDL

Reti Logiche A II Prova - 1 febbraio 2010

1. Introduzione. Il VHDL è un linguaggio per la descrizione dell hardware (un Hardware Description Language), che può essere utilizzato per la

Introduzione al linguaggio VHDL e al programma di simulazione e sintesi logica su FPGA utilizzato nelle esercitazioni. a.a.

Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica. Metodologie e strumenti per il reengineering del workflow management

Riepilogo su FSM. Descrizione di macchine a stati tramite VHDL. Esempio di FSM (Moore) Esempio di FSM (Moore)

Cos è il VHDL. Il VHDL è un linguaggio standard per la descrizione dell hardware

Circuti AND, OR, NOT Porte logiche AND

Si progetti, utilizzando il linguaggio VHDL, una rete

Reti Logiche A - Prova di mercoledì 16 febbraio 2005

INTRODUZIONE ALLE LOGICHE PROGRAMMABILI

Reti Logiche A Prova di giovedì 3 febbraio 2005

Descrizioni VHDL Behavioral

Calcolatori Elettronici M Modulo Linguaggio VHDL Parte 1/2

Lezione 6 Introduzione al C++ Mauro Piccolo

ELETTRONICA GENERALE, FONDAMENTI DI ELETTRONICA DIGITALE Appello d esame del 8/9/2015

Reti Logiche A Esame del 19 febbraio 2007

Transcript:

Politecnico di Milano Reti Logiche A Corso di Reti Logiche A Introduzione al VHDL - Una prima presentazione - VHSIC-HDL HDL Very High Speed Integrated Circuit - Hardware Description Language Marco D. Santambrogio: marco.santambrogio@polimi.it

VHDL VHSIC Hardware Description Language Very High Speed Integrated Circuit Linguaggio per la descrizione dei C.I. Esistono tre modi per descrivere un C.I. Dataflow Descrivere un circuito usando i gate Structural Descrivere un circuito usando delle distinte descrizioni strutturali Behavioral Attraverso del codice (ifs, loops, etc.)

Introduzione Il Linguaggio VHDL viene utilizzato per: Documentare, Simulare, Sintetizzare circuiti e sistemi logici. Esso è costituito da più parti alcune delle quali fanno parte integrale del linguaggio stesso, mentre altre vengono integrate da opportuni packages realizzati all interno di libraries User Library User Package blocchi e funzioni precedentemente sviluppati dall'utente Vendor Library Vendor Package blocchi e funzioni sviluppati dal fornitore Library IEEE Package STD_LOGIC_1164 Package STD_LOGIC_ARITH Definizione variabili logiche "fisiche" Definizione di funzioni aritmetico-logiche Library STD Package TEXTIO Package STANDARD Operazioni su stringhe Unità di tempo, caratteri ASCII, ecc. Library WORK Local User Package Variabili, blocchi e funzioni locali

Struttura generale di un programma use libreria entity circuito is... end circutio; Area concorrente architecture archi of circuito is -- istruzione concorrente 1 -- istruzione concorrente 2 begin pa: process begin -- istruzione sequenziale pa_1 -- istruzione sequenziale pa_2 --... end; Area sequenziale pb: process begin -- istruzione sequenziale pa_2 --... end; end; Area sequenziale

Un primo esempio A <= B + C after 5.0 ns B C 8 8 + 8 A Aspetti introdotti: Descrizione / documentazione Simulazione Sintesi Logica

Descrizione / Documentazione Una delle funzioni del VHDL è quella di descrivere / documentare il funzionamento di un sistema in modo chiare ed inequivocabile Non è detto che questo sistema debba essere realizzato Alle volte è IMPOSSIBILE la realizzazione fisica del circuito Potrebbe essere la descrizione di un sistema già in funzione Potrebbe essere un modo per descrivere gli stimoli da impiegare per testare un circuito

Simulazione Un sistema descritto in VHDL viene solitamente SIMULATO per analizzarne in comportamento (simulazione comportamentale) Bisogna fornire degli stimoli (INPUT) Ed avere un sistema capace di osservare l evoluzione del modello durante la simulazione, registrarne le variazioni per un eventuale ispezione di funzionamento Il simulatore deve aver la possibilità di rappresentare una variabile come unknown.

Sintesi Logica Passaggio tra descrizione comportamentale e descrizione a porte logiche La sintesi avviene tramite appositi programmi che si appoggiano a librerie dove sono descritte le porte logiche da impiegare (fornite dal venditore) La sintesi è un processo delicato che deve essere opportunamente guidato ed ottimizzato Solo un ristretto sottoinsieme del VHDL si presta ad essere Sintetizzato automaticamente. Non tutto ciò che è scritto in VHDL è sintetizzabile La restante parte è da impiegarsi per la descrizione e per la simulazione

Progetto in VHDL Può essere composto da più unità compilate e salvate in opportune librerie Queste unità sono: Entity Architecture Package Entity ed Architecture descrivono i componenti come interfaccia e come struttura interna Package: contiene funzioni e/o grandezze di uso comune

Esempio package my_defs is constant unit_delay: time := 1 ns end my_defs entity COMPARE is port (a, b : in bit; c : out bit); end COMPARE (Package) -- ritardo (Entity) architecture DATAFLOW of COMPARE is (Architecture) begin c <= not (a xor b) after work.my_defs.unit_delay; end DATAFLOW

Entity Descrive un componente solo come Interfaccia da e verso l esterno, ne fornisce una visione ai morsetti Non fornisce alcun dettaglio sul funzionamento o sull architettura entity COMPARE is port (a, b : in bit; c : out bit); end COMPARE a b? c

Descrizione delle entity Entity Descrive gli ingressi e le uscite di un modulo Nome della entity Nome delle porte Modo delle porte (direzione) entity reg4 is port ( d0, d1, d2, d3, en, clk : in bit; q0, q1, q2, q3 : out bit ); end entity; Parole riservate Tipo delle porte

VHDL Half Adder Problema: descrivere un singolo bit half adder con i segnali di carry ed enable Specifica Ingressi e uscite sono tutti definiti da un solo bit Quando enable è alto, result è x + y Quando enable è alto, carry è uguale x and y Le uscite sono uguali a 0 quando enable è basso x y enable Half Adder carry result

Entity Half Adder x y enable Half Adder carry result ENTITY half_adder IS GENERIC(prop_delay : TIME := 10 ns); PORT( x, y, enable : IN BIT; carry, result : OUT BIT); END half_adder;

Architecture Descrive il funzionamento dell Entity tramite: descrizione astratta (comportamentale) equazioni logico/ aritmetiche (dataflow) Interconnessione tra moduli (strutturale) Lo stesso componente può essere descritto a più livelli di astrazione

Architecture (comportamentale) Descrizione comportamentale ad alto livello di astrazione (risulta molto simile ad un algoritmo espresso secondo il classici linguaggi sequenziali (C, Fortran, Pascal, ecc..) Utile per simulare parti di circuito senza dover scendere troppo nel dettaglio del funzionamento. Utilizzo di PROCESS (con lista dei segnali di attivazione) Più operazioni agenti in parallelo risiedono in diversi Process Diversi processi comunicano tra loro mediante SEGNALI ma al loro interno lavorano mediante VARIABILI Al loro interno i Processes sono sequenziali ATTENZIONE: non tutto ciò che viene descritto al livello comportamentale risulta sintetizzabile

Processi Un process è un'istruzione concorrente che contiene un'area sequenziale. Un processo viene eseguito parallelamente alle altre istruzioni concorrenti. Note: L'esecuzione del suo body può essere condizionata da una sensitivity list, una lista di segnali. La sensitivity list non si usa quando il body contiene un'istruzione wait. In questo caso l'esecuzione viene avviata e si sospende nel modo indicato da wait. In un processo le variabili locali conservano in proprio valore nel tempo tra un'esecuzione e l'altra.

Processi - Esempio p1: process (B, C) begin A <= B and C; C <= '0'; end; p1_2: process begin A <= B and C; C <= '0'; wait on B, C; end;

Architecture (comportamentale) Half Adder ARCHITECTURE half_adder_a OF half_adder IS BEGIN PROCESS (x, y, enable) BEGIN IF enable = 1 THEN result <= x XOR y; carry <= x AND y; ELSE carry <= 0 ; result <= 0 ; END IF; END PROCESS; END half_adder_a;

Architecture (dataflow)( Half Adder ARCHITECTURE half_adder_b OF half_adder IS BEGIN carry <= enable AND (x AND y); result <= enable AND (x XOR y); END half_adder_b; Descrizione secondo equazioni logiche

Architecture (strutturale) Descrizione Strutturale ovvero mediante blocchi tra loro interconnessi I vari components devono essere già presenti in una libreria di riferimento La dichiarazione dei components e spesso raccolta in un package La port map indica il collegamento fisico Vengono solitamente impiegati segnali interni

Architecture (strutturale) Half Adder x y enable carry result

Architecture (strutturale) Half Adder ARCHITECTURE half_adder_c OF half_adder IS COMPONENT and2 PORT (in0, in1 : IN BIT; out0 : OUT BIT); END COMPONENT; COMPONENT and3 PORT (in0, in1, in2 : IN BIT; out0 : OUT BIT); END COMPONENT; COMPONENT xor2 PORT (in0, in1 : IN BIT; out0 : OUT BIT); END COMPONENT; -- description is continued on next slide

Architecture (strutturale) Half Adder -- continuing half_adder_c description SIGNAL xor_res : BIT; -- internal signal -- Note that other signals are already declared in entity BEGIN A0 : and2 PORT MAP (enable, xor_res, result); A1 : and3 PORT MAP (x, y, enable, carry); X0 : xor2 PORT MAP (x, y, xor_res); END half_adder_c;

Architecture Tutte queste tecniche costitutive per l Architecture possono fondersi tra loro Una buona descrizione architetturale è il primo passo per una buona Sintesi Non tutto ciò che è scritto in VHDL può essere sintetizzato!!

Alcuni esempi

Controllo dei processi: IF-THEN THEN-ELSEELSE SIGNAL a : STD_LOGIC_VECTOR(2 downto 0); SIGNAL y : STD_LOGIC_VECTOR(2 downto 0); SIGNAL enable : STD_LOGIC; PROCESS( enable) BEGIN a2 y2 IF (enable = 1 ) THEN ELSE y <= a; y <= 000 ; a1 y1 END IF; END PROCESS; a0 y0 enable

Controllo dei processi: CASE SIGNAL a : STD_LOGIC; SIGNAL y : STD_LOGIC; SIGNAL enable : STD_LOGIC_VECTOR(1 downto 0); PROCESS ( enable ) BEGIN CASE enable IS WHEN 00 => y <= a; WHEN 01 => y <= 0 ; WHEN 10 => y <= 0 ; WHEN OTHERS => y <= 1 ; END CASE; END PROCESS;

Controllo dei processi: CASE - DECODER SIGNAL y : STD_LOGIC_VECTOR(3 downto 0); SIGNAL a : STD_LOGIC_VECTOR(1 downto 0); PROCESS (a) BEGIN CASE a IS WHEN 00 => y <= 0001 ; WHEN 01 => y <= 0010 ; WHEN 10 => y <= 0100 ; WHEN 11 => y <= 1000 ; WHEN OTHERS => ; END CASE; END PROCESS; a1 a0 DECODER y3 y2 y1 y0

Double DRIVEN ARCHITECTURE arch OF circ IS SIGNAL s : BIT; BEGIN PROCESS BEGIN s <= operazione1; END PROCESS; PROCESS BEGIN END PROCESS; END arch; s <= operazione2; operazione1 operazione2 S

Domande?

zione - Un po di sintassi - Appunti Appunti non non esaustivi. esaustivi. Lo Lo studio studio non non può può considerarsi considerarsi completo completo con con solo solo questa questa presentazione presenta

Introduzione Il VHDL e costituito da vari formati (types)ed operatori (operators) per consentire simulazione e sintesi a vari livelli Nel package STANDARD si trovano descritti quegli oggetti destinati alla descrizione COMPORTAMENTALE (non sempre sintetizzabile) Nel package IEEE1164 vi si trovano gli oggetti destinati alla sintesi ed alla simulazione logica Il VHDL e un linguaggio fortemente basato sulla sintassi 1+ 1 2.0

Sintassi Le varie espressioni sintattiche scritte in VHDL si possono ricondurre ai seguenti oggetti: Scalari e Vettori Nomi Oggetti: Costanti Segnali Variabili Espressioni

Sintassi - Scalari e Vettori Scalari character bit std_logic Vettori string bit_vector std_logic_vector boolean real integer time

Sintassi - Scalari e Vettori Bit Il BIT assume solo valori 0 o 1 e va dichiarato tra virgolette singole Es: 0 1 In caso di equivoco si usi la dichiarazione esplicita Es: bit ( 0 ) bit ( 1 )

Bit_vector Sintassi - Scalari e Vettori Il Bit_vector e un array di Bit che assumono solo valori 0 o 1 e va dichiarato tra virgolette doppie, e comunque consentito adottare una notazione ottale o esagesimale. Il carattere _ puo essere adottato per comodita, ma non viene interpretato Es: 0001_1001 x 00FF In caso di equivoco si usi la dichiarazione esplicita Es: bit_vector ( 0110_0101_0011 )

STD_logic Sintassi - Scalari e Vettori E il type piu usato per la sintesi logica Assume i valori: 'U' uninitialized 'X' unknown 'W' weak unknown '0' 0 logic 'L' weak 0 '1' 1 logic 'H' weak 1 'Z' high impedence '-' don't care

STD_logic Sintassi - Scalari e Vettori Viene dichiarato racchiuso tra virgolette singole Es: U X 1 0 In caso di equivoco si usi la dichiarazione esplicita Es: std_logic ( 1 )

STD_logic_vector Sintassi - Scalari e Vettori Viene dichiarato racchiuso tra virgolette doppie Es: 001XX UUUU In caso si voglia esprimere un particolare valore espresso secondo una notazione di tipo unsigned o signed (complemento a 2) si deve impiegare il pakage STD_LOGIC_ARITH Es: signed ( 111001 ) (ossia -7) unsigned( 111001 ) (ossia 57) Library IEEE; Use IEEE.STD_LOGIC_1164.all; Use IEEE.STD_LOGIC_ARITH.all;

Sintassi - Scalari e Vettori Real Puo essere utile per simulazioni ad alto livello NON VIENE SINTETIZZATO DEVE contenere il punto decimale ed eventualmente il segno Es: 1.0 +2.23-4.56-1.0E+38 Per impiegare un array di numeri reali deve essere opportunamente dichiarato

Sintassi - Scalari e Vettori Integer Puo essere utile per simulazioni ad alto livello NON SEMPRE VIENE SINTETIZZATO NON DEVE contenere il punto decimale ma puo eventualmente contenere il segno Es: 10 +223-456 Un intero puo eventualmente essere espresso in una latra base Es: 16#00F0F# Nel pakage STANDARD sono descritti due subset degli Integer: positive e natural

Sintassi - Scalari e Vettori Time E la sola grandezza fisica predefinita in VHDL. E definita nel Pakage STANDARD E importante separare il valore dall unita di grandezza Es: 10 ns 123 us 6.3 sec Unita di grandezza consentite: fs ps ns us ms sec min hr

type, subtype Sintassi - Ulteriori tipi In VHDL si possono inventare delle variabili su misura TYPE mese IS (gennaio, febbraio, giugno); TYPE bit IS ( 0, 1 ); E dei sottoinsiemi di queste SUBTYPE mesefreddo IS mese range gennaio to febbraio;

Sintassi - Nomi Ogni oggetto (entity, architerctures, segnali, ) ha un nome simbolico Il VHDL e un linguaggio Case insentistive (ossia abcd e analogo a AbCd) Vi sono nomi riservati quali: in, out, signal, port, library, map, entity,. I nomi relativi vengono indicati con un. nella sintassi Es: libray_name.pakage_name.item.neme WORK.my_defs.unit_delay

Sintassi - Dichiarazioni di oggetti In VHDL vi sono grandezze che mantengono il loro valore immutabile ed altre che possono cambiare valore constants: gandezze fisse signals: rappresentano collegamenti fisici (sono grandezze concorrenti) variables: rappresentano variabili all interno di un processo (sono grandezze sequenziali) Inoltre si possono definire dei puntatori a files (ovviamente per blocchi puramente comportamentali) Ogni grandezza impiegata deve essere definita a priori variable x: integer; signal abc: bit; constant Vdd: real := 12.3;

Sintassi - Signals Sono l astrazione dei collegamenti fisici Fanno comunicare tra loro varie entity Un segnale può essere inizializzato (ATTENZIONE in fase di SINTESI l inizializzazione potrebbe essere disattesa!) In una entity un segnale viene dichiarato tramite la port signal count: integer range 1 to 10; signal GROUND: bit :=0 ; signal SYS_BUS : std_logic_vector (7 downto 0); port (A, B : in std_logic);

Sintassi - Variables Una variabile viene impiegata nei process l assegnamento del valore ad una variabile avviene istantaneamente in simulazione (all opposto di un segnale per cui lassegnamento avviene in base al tempo di simulazione ) deve essere dichiarata prima di essere usata variable INDEX : integer range 1 to 50; variable CYCLE : time range 10 ns to 50 ns := 10ns; varaible MEMORY : bit_vector (0 to 7); variable x,y,z : integer;

Sintassi - Operandi Logici: and, or, nand, nor, xor Relazionali =, /=, <, <=, >, >= Concatenazione e aritnetici &, +, -, *, /, mod, rem, **, abs Logici: not NOTA: il precedente elenco e ordinato in base alla priotita

Pakages STD_logic_arith Il pakage STANDARD non consente comparazioni o operazioni aritmetiche tra bit_vector Alcuni venditori provvedono un pakage per definire le operazioni tra std_logic_vector Servono per definire se le grandezze impiegate sono di tipo signed o unsigned ovvero ad esempio come interpretare la grandezza 1011 ossia 11 oppure -5?) use IEEE.std_logic_signed.all; use IEEE.std_logic_unsigned.all;

WebPACK ISE WebPACK è un tool gratuito e scaricabile dal web che supporta la scrittura, la sintesi e la verifica di specifiche in HDL sia per CPLD che FPGA. E possibile scaricarlo gratuitamente da: www.xilinx.com

Bibliografia The VHDL Cookbook, P. J.Ashenden The Hamburg VHDL archive: http://tech-www.informatik.uni-hamburg.de/vhdl/ Il Linguaggio VHDL. Introduzione al linguaggio VHDL per la descrizione di sistemi digitali, Xilinx Inc. WEB-LINKS: http://www.ashenden.com.au/designersguide/dg.html http://www.ashenden.com.au/designers-guide/dgintro-lectures.html http://www.ashenden.com.au/studentsguide/sg.html