ISE TutorijalIII deo
Xilinx ISE 9.1i.lnk
Programabilna digitalna kola
Optimizacija koda
c1 c0 Operacija y 0 0 Sabiranje a + b 0 1 Oduzimanje a - b 1 0 Minimum Min(a, b) 1 1 Maksimum Max(a, b)
Izvršiti implementaciju dve varijante VHDL opisa višefunkcionalne aritmetičke jedinice iz primera 4 na FPGA. Upored dva rešenja prema složenosti (zauzeće hardverskih resursa) i performansama (propagaciono kanjenje) za 3 vrednosti gneričkog parametra n: 8, 16 i 32.
Koraci
Kreiranje novog projekta
AU
Podešavanja
Novi projektni fajl
˝Prazan˝ modulSamo Next
Pisanje koda
Obrisati sve. Pišemo kod iz
početka
Podrazumevana vrednost generičkog parametra
Neoptimizovana arhitektura
Optimizovana arhitektura
Prilikom sinteze koda biće
usvojena ovavrednost
generičkog parametra
Obe arhitekture su smeštene u isti fajl
numeric_std
Snimanje projektnog fajlaNakon snimanja projektnog fajla, u spisku VHDL modula pojavljuju se dve stavke - po jedna za svaku arhitekturu iz projektnog fajla.
Označava ˝Top˝modul - tj. onaj koji će se procesirati.
Za promenu ˝Top˝modula:
Postavljanje vremenskih ograničenja
Dupli klik preko ˝Create
Timing Constranints˝
Postavljanje vremenskih ograničenja
Preći na karticu ´Global´
Editor korisničkih ograničenja
Postavljanje vremenskih ograničenja
1. otvara
2. Upisati 20
3. Od softvera za implementaciju se zahteva da kreira kreira rešenje koje će imati propagaciono kašnjenje od maksimalno 20 ns.
4. Save5. Close
Šta se zapravo desilo?
Kreiran je UCF fajl
Dupli klik otvara
UCF fajl je tekstualni dokument koji sadrži sva ograničenja, zapisana shodno odgovarajućoj sintaksi, koja su definisana u projektu
Implementacija
Izveštaji o sintezi
Dupli klik na ˝View Synthesis
Report˝
Detaljan izveštaj o sintezi koji sadrži podatke o utrošenim hardverskim resursima i procenjenim propagacionim kašnjenjenjima
Izveštaj o sintezi Upotrebljeni su:
1 16-bitni sabirač,
1 16-bitni oduzimač
1 16-bitni komparator za veće
1 16-bitni komparator za manje
1 16-bitni 4-u-1 multiplekser
Izveštaj o HDL sintezi
Indirektna provera ispravnosti VHDL opisa (da li se broj i vrsta upotrebljenih komponenti uklapa u konceptualnu predstavu VHDL koda?)
+
-
<
>
T
F
T
F
00
01
10
11
ab
c
y
Izveštaj o sintezi
Izveštaj o utrošenim resursima FPGA kola
Za realizaciju kola u FPGA potreba su 49 slajsa sa iskorišćenih 97 LUT. Broj potrebnih pinova je 50.
Izveštaj o sintezi
Izveštaj o tajmingu
Maksimalno propagaciono kašnjenje iznosi 10.448 ns i
odgovara kašnjenju signala od ulaza b(0) do izlaza y(15). Na toj putanju se nalazi 22 nivoa logike – 22 redno povezanih LUT-ova)
Procena je da kašnjenje kroz logiku (kroz LUT-ove) iznosi 7, 914 ns, a kašnjenje kroz veze
2.535 ns)
Ovi podaci su samo preliminarna procena kašnjenja. Precizniji podaci se mogu dobiti tek nakon implementacije
Izveštaj o implementaciji
˝Place & Route˝ izveštaj
Utrošeno je 49 slajsa
Ovaj podatak se može razlikovati od onog iz izveštaja o sintezi.
Neiskorišćeni LUT-ovi iz zauzetih sjajsova su ˝zarobljeni˝ i ne mogu se koristiti za druge potrebe
Izveštaj o implementacijiIzveštaj o statičkoj analizi tajminga
Dupli klik na Analyse Post ...
Otvara Analizator tajminga
Izveštaj o implementacijiStatička analiza tajminga
Maksimalno kašnjenje u
implementiranom kolu iznosi 14.132
ns – ograničenje od 20 ns je
zadovoljeno.
Za detaljniju analizu tajminga (ukoliko je neophodno)
˝Design Summary˝ - za brzi pristup informacijama o projektu
Broj ekvivalentnih gejtova – 909 –gruba proceca
hardverske složenosti projekta
Za podatak o maksimalnom propagacionom kašnjenju
Rezultati sinteze i implementacije neoptimizovane AU
3290914.1324916
8
EQG(broj ekv. gejtova)
Tp [ns](max. prop. kašnjenje)#SLICEN (broj bita)
Podaci o implementaciji
1 sabirač1 oduzimač1 komparator za veće1 komparator za manje1 multiplekser 4-u-1
RTL komponentePodaci o sinteziAU - Functional
Ponoviti sintezu i impementaciju za 8-i 32-bitnu AU
Dovoljno je promeniti vrednost
generičkog parametra
Rezultati sinteze i implementacije neoptimizovane AU - konačni rezultati
182115.004973290914.132491645312.680258
EQG(broj ekv. gejtova)
Tp [ns](max. prop. kašnjenje)#SLICEN (broj bita)
Podaci o implementaciji
1 sabirač1 oduzimač1 komparator za veće1 komparator za manje1 multiplekser 4-u-1
RTL komponentePodaci o sinteziAU - Functional
Prelazak na optimizovanu arhitekturu
Obrisati projektne fajlovePromeniti˝top modul˝
na au_RTL
I ponoviti sintezu i implementaciju
Rezultati sinteze i implementacije optimizovane AU
68115.439493234513.150251617713.235138
EQG(broj ekv. gejtova)
Tp [ns](max. prop. kašnjenje)#SLICEN (broj bita)
Podaci o implementaciji
1 sabirač/oduzimačRTL komponentePodaci o sinteziAU - RTL
ZadatakNa slici su dati blok dijagram i funkcionalna tabela aritmetičke jedinice koja je u mogućnosti da obavlja operacije: sabiranje, apsolutna vrednost, oduzimanje, minimum i maksimum.
a. Napisati generički VHDL opis višefunkcionalne aritmetičke jedinice u kome će se za svaku funkciju koristiti poseban operator.
b. Izvršiti optimizaciju kôda primenom tehnike deobe operatora/funkcija.
c. Izvršiti implementaciju obe varijante opisa na FPGA i uporediti dva rešenja prema složenosti (zauzeće hardverskih resursa) i performansama (propagaciono kanjenje) za 3 vrednosti gneričkog parametra n: 8, 16 i 32.
c2 c1 c0 Operacija y 0 0 1 Sabiranje a + b 1 0 0 Oduzimanje a - b 1 0 1 Apsolutno Abs(b) 1 1 0 Minimum Min(a, b) 1 1 1 Maksimum Max(a, b)
(a) (b)
ZadatakIzvrštaj:
1. ISE projekat koji će sadržati
a. Projektne VHDL fajlove za neoptimizovan i optimizovan opis aritmetičke jedinice.
b. Testbenč
c. Vremenske dijagrame za funkcionalnu i vremensku simulaciju
2. Pisani izveštaj koji će sadržati:
a. VHDL kôd za oba rešenja
b. Konceptulane/logičke dijagrame
c. Rezultate implementacije u tabelarnom obliku