Sfruttando questo effetto con un circuito è possibile generare corrente elettrica.
Calcolatori Elettronici M Modulo 2 06 – Introduzione …...2011/05/17 · Nei testbench delle RSS...
Transcript of Calcolatori Elettronici M Modulo 2 06 – Introduzione …...2011/05/17 · Nei testbench delle RSS...
![Page 1: Calcolatori Elettronici M Modulo 2 06 – Introduzione …...2011/05/17 · Nei testbench delle RSS è necessario generare un segnale periodico di clock. A tal fine, è possibile](https://reader034.fdocuments.net/reader034/viewer/2022052611/5f04e9fa7e708231d41055f5/html5/thumbnails/1.jpg)
1
Calcolatori Elettronici MModulo 2
06 – Introduzione all’ambiente Xilinx ISE 12.3 e ISIM
![Page 2: Calcolatori Elettronici M Modulo 2 06 – Introduzione …...2011/05/17 · Nei testbench delle RSS è necessario generare un segnale periodico di clock. A tal fine, è possibile](https://reader034.fdocuments.net/reader034/viewer/2022052611/5f04e9fa7e708231d41055f5/html5/thumbnails/2.jpg)
2
Questi lucidi forniscono una sintetica introduzione all’ambiente di sviluppo Xilinx ISE 12.3 utilizzando come riferimento un semplice esempio (XOR).
Dettagliate informazioni su come installare e ottenerela licenza di ISE 12.3 possono essere reperite nei lucididi introduzione al corso (i.e. 01 - Introduzione).
ISE 12.3 include il software ISIM, necessario per poter eseguire le simulazioni.
L’ambiente di sviluppo ISE 12.3 è disponibile sul sito del produttore (gratuitamente nella versione WebPack):
Sito Xilinx: www.xilinx.com
Alternativamente, il medesimo software è disponibile sulsito del corso come una serie di 7 files al fine di rendere più agevole il download.
Sito del corso: http://gneri.deis.unibo.it
![Page 3: Calcolatori Elettronici M Modulo 2 06 – Introduzione …...2011/05/17 · Nei testbench delle RSS è necessario generare un segnale periodico di clock. A tal fine, è possibile](https://reader034.fdocuments.net/reader034/viewer/2022052611/5f04e9fa7e708231d41055f5/html5/thumbnails/3.jpg)
3
Hello VHDL (Xilinx ISE 12.3)
![Page 4: Calcolatori Elettronici M Modulo 2 06 – Introduzione …...2011/05/17 · Nei testbench delle RSS è necessario generare un segnale periodico di clock. A tal fine, è possibile](https://reader034.fdocuments.net/reader034/viewer/2022052611/5f04e9fa7e708231d41055f5/html5/thumbnails/4.jpg)
4
![Page 5: Calcolatori Elettronici M Modulo 2 06 – Introduzione …...2011/05/17 · Nei testbench delle RSS è necessario generare un segnale periodico di clock. A tal fine, è possibile](https://reader034.fdocuments.net/reader034/viewer/2022052611/5f04e9fa7e708231d41055f5/html5/thumbnails/5.jpg)
5
![Page 6: Calcolatori Elettronici M Modulo 2 06 – Introduzione …...2011/05/17 · Nei testbench delle RSS è necessario generare un segnale periodico di clock. A tal fine, è possibile](https://reader034.fdocuments.net/reader034/viewer/2022052611/5f04e9fa7e708231d41055f5/html5/thumbnails/6.jpg)
6
![Page 7: Calcolatori Elettronici M Modulo 2 06 – Introduzione …...2011/05/17 · Nei testbench delle RSS è necessario generare un segnale periodico di clock. A tal fine, è possibile](https://reader034.fdocuments.net/reader034/viewer/2022052611/5f04e9fa7e708231d41055f5/html5/thumbnails/7.jpg)
7
![Page 8: Calcolatori Elettronici M Modulo 2 06 – Introduzione …...2011/05/17 · Nei testbench delle RSS è necessario generare un segnale periodico di clock. A tal fine, è possibile](https://reader034.fdocuments.net/reader034/viewer/2022052611/5f04e9fa7e708231d41055f5/html5/thumbnails/8.jpg)
8
![Page 9: Calcolatori Elettronici M Modulo 2 06 – Introduzione …...2011/05/17 · Nei testbench delle RSS è necessario generare un segnale periodico di clock. A tal fine, è possibile](https://reader034.fdocuments.net/reader034/viewer/2022052611/5f04e9fa7e708231d41055f5/html5/thumbnails/9.jpg)
9
![Page 10: Calcolatori Elettronici M Modulo 2 06 – Introduzione …...2011/05/17 · Nei testbench delle RSS è necessario generare un segnale periodico di clock. A tal fine, è possibile](https://reader034.fdocuments.net/reader034/viewer/2022052611/5f04e9fa7e708231d41055f5/html5/thumbnails/10.jpg)
10
![Page 11: Calcolatori Elettronici M Modulo 2 06 – Introduzione …...2011/05/17 · Nei testbench delle RSS è necessario generare un segnale periodico di clock. A tal fine, è possibile](https://reader034.fdocuments.net/reader034/viewer/2022052611/5f04e9fa7e708231d41055f5/html5/thumbnails/11.jpg)
11
![Page 12: Calcolatori Elettronici M Modulo 2 06 – Introduzione …...2011/05/17 · Nei testbench delle RSS è necessario generare un segnale periodico di clock. A tal fine, è possibile](https://reader034.fdocuments.net/reader034/viewer/2022052611/5f04e9fa7e708231d41055f5/html5/thumbnails/12.jpg)
12
![Page 13: Calcolatori Elettronici M Modulo 2 06 – Introduzione …...2011/05/17 · Nei testbench delle RSS è necessario generare un segnale periodico di clock. A tal fine, è possibile](https://reader034.fdocuments.net/reader034/viewer/2022052611/5f04e9fa7e708231d41055f5/html5/thumbnails/13.jpg)
13
Codice generato automaticamente
![Page 14: Calcolatori Elettronici M Modulo 2 06 – Introduzione …...2011/05/17 · Nei testbench delle RSS è necessario generare un segnale periodico di clock. A tal fine, è possibile](https://reader034.fdocuments.net/reader034/viewer/2022052611/5f04e9fa7e708231d41055f5/html5/thumbnails/14.jpg)
14
Inserite qui il vostro codice
Inserimento del codice utente
![Page 15: Calcolatori Elettronici M Modulo 2 06 – Introduzione …...2011/05/17 · Nei testbench delle RSS è necessario generare un segnale periodico di clock. A tal fine, è possibile](https://reader034.fdocuments.net/reader034/viewer/2022052611/5f04e9fa7e708231d41055f5/html5/thumbnails/15.jpg)
15
Selezione del dispositivo (opzionale) 1/3
![Page 16: Calcolatori Elettronici M Modulo 2 06 – Introduzione …...2011/05/17 · Nei testbench delle RSS è necessario generare un segnale periodico di clock. A tal fine, è possibile](https://reader034.fdocuments.net/reader034/viewer/2022052611/5f04e9fa7e708231d41055f5/html5/thumbnails/16.jpg)
16
Dispositivo Spartan 3E (opzionale) 2/3Selezionando come famiglia Spartan 3E e come dispositivo XC3S500E si eseguirà la sintesi sulla FPGA presente nella dev board basata su Spartan 3E (vedi datasheet sul sito).
![Page 17: Calcolatori Elettronici M Modulo 2 06 – Introduzione …...2011/05/17 · Nei testbench delle RSS è necessario generare un segnale periodico di clock. A tal fine, è possibile](https://reader034.fdocuments.net/reader034/viewer/2022052611/5f04e9fa7e708231d41055f5/html5/thumbnails/17.jpg)
17
Dispositivo Spartan 6 (opzionale) 3/3Selezionando come famiglia Spartan 6 e come dispositivo XC6LX45 si eseguirà la sintesi sulla FPGA presente nella dev board basata su Spartan 6 (vedi datasheet sul sito).
![Page 18: Calcolatori Elettronici M Modulo 2 06 – Introduzione …...2011/05/17 · Nei testbench delle RSS è necessario generare un segnale periodico di clock. A tal fine, è possibile](https://reader034.fdocuments.net/reader034/viewer/2022052611/5f04e9fa7e708231d41055f5/html5/thumbnails/18.jpg)
18
Sintesi e implementazione nel dispositivo selezionato
![Page 19: Calcolatori Elettronici M Modulo 2 06 – Introduzione …...2011/05/17 · Nei testbench delle RSS è necessario generare un segnale periodico di clock. A tal fine, è possibile](https://reader034.fdocuments.net/reader034/viewer/2022052611/5f04e9fa7e708231d41055f5/html5/thumbnails/19.jpg)
19
E’ possibile svolgere solo la sintesi o semplicemente il controllo sintattico.
L’implementazione del progetto consiste nella generazione dei files che consentono di configurare il dispositivo selezionato. Questa (lenta) operazione non è sempre necessaria specialmente durante lo sviluppo iniziale di un progetto.
Sintesi
Controllo sintattico
![Page 20: Calcolatori Elettronici M Modulo 2 06 – Introduzione …...2011/05/17 · Nei testbench delle RSS è necessario generare un segnale periodico di clock. A tal fine, è possibile](https://reader034.fdocuments.net/reader034/viewer/2022052611/5f04e9fa7e708231d41055f5/html5/thumbnails/20.jpg)
20
Il risultato della implementazione del progetto su un dispositivo Spartan 3E (XC3S500E) è il seguente:
![Page 21: Calcolatori Elettronici M Modulo 2 06 – Introduzione …...2011/05/17 · Nei testbench delle RSS è necessario generare un segnale periodico di clock. A tal fine, è possibile](https://reader034.fdocuments.net/reader034/viewer/2022052611/5f04e9fa7e708231d41055f5/html5/thumbnails/21.jpg)
21
Creazione di un “testbench”
![Page 22: Calcolatori Elettronici M Modulo 2 06 – Introduzione …...2011/05/17 · Nei testbench delle RSS è necessario generare un segnale periodico di clock. A tal fine, è possibile](https://reader034.fdocuments.net/reader034/viewer/2022052611/5f04e9fa7e708231d41055f5/html5/thumbnails/22.jpg)
22
1
2
3
4
![Page 23: Calcolatori Elettronici M Modulo 2 06 – Introduzione …...2011/05/17 · Nei testbench delle RSS è necessario generare un segnale periodico di clock. A tal fine, è possibile](https://reader034.fdocuments.net/reader034/viewer/2022052611/5f04e9fa7e708231d41055f5/html5/thumbnails/23.jpg)
23
![Page 24: Calcolatori Elettronici M Modulo 2 06 – Introduzione …...2011/05/17 · Nei testbench delle RSS è necessario generare un segnale periodico di clock. A tal fine, è possibile](https://reader034.fdocuments.net/reader034/viewer/2022052611/5f04e9fa7e708231d41055f5/html5/thumbnails/24.jpg)
24
![Page 25: Calcolatori Elettronici M Modulo 2 06 – Introduzione …...2011/05/17 · Nei testbench delle RSS è necessario generare un segnale periodico di clock. A tal fine, è possibile](https://reader034.fdocuments.net/reader034/viewer/2022052611/5f04e9fa7e708231d41055f5/html5/thumbnails/25.jpg)
25
Nel caso del nostro semplice esempio possiamo modificare il file generato automaticamente da ISE oppure sostituirela parte di Architecture con il codice mostrato nelle slides successive (questa sarà la procedura descritta in dettaglio).
![Page 26: Calcolatori Elettronici M Modulo 2 06 – Introduzione …...2011/05/17 · Nei testbench delle RSS è necessario generare un segnale periodico di clock. A tal fine, è possibile](https://reader034.fdocuments.net/reader034/viewer/2022052611/5f04e9fa7e708231d41055f5/html5/thumbnails/26.jpg)
26
ARCHITECTURE behavior OF first_testbench IS
-- Component Declaration for the Unit Under Test (UUT)
COMPONENT Codice_VHDLPORT(
A : IN std_logic;B : IN std_logic;Z : OUT std_logic);
END COMPONENT;
--Inputssignal A : std_logic := '0';signal B : std_logic := '0';
--Outputssignal Z : std_logic;
BEGIN
-- Instantiate the Unit Under Test (UUT)uut: Codice_VHDL PORT MAP (
A => A,B => B,Z => Z );
-- ****** inizio codice testbench ******-- . . . . . . . . . . . -- ****** fine codice testbench ******
END;
Inserire qui il processo con gli stimoli per la UUT (vedi pagina successiva)
![Page 27: Calcolatori Elettronici M Modulo 2 06 – Introduzione …...2011/05/17 · Nei testbench delle RSS è necessario generare un segnale periodico di clock. A tal fine, è possibile](https://reader034.fdocuments.net/reader034/viewer/2022052611/5f04e9fa7e708231d41055f5/html5/thumbnails/27.jpg)
27
-- ****** inizio codice testbench ******processo_con_stimoli_per_la_UUT: processbegin
wait for 100 ms;A <= '1'; B <= '1'; wait for 10 ms;A <= '0'; wait for 10 ms;
end process;-- ****** fine codice testbench ******
Inserite il codice del processo che genera gli stimoli per la UUT. Ad esempio per il codice del nostro sempliceesempio potrebbe essere il seguente:
Una volta completato il codice del testbench è possibile verificarne la sintassi ed eseguire la simulazione come indicato nelle slides successive.
![Page 28: Calcolatori Elettronici M Modulo 2 06 – Introduzione …...2011/05/17 · Nei testbench delle RSS è necessario generare un segnale periodico di clock. A tal fine, è possibile](https://reader034.fdocuments.net/reader034/viewer/2022052611/5f04e9fa7e708231d41055f5/html5/thumbnails/28.jpg)
28
LIBRARY ieee;USE ieee.std_logic_1164.ALL;
-- Uncomment the following library declaration if using-- arithmetic functions with Signed or Unsigned values--USE ieee.numeric_std.ALL;
ENTITY first_testbench ISEND first_testbench;
ARCHITECTURE behavior OF first_testbench IS
-- Component Declaration for the Unit Under Test (UUT)
COMPONENT Codice_VHDLPORT(
A : IN std_logic;B : IN std_logic;Z : OUT std_logic
);END COMPONENT;
--Inputssignal A : std_logic := '0';signal B : std_logic := '0';
--Outputssignal Z : std_logic;
Codice completo del “testbench” 1/2
![Page 29: Calcolatori Elettronici M Modulo 2 06 – Introduzione …...2011/05/17 · Nei testbench delle RSS è necessario generare un segnale periodico di clock. A tal fine, è possibile](https://reader034.fdocuments.net/reader034/viewer/2022052611/5f04e9fa7e708231d41055f5/html5/thumbnails/29.jpg)
29
BEGIN
-- Instantiate the Unit Under Test (UUT)uut: Codice_VHDL PORT MAP (
A => A,B => B,Z => Z
);
-- ****** inizio codice testbench ******processo_con_stimoli_per_la_UUT: processbegin
wait for 100 ms;A <= '1'; B <= '1'; wait for 10 ms;A <= '0'; wait for 10 ms;
end process;-- ****** fine codice testbench ******
END;
Codice completo del “testbench” 2/2
![Page 30: Calcolatori Elettronici M Modulo 2 06 – Introduzione …...2011/05/17 · Nei testbench delle RSS è necessario generare un segnale periodico di clock. A tal fine, è possibile](https://reader034.fdocuments.net/reader034/viewer/2022052611/5f04e9fa7e708231d41055f5/html5/thumbnails/30.jpg)
30
Verifica la sintassi del “testbench”
![Page 31: Calcolatori Elettronici M Modulo 2 06 – Introduzione …...2011/05/17 · Nei testbench delle RSS è necessario generare un segnale periodico di clock. A tal fine, è possibile](https://reader034.fdocuments.net/reader034/viewer/2022052611/5f04e9fa7e708231d41055f5/html5/thumbnails/31.jpg)
31
Imposta la durata della simulazione 1/2
![Page 32: Calcolatori Elettronici M Modulo 2 06 – Introduzione …...2011/05/17 · Nei testbench delle RSS è necessario generare un segnale periodico di clock. A tal fine, è possibile](https://reader034.fdocuments.net/reader034/viewer/2022052611/5f04e9fa7e708231d41055f5/html5/thumbnails/32.jpg)
32
Imposta la durata della simulazione 2/2
![Page 33: Calcolatori Elettronici M Modulo 2 06 – Introduzione …...2011/05/17 · Nei testbench delle RSS è necessario generare un segnale periodico di clock. A tal fine, è possibile](https://reader034.fdocuments.net/reader034/viewer/2022052611/5f04e9fa7e708231d41055f5/html5/thumbnails/33.jpg)
33
Simulazione 1/2
![Page 34: Calcolatori Elettronici M Modulo 2 06 – Introduzione …...2011/05/17 · Nei testbench delle RSS è necessario generare un segnale periodico di clock. A tal fine, è possibile](https://reader034.fdocuments.net/reader034/viewer/2022052611/5f04e9fa7e708231d41055f5/html5/thumbnails/34.jpg)
34
Simulazione 2/2
![Page 35: Calcolatori Elettronici M Modulo 2 06 – Introduzione …...2011/05/17 · Nei testbench delle RSS è necessario generare un segnale periodico di clock. A tal fine, è possibile](https://reader034.fdocuments.net/reader034/viewer/2022052611/5f04e9fa7e708231d41055f5/html5/thumbnails/35.jpg)
35
Testbench di reti sincrone (RSS)
. . . . . . .-- processo che genera il clock
CK_process :processbegin
CK <= not(CK);wait for 5 ms;
end process;
-- Stimulus processstim_proc: processbegin
-- hold reset state for 100ms.wait for 100 ms;-- insert stimulus here
D<='1'; wait for 20 ms;D<='0'; wait for 20 ms;
wait;end process;
. . . . . . .
Nei testbench delle RSS è necessario generare un segnale periodico di clock. A tal fine, è possibile prevedere nel testbench un processo che genera un segnale di clock come mostrato nel seguente frammento di codice.