ISE Tutorijal III deo
Programabilna digitalna kola Optimizacija koda 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. A source pane that shows the organization of the source files that make up your design. There are three tabs so you can view the functional modules or HDL libraries for your project or look at various snapshots of the project A process pane that lists the various operations you can perform on a given object in the source pane. 3. A log pane that displays the various messages from the currently running process. 4. An editor pane where you can enter HDL code. Schematics are entered in a separate window. Programabilna digitalna kola
Koraci
Kreiranje novog projekta AU
Podešavanja
Novi projektni fajl
˝Prazan˝ modul Samo Next
Obrisati sve. Pišemo kod iz početka Pisanje koda Obrisati sve. Pišemo kod iz početka
Prilikom sinteze koda biće usvojena ova vrednost generičkog parametra numeric_std Podrazumevana vrednost generičkog parametra Neoptimizovana arhitektura Obe arhitekture su smeštene u isti fajl Optimizovana arhitektura
Snimanje 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: Označava ˝Top˝ modul - tj. onaj koji će se procesirati.
Postavljanje vremenskih ograničenja Dupli klik preko ˝Create Timing Constranints˝
Postavljanje vremenskih ograničenja Editor korisničkih ograničenja Preći na karticu ´Global´
Postavljanje vremenskih ograničenja 5. Close 4. Save 2. Upisati 20 Od softvera za implementaciju se zahteva da kreira kreira rešenje koje će imati propagaciono kašnjenje od maksimalno 20 ns. 3. otvara 1.
Š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
Dupli klik na ˝View Synthesis Report˝ Izveš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˝
Izveštaj o sintezi Izveštaj o HDL 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 Indirektna provera ispravnosti VHDL opisa (da li se broj i vrsta upotrebljenih komponenti uklapa u konceptualnu predstavu VHDL koda?)
Izveštaj o utrošenim resursima FPGA kola 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 implementaciji Izveštaj o statičkoj analizi tajminga Dupli klik na Analyse Post ... Otvara Analizator tajminga
Izveštaj o implementaciji Statička analiza tajminga Za detaljniju analizu tajminga (ukoliko je neophodno) Maksimalno kašnjenje u implementiranom kolu iznosi 14.132 ns – ograničenje od 20 ns je zadovoljeno.
˝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 AU - Functional Podaci o sintezi RTL komponente 1 sabirač 1 oduzimač 1 komparator za veće 1 komparator za manje 1 multiplekser 4-u-1 Podaci o implementaciji N (broj bita) #SLICE Tp [ns] (max. prop. kašnjenje) EQG (broj ekv. gejtova) 8 16 49 14.132 909 32
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 AU - Functional Podaci o sintezi RTL komponente 1 sabirač 1 oduzimač 1 komparator za veće 1 komparator za manje 1 multiplekser 4-u-1 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
Prelazak na optimizovanu arhitekturu Promeniti˝top modul˝ na au_RTL Obrisati projektne fajlove I ponoviti sintezu i implementaciju
Rezultati sinteze i implementacije optimizovane AU AU - RTL Podaci o sintezi RTL komponente 1 sabirač/oduzimač 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
Zadatak
Zadatak