Professional Documents
Culture Documents
POKAZNA VEBA2
Projektovanje digitalnih sistema na nivou logikih kapija u VHDL-u
VHDL je HDL namenjen za opis digitalnih sistema visoke integracije (VHDL Very high scale integration circuit
Hardware Description Language). Kako bi pokazali kako se digitalni sistem opisuje u VHDL jeziku, posmatrajmo
primer sa Slike 1-1 koji predstavlja digitalni sistem sastavljen od 2 logika kola.
A
S
Y
B
Digitalni sistem sa Slike 1-1 ima dva ulaza i jedan izlaz. Ulazi i izlazi se nazivaju prolazi (ports). Unutar
digitalnog sistema mogu da postoje i interni signali. Interni signali nisu vidljivi izvan digitalnog sistema, tako da
digitalni sistem komunicira sa svojom okolinom iskljuivo preko prolaza (ulaza/izlaza).
Listing 1-1 na sledeoj strani prikazuje osnovnu strukturu VHDL opisa digitalnih sistema. Osnovni delovi VHDL
opisa digitalnih sistema su:
use nabrajanje biblioteka koje se koriste (Xilinx ISE to za nae potrebe popuni automatski),
entity deklaracija entiteta (naziv i spisak ulaza i izlaza entiteta digitalnog sistema),
architecture definicija arhitekture digitalnog sistema (opis).
Prolazi se definiu unutar deklaracije entiteta, a interni signali se definiu unutar arhitekture. Svi prolazi i
interni signali koji predstavljaju jedan bit signala se u VHDL jeziku definiu kao tip STD_LOGIC. Prolazi i interni
signali koji imaju vie bita se definiu kao tip STD_LOGIC_VECTOR.
Prilikom opisa digitalnih sistema na nivou logikih kapija, unutar tela arhitekture treba navesti, redom, sve
logike kapije koje se nalaze unutar digitalnog sistema, koristei logike operatore: not, and, or, xor, nand, nor,
xnor. Operator dodele vrednosti signalu na izlazu iz logike kapije je operator <=.
1
Pokazna veba 2 Projektovanje digitalnih sistema na nivou logikih kapija u VHDL-u 2011/12
library ieee;
use<libraryName>;
...
entity<entityName>is
port ( <portName1>:<portDirection1><portType1>;
<portName2>:<portDirection2><portType2>;
...
<portNameN>:<portDirectionN><portTypeN>);
end<entityName>;
architecture<architectureName>of<entityName>is
signal<signalName>:<signalType>;
...
begin
<architectureBody>
end<architectureName>;
library ieee;
use IEEE.STD_LOGIC_1164.ALL;
entity MyFirstDigitalSystem is
port ( A : in STD_LOGIC;
B : in STD_LOGIC;
Y : out STD_LOGIC );
end MyFirstDigitalSystem;
2
Pokazna veba 2 Projektovanje digitalnih sistema na nivou logikih kapija u VHDL-u 2011/12
Razvojni sistem TLL5000 je napredna platforma koja na sebi sadri Spartan3 FPGA integrisano kole koje je
okrueno skupom periferijskih komponenti koje mogu biti iskoriene za generisanje sloenih sitema. Slika 2-2na
sledeoj strani prikazuje blok dijagram razvojne ploe TLL5000 sa oznaenim svim raspoloivim perifernim
jedinicama.
3
Pokazna veba 2 Projektovanje digitalnih sistema na nivou logikih kapija u VHDL-u 2011/12
Internal Power
AC97 Audio CODEC & Stereo Amp
12V 10% Supplies
1.2V, 1.8V, XSGA Video Output
2.5V, 3.3V, 5V
Video Decoder
Video Encoder
ARM
Housekeeping SD/MMC Card slot
processor
User LEDs (8)
16MB SDRAM
24 MHz
Oscillator 16MB FLASH
Test points
Osobina Vrednost
Broj logikih elija 29952
Veliina programabilne matrice 6452
Distribuirani RAM 208 Kbit
Blok RAM 576 Kbit
Broj mnoaa 32
Broj DCM blokova 4
4
Pokazna veba 2 Projektovanje digitalnih sistema na nivou logikih kapija u VHDL-u 2011/12
FPGA pin Oznaka Oznaka signala FPGA pin Oznaka Oznaka signala
F6 FLASH_IO0 WE# H3 FLASH_IO23 A5
F5 FLASH_IO1 A21 H2 FLASH_IO24 DQ6
E4 FLASH_IO2 A0 H1 FLASH_IO25 DQ13
E3 FLASH_IO3 CE# J7 FLASH_IO26 A14
D2 FLASH_IO4 DQ2 K7 FLASH_IO27 A10
D1 FLASH_IO5 DQ9 J5 FLASH_IO28 A18
G7 FLASH_IO6 A22 J4 FLASH_IO29 A4
G6 FLASH_IO7 RESET# J3 FLASH_IO30 A3
E2 FLASH_IO8 DQ3 J2 FLASH_IO31 DQ14
E1 FLASH_IO9 DQ10 K6 FLASH_IO32 A11
F4 FLASH_IO10 OE# K5 FLASH_IO33 A17
F3 FLASH_IO11 DQ0 K4 FLASH_IO34 A2
G5 FLASH_IO12 WP# K3 FLASH_IO35 A1
G4 FLASH_IO13 DQ8 K2 FLASH_IO36 DQ15/A_1
F2 FLASH_IO14 DQ4 K1 FLASH_IO37 DQ7
F1 FLASH_IO15 DQ11 L8 FLASH_IO38 A19
H7 FLASH_IO16 A15 L7 FLASH_IO39 A9
H6 FLASH_IO17 A13 L6 FLASH_IO40 A6
G2 FLASH_IO18 DQ5 L5 FLASH_IO41 A7
G1 FLASH_IO19 DQ12 L2 FLASH_IO42 A16
H5 FLASH_IO20 RY/BY# L1 FLASH_IO43 BYTE#
J6 FLASH_IO21 A12 M8 FLASH_IO44 A20
H4 FLASH_IO22 DQ1 M7 FLASH_IO45 A8
5
Pokazna veba 2 Projektovanje digitalnih sistema na nivou logikih kapija u VHDL-u 2011/12
adresnih linija (A0-A7) koristi za adresiranje kolona. SDRAM modul sadri 4 koje se adresiraju putem signala BA0 i
BA1. Svaka banka sadri 33,554,432 bita organizovanih u 4096 redova i 256 kolona sa 32 bitnim lokacijama.
Tabela 2-4 prikazuje raspored pinova na FPGA gde su povezani signali prema SDRAM memoriji.
Tabela 2-4. Raspored pinova XC3S1500 povezanih na SDRAM
FPGA pin Oznaka Oznaka signala FPGA pin Oznaka Oznaka signala
P26 RAM_IO0 DQ1 V25 RAM_IO28 CS#
P25 RAM_IO1 DQ0 V24 RAM_IO29 DQ29
P24 RAM_IO2 DQ13 V23 RAM_IO30 DQ28
P23 RAM_IO3 DQ12 V22 RAM_IO31 A0
P22 RAM_IO4 DQ14 U20 RAM_IO32 A6
P21 RAM_IO5 DQ15 V20 RAM_IO33 DQM3
P20 RAM_IO6 DQ2 W26 RAM_IO34 BA1
P19 RAM_IO7 CLK W25 RAM_IO35 A11
R26 RAM_IO8 DQ4 W24 RAM_IO36 DQ27
R25 RAM_IO9 DQ3 W23 RAM_IO37 DQ26
R24 RAM_IO10 DQ11 V21 RAM_IO38 A4
T23 RAM_IO11 DQ9 W22 RAM_IO39 DQM2
R22 RAM_IO12 DQ10 Y26 RAM_IO40 A1
R21 RAM_IO13 DQ5 Y25 RAM_IO41 A10
R20 RAM_IO14 A8 W21 RAM_IO42 A3
R19 RAM_IO15 CKE W20 RAM_IO43 DQ31
T26 RAM_IO16 DQ7 AA26 RAM_IO44 DQ16
T25 RAM_IO17 DQ6 AA25 RAM_IO45 A2
T22 RAM_IO18 RAS# Y23 RAM_IO46 DQ25
T21 RAM_IO19 DQM0 Y22 RAM_IO47 DQ18
T20 RAM_IO20 A7 AA24 RAM_IO48 DQ24
T19 RAM_IO21 A9 AA23 RAM_IO49 DQ23
U26 RAM_IO22 CAS# AB26 RAM_IO50 DQ19
U25 RAM_IO23 WE# AB25 RAM_IO51 DQ17
U24 RAM_IO24 DQ8 Y21 RAM_IO52 DQ21
U23 RAM_IO25 DQM1 Y20 RAM_IO53 DQ30
U22 RAM_IO26 BA0 AC26 RAM_IO54 DQ22
U21 RAM_IO27 A5 AC25 RAM_IO55 DQ20
6
Pokazna veba 2 Projektovanje digitalnih sistema na nivou logikih kapija u VHDL-u 2011/12
7
Pokazna veba 2 Projektovanje digitalnih sistema na nivou logikih kapija u VHDL-u 2011/12
8
Pokazna veba 2 Projektovanje digitalnih sistema na nivou logikih kapija u VHDL-u 2011/12
9
Pokazna veba 2 Projektovanje digitalnih sistema na nivou logikih kapija u VHDL-u 2011/12
10
Pokazna veba 2 Projektovanje digitalnih sistema na nivou logikih kapija u VHDL-u 2011/12
11
Pokazna veba 2 Projektovanje digitalnih sistema na nivou logikih kapija u VHDL-u 2011/12
Za ovaj korak prvo je potrebno odabrati datoteku sa opisom digitalnog sistema u projektnom prozoru. Nakon
toga treba otvoriti prozor sa izvetajem o projektu (Design Summary/Reports) i pokrenuti implementaciju
projekata dvostrukim klikom na proces Implement Design. Nakon implementacije svi procesi dobijaju zelenu
ikonu oznaavajui da su svi procesi izvreni bez greaka i upozorenja, Slika 3-1.
12
Pokazna veba 2 Projektovanje digitalnih sistema na nivou logikih kapija u VHDL-u 2011/12
Za ovaj zadatak treba pokrenuti proces I/O Pin Planning (PlanAhead) Pre-Synthesis, koji se nalazi u grupi
procesa pod imenom User Constraints kada je selektovan najvii hijerarhijski nivo projekta u Design prozoru.
Pozivanjem ovom procesa dobija se posebna alatka za ovu namenu koja se zove Xilinx PlanAhead, Slika 4-1.
Nakon toga, treba definisati lokacije svih ulaznih i izlaznih pinova isprojektovane arhitekture.
Lokacija pinova u Xilinx PlanAhead editoru se nalazi u koloni oznaenoj sa Siteu prozoru I/O Ports. Kako bi se
port povezao sa odgovarajuim pinom, potrebno je upisati naziv pina u ovo polje.
Nakon ovog koraka potrebno je ponovo implementirati projekat, radi povezivanja ulazno/izlaznih signala sa
definisanim pinovima. Tokom prethodne implementacije ulazno/izlazni signali su bili rasporeeni prema
nasuminom rasporedu koji je odabrao Xilinx ISE programski paket tokom procesa implementacije.
Ponovna implementacija projekta se pokree dvostrukim klikom na proces Implement Design. Otvaranjem
prozora sa saetkom implementacije (Design Summary/Reports) i odabirom polja Pinout Report moe se
proveriti da li ulazno/izlazni signali navedeni u VHDL kodu povezani prema definisanom rasporedu.
Poto se utvrdi da su ulazno/izlazni signali povezani na odgovarajue pinove, potrebno je izgenerisati binarnu
datoteku za punjenje programabilne skevencijalne mree. U projektnom prozoru treba odabrati VHDL datoteku sa
13
Pokazna veba 2 Projektovanje digitalnih sistema na nivou logikih kapija u VHDL-u 2011/12
opisom najvieg hijerarhijskog nivoa i selektovati proces Generate Programming File. Iz menija koji se dobije
desnim klikom odabrati komandu Process Properties i odabrati kategoriju Readback Options. Radi mogunosti
provere saraja FPGA nakon njenog punjenja treba odabrati opcije Create ReadBack Data Files i Create Mask File,
Slika 4-2. Nakon pritiska na dugme OK treba pokrenuti proces generisanja datoteke za punjenje FPGA (Generate
Programming File).
Nakon kreiranja binarne datoteke za punjenje FPGA potrebno je povezati demonstracionu ploicu sa PC
raunarom uz pomo USB kabla i prikljuiti napajanje na demonstracionu ploicu. Sledei korak je da se pokrene
TLL5000 Monitor/Controller kontrolna aplikacija. Njena uloga je kontrola resursa na LL5000 ploi kao i
konfigurisanje programabilne sekvencijalne mree. Po pokretanju prozor aplikacije bi trebao da izgleda kao na
Slici 4-3.
Ukoliko je napajanje prikljueno na plou i ploa je povezana sa raunarom pomou USB kabla mogue je
izabrati LL5000 board u Choose Device...polju u gornjem levom uglu prozora. Nakon odabira LL5000
demonstracione ploe opcija paljenja/gaenja ploe postaje dostupna. Pritiskom na taster Power (OFF)ukljuuje
se napajanje svih integrisanih kola na demonstraciona ploi. Slika 4.4 prikazuje izgled prozora aplikacije nakon to
je napajanje ukljueno.
14
Pokazna veba 2 Projektovanje digitalnih sistema na nivou logikih kapija u VHDL-u 2011/12
Da bi pokrenuli proces konfigurisanja programabilne sekvencijalne mree potrebno je pritisnuti dugme Open
BIT. Nakon toga e se otvoriti prozor prikazan na Slici 4-5 u kome vrimo odabir datoteke za konfiguraciju FPGA.
Potrebno je napomenuti da aplikacija podrava samo datoteke u Xilinx Bit formatu.
Nakon odabira datoteke za punjenje FPGA javlja se prozor (progress bar) koji prikazuje Slika 4-6.
Proces konfigurisanja FPGA traje oko 15 sekundi. Po uspenom zavretku procesa konfiguracije
programabilne sekvencijalne mree pojavie se prozor koji prikazuje Slika 4-7.
15
Pokazna veba 2 Projektovanje digitalnih sistema na nivou logikih kapija u VHDL-u 2011/12
Ovim korakom FPGA je uspeno iskonfigurisan. Proces konfiguracije FPGA je mogue ponoviti neogranien
broj puta bez potrebe za gaenjem ploe i/ili kontrolne aplikacije.
5. Zadaci
5.1. Dekoder
Implementirati sledee funkcije opisom u VHDL jeziku na nivou logikih kola:
Napisati VHDL TestBench za dati sistem i izvriti simulaciju rada sistema. Izvriti sintezu sistema za TLL5000
platformu. Ulaze povezati na prekidae, a izlaze na LED.
5.2. Multiplekser
Implementirati sledee funkcije opisom u VHDL jeziku na nivou logikih kola:
Napisati VHDL TestBench za dati sistem i izvriti simulaciju rada sistema. Izvriti sintezu sistema za TLL5000
platformu. Ulaze S povezati na prekidae, ulaze B na tastere, a izlaze Y na LED.
16