30
ISE Tutorijal III deo Xilinx ISE 9.1i.lnk

ISE Tutorial 3 - University of Nišes.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 3.pdf · 2013. 12. 6. · Na slici su dati blok dijagram i funkcionalna tabela aritmetičke jedinice

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ISE Tutorial 3 - University of Nišes.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 3.pdf · 2013. 12. 6. · Na slici su dati blok dijagram i funkcionalna tabela aritmetičke jedinice

ISE TutorijalIII deo

Xilinx ISE 9.1i.lnk

Page 2: ISE Tutorial 3 - University of Nišes.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 3.pdf · 2013. 12. 6. · Na slici su dati blok dijagram i funkcionalna tabela aritmetičke jedinice

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.

Page 3: ISE Tutorial 3 - University of Nišes.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 3.pdf · 2013. 12. 6. · Na slici su dati blok dijagram i funkcionalna tabela aritmetičke jedinice

Koraci

Page 4: ISE Tutorial 3 - University of Nišes.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 3.pdf · 2013. 12. 6. · Na slici su dati blok dijagram i funkcionalna tabela aritmetičke jedinice

Kreiranje novog projekta

AU

Page 5: ISE Tutorial 3 - University of Nišes.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 3.pdf · 2013. 12. 6. · Na slici su dati blok dijagram i funkcionalna tabela aritmetičke jedinice

Podešavanja

Page 6: ISE Tutorial 3 - University of Nišes.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 3.pdf · 2013. 12. 6. · Na slici su dati blok dijagram i funkcionalna tabela aritmetičke jedinice

Novi projektni fajl

Page 7: ISE Tutorial 3 - University of Nišes.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 3.pdf · 2013. 12. 6. · Na slici su dati blok dijagram i funkcionalna tabela aritmetičke jedinice

˝Prazan˝ modulSamo Next

Page 8: ISE Tutorial 3 - University of Nišes.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 3.pdf · 2013. 12. 6. · Na slici su dati blok dijagram i funkcionalna tabela aritmetičke jedinice

Pisanje koda

Obrisati sve. Pišemo kod iz

početka

Page 9: ISE Tutorial 3 - University of Nišes.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 3.pdf · 2013. 12. 6. · Na slici su dati blok dijagram i funkcionalna tabela aritmetičke jedinice

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

Page 10: ISE Tutorial 3 - University of Nišes.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 3.pdf · 2013. 12. 6. · Na slici su dati blok dijagram i funkcionalna tabela aritmetičke jedinice

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:

Page 11: ISE Tutorial 3 - University of Nišes.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 3.pdf · 2013. 12. 6. · Na slici su dati blok dijagram i funkcionalna tabela aritmetičke jedinice

Postavljanje vremenskih ograničenja

Dupli klik preko ˝Create

Timing Constranints˝

Page 12: ISE Tutorial 3 - University of Nišes.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 3.pdf · 2013. 12. 6. · Na slici su dati blok dijagram i funkcionalna tabela aritmetičke jedinice

Postavljanje vremenskih ograničenja

Preći na karticu ´Global´

Editor korisničkih ograničenja

Page 13: ISE Tutorial 3 - University of Nišes.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 3.pdf · 2013. 12. 6. · Na slici su dati blok dijagram i funkcionalna tabela aritmetičke jedinice

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

Page 14: ISE Tutorial 3 - University of Nišes.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 3.pdf · 2013. 12. 6. · Na slici su dati blok dijagram i funkcionalna tabela aritmetičke jedinice

Š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

Page 15: ISE Tutorial 3 - University of Nišes.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 3.pdf · 2013. 12. 6. · Na slici su dati blok dijagram i funkcionalna tabela aritmetičke jedinice

Implementacija

Page 16: ISE Tutorial 3 - University of Nišes.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 3.pdf · 2013. 12. 6. · Na slici su dati blok dijagram i funkcionalna tabela aritmetičke jedinice

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

Page 17: ISE Tutorial 3 - University of Nišes.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 3.pdf · 2013. 12. 6. · Na slici su dati blok dijagram i funkcionalna tabela aritmetičke jedinice

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

Page 18: ISE Tutorial 3 - University of Nišes.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 3.pdf · 2013. 12. 6. · Na slici su dati blok dijagram i funkcionalna tabela aritmetičke jedinice

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.

Page 19: ISE Tutorial 3 - University of Nišes.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 3.pdf · 2013. 12. 6. · Na slici su dati blok dijagram i funkcionalna tabela aritmetičke jedinice

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

Page 20: ISE Tutorial 3 - University of Nišes.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 3.pdf · 2013. 12. 6. · Na slici su dati blok dijagram i funkcionalna tabela aritmetičke jedinice

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

Page 21: ISE Tutorial 3 - University of Nišes.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 3.pdf · 2013. 12. 6. · Na slici su dati blok dijagram i funkcionalna tabela aritmetičke jedinice

Izveštaj o implementacijiIzveštaj o statičkoj analizi tajminga

Dupli klik na Analyse Post ...

Otvara Analizator tajminga

Page 22: ISE Tutorial 3 - University of Nišes.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 3.pdf · 2013. 12. 6. · Na slici su dati blok dijagram i funkcionalna tabela aritmetičke jedinice

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)

Page 23: ISE Tutorial 3 - University of Nišes.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 3.pdf · 2013. 12. 6. · Na slici su dati blok dijagram i funkcionalna tabela aritmetičke jedinice

˝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

Page 24: ISE Tutorial 3 - University of Nišes.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 3.pdf · 2013. 12. 6. · Na slici su dati blok dijagram i funkcionalna tabela aritmetičke jedinice

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

Page 25: ISE Tutorial 3 - University of Nišes.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 3.pdf · 2013. 12. 6. · Na slici su dati blok dijagram i funkcionalna tabela aritmetičke jedinice

Ponoviti sintezu i impementaciju za 8-i 32-bitnu AU

Dovoljno je promeniti vrednost

generičkog parametra

Page 26: ISE Tutorial 3 - University of Nišes.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 3.pdf · 2013. 12. 6. · Na slici su dati blok dijagram i funkcionalna tabela aritmetičke jedinice

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

Page 27: ISE Tutorial 3 - University of Nišes.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 3.pdf · 2013. 12. 6. · Na slici su dati blok dijagram i funkcionalna tabela aritmetičke jedinice

Prelazak na optimizovanu arhitekturu

Obrisati projektne fajlovePromeniti˝top modul˝

na au_RTL

I ponoviti sintezu i implementaciju

Page 28: ISE Tutorial 3 - University of Nišes.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 3.pdf · 2013. 12. 6. · Na slici su dati blok dijagram i funkcionalna tabela aritmetičke jedinice

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

Page 29: ISE Tutorial 3 - University of Nišes.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 3.pdf · 2013. 12. 6. · Na slici su dati blok dijagram i funkcionalna tabela aritmetičke jedinice

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)

Page 30: ISE Tutorial 3 - University of Nišes.elfak.ni.ac.rs/pld/Materijal/ISE Tutorial 3.pdf · 2013. 12. 6. · Na slici su dati blok dijagram i funkcionalna tabela aritmetičke jedinice

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