Title: ISE Tutorijal
1ISE Tutorijal
2Optimizacija koda
Izvršiti implementaciju dve varijante VHDL opisa
višefunkcionalne aritmeticke jedinice iz primera
4 na FPGA. Upored dva rešenja prema složenosti
(zauzece hardverskih resursa) i performansama
(propagaciono kanjenje) za 3 vrednosti gnerickog
parametra n 8, 16 i 32.
3Koraci
4Kreiranje novog projekta
AU
5Podešavanja
6Novi projektni fajl
7?Prazan? modul
Samo Next
8Pisanje koda
Obrisati sve. Pišemo kod iz pocetka
9Prilikom sinteze koda bice usvojena ova vrednost
generickog parametra
numeric_std
Podrazumevana vrednost generickog parametra
Neoptimizovana arhitektura
Obe arhitekture su smeštene u isti fajl
Optimizovana arhitektura
10Snimanje projektnog fajla
Nakon snimanja projektnog fajla, u spisku VHDL
modula pojavljuju se dve stavke - po jedna za
svaku arhitekturu iz projektnog fajla.
Za promenu ?Top? modula
Oznacava ?Top? modul - tj. onaj koji ce se
procesirati.
11Postavljanje vremenskih ogranicenja
Dupli klik preko ?Create Timing Constranints?
12Postavljanje vremenskih ogranicenja
Editor korisnickih ogranicenja
Preci na karticu Global
13Postavljanje vremenskih ogranicenja
5. Close
4. Save
2. Upisati 20
Od softvera za implementaciju se zahteva da
kreira kreira rešenje koje ce imati propagaciono
kašnjenje od maksimalno 20 ns.
3.
otvara
1.
14Šta se zapravo desilo?
Kreiran je UCF fajl
Dupli klik otvara
UCF fajl je tekstualni dokument koji sadrži sva
ogranicenja, zapisana shodno odgovarajucoj
sintaksi, koja su definisana u projektu
15Implementacija
16Izveštaji o sintezi
Detaljan izveštaj o sintezi koji sadrži podatke o
utrošenim hardverskim resursima i procenjenim
propagacionim kašnjenjenjima
Dupli klik na ?View Synthesis Report?
17Izveštaj o sintezi
Izveštaj o HDL sintezi
Upotrebljeni su 1 16-bitni sabirac, 1 16-bitni
oduzimac 1 16-bitni komparator za vece 1 16-bitni
komparator za manje 1 16-bitni 4-u-1 multiplekser
Indirektna provera ispravnosti VHDL opisa (da li
se broj i vrsta upotrebljenih komponenti uklapa u
konceptualnu predstavu VHDL koda?)
18Izveštaj o sintezi
Izveštaj o utrošenim resursima FPGA kola
Za realizaciju kola u FPGA potreba su 49 slajsa
sa iskorišcenih 97 LUT. Broj potrebnih pinova je
50.
19Izveš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
20Izveš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šceni LUT-ovi iz
zauzetih sjajsova su ?zarobljeni? i ne mogu se
koristiti za druge potrebe
21Izveštaj o implementaciji
Izveštaj o statickoj analizi tajminga
Dupli klik na Analyse Post ... Otvara Analizator
tajminga
22Izveštaj o implementaciji
Staticka analiza tajminga
Za detaljniju analizu tajminga (ukoliko je
neophodno)
Maksimalno kašnjenje u implementiranom kolu
iznosi 14.132 ns ogranicenje od 20 ns je
zadovoljeno.
23?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
24Rezultati sinteze i implementacije neoptimizovane
AU
AU - Functional
Podaci o sintezi Podaci o sintezi Podaci o sintezi Podaci o sintezi
RTL komponente 1 sabirac 1 oduzimac 1 komparator za vece 1 komparator za manje 1 multiplekser 4-u-1 1 sabirac 1 oduzimac 1 komparator za vece 1 komparator za manje 1 multiplekser 4-u-1 1 sabirac 1 oduzimac 1 komparator za vece 1 komparator za manje 1 multiplekser 4-u-1
Podaci o implementaciji Podaci o implementaciji Podaci o implementaciji Podaci o implementaciji
N (broj bita) SLICE Tp ns (max. prop. kašnjenje) EQG (broj ekv. gejtova)
8
16 49 14.132 909
32
25Ponoviti sintezu i impementaciju za 8- i 32-bitnu
AU
Dovoljno je promeniti vrednost generickog
parametra
26Rezultati sinteze i implementacije neoptimizovane
AU - konacni rezultati
AU - Functional
Podaci o sintezi Podaci o sintezi Podaci o sintezi Podaci o sintezi
RTL komponente 1 sabirac 1 oduzimac 1 komparator za vece 1 komparator za manje 1 multiplekser 4-u-1 1 sabirac 1 oduzimac 1 komparator za vece 1 komparator za manje 1 multiplekser 4-u-1 1 sabirac 1 oduzimac 1 komparator za vece 1 komparator za manje 1 multiplekser 4-u-1
Podaci o implementaciji Podaci o implementaciji Podaci o implementaciji Podaci o implementaciji
N (broj bita) SLICE Tp ns (max. prop. kašnjenje) EQG (broj ekv. gejtova)
8 25 12.680 453
16 49 14.132 909
32 97 15.004 1821
27Prelazak na optimizovanu arhitekturu
Promeniti?top modul? na au_RTL
Obrisati projektne fajlove
I ponoviti sintezu i implementaciju
28Rezultati sinteze i implementacije optimizovane
AU
AU - RTL
Podaci o sintezi Podaci o sintezi Podaci o sintezi Podaci o sintezi
RTL komponente 1 sabirac/oduzimac 1 sabirac/oduzimac 1 sabirac/oduzimac
Podaci o implementaciji Podaci o implementaciji Podaci o implementaciji Podaci o implementaciji
N (broj bita) SLICE Tp ns (max. prop. kašnjenje) EQG (broj ekv. gejtova)
8 13 13.235 177
16 25 13.150 345
32 49 15.439 681
29Zadatak
30Zadatak