Laboratórium 1 - 10. Mérés: Sorrendi hálózat vizsgálata

A VIK Wikiből
A lap korábbi változatát látod, amilyen David14 (vitalap | szerkesztései) 2013. február 9., 19:15-kor történt szerkesztése után volt.

A mérésről

  • Megismerkedtetek egy összetettebb tervvel és a ChipScope programmal
  • Írtatok egy házit, amiben gyakoroltátok a dolgokat. Ilyen szintű feladat lehet gyakorlati mérésen.
  • Milyen feladatok voltak:
    • Blokkvázlat alapján hétszegmenses kijelző megvalósítása. Rategen, számláló, shiftregiszter, multiplexer. Nem sok új.
    • ChipScope. Na ez az, amitől sokan tartotok, pedig nem rossz dolog.
  • ChipScope - Két részből állt a mérésnek ez a része:
    • Hozzáadtátok a ChipScope modult a tervhez (új forrásfileként), beállítottátok azt, hogy milyen jeleket akartok vizsgálni, hány mintát akartok venni, majd újrageneráltátok a programozófilet.
    • Használtátok a ChipScope Analyzer-t, amivel megvizsgáltátok a rendszer jeleit.
  • Miket tanultatok meg:
    • Különféle triggerfeltételek: szint és élérzékeny triggerfeltételek, trigger sequence, egyes elborult csapatok storage qualificationt is.
  • Miket szoktatok elrontani:
    • Rögtön az elején feladjátok, ha ilyen feladatot kaptok :(
    • Rosszul állítod be a ChipScope-ot, rossz jeleket köttök be, különös tekintettel az órajelre!
    • Elfelejtitek, hogy milyen triggerfeltételt lehet beállítani a felfutó, lefutó, változó élre.
  • Tipikus laborbeugró kérdések voltak:
    • ChipScope-ról ez-az.
    • Verilog modulok ("rategen" és testbench) írása
    • Mintavételi frekvencia számítása
    • Latch-ról mindenféle (okok, elkerülés, ezek) - Leírás - EZT GYAKRAN ELRONTOTTÁTOK BEUGRÓN!
    • Miért nem használunk több órajelet egy FPGA-terven belül? EZT IS GYAKRAN ELRONTOTTÁTOK!
    • (utóbbi két kérdésről: volt olyan verzió is, hogy ismerd fel, ez a Verilog-kód miért működhet hibásan FPGA-n belül, és akkor rámutathatsz, hogy latch, vagy több órajelet használsz).
  • Fontos megjegyzések:
    • Az itteni segédletek (főleg a megoldott házipéldák) elavultak, nektek már nem kell állapottáblázni meg ilyenek. Mérésvezetők jókat szoktak mosolyogni, ha valaki ilyet ad be...
    • A beugrókérdések SEM ezek, és nem feltétlen az ellenőrző kérdések. A segédlet megértésével, készüléskor a mérés fejben végigpörgetésével teljesíthetőek. Nem szoktatok bukni rajta.

Házihoz segítség

A mérés 2011 óta nagyot változott, már nem a Digitális technika 1 anyagát kéri számon (állapottábla és egyebek). Most már a magasabb szintű (számláló, shift regiszter, stb.) tervezést tekintjük célnak. Ha már ide jutottál, hogy nagyon elakadtál, egy olyan jótanács: ne állapottáblázz, meg Karnaugh-táblázz. A fél órás feladatot három napra hosszabbítod (tapasztalatból mondom). Inkább kérdezz a tárgy listáján és/vagy a mérésvezetőktől, segítünk.

Beugró kérdések kidolgozása

Ezek eléggé elavult kidolgozások.

Néhány mérésvezetőknek van egy rossz szokása: a segédletben levő kérdést teszi fel, csak megváltoztat benne valamit. Vagy esetenként ugyanarra kérdez rá, csak másik irányból, más szavakkal. Tehát érdemes értve tanulni, nem bevágni.


Xilinx ISE bugok

Ide sorolhatjátok fel a Xilinx ISE használatakor felfedezett bugokat. A tárgy honlapján is van felsorolás, de ahhoz te nem tudsz írni..

  • A Windows 8 a 14.2-es verziónál még nem támogatott, van, ami a 64 bites verzióval megy csak, van, ami a 32 bitessel. Nekem telepíteni sem sikerült.
  • Telepítéskor a telepítési könyvtár ne tartalmazzon se szóközt, se számot, se ékezetes karaktert, a c: meghajtóra érdemes rakni. C:\Xilinx könyvtár menni szokott, Linux alatt pl. a /opt/Xilinx megfelelő
  • Windows alatt ISE futása alatt ne válts billentyűkiosztást, lefagy a rendszer (évek óta nem javított ISE bug).
  • Linux alatt érdemes az LC_ALL környezeti változót (meg a LANG-ot, meg a LOCALE-t) en_US-re vagy C-re állítani, különben vacakolhat. Mondjuk a Webpack-nál nem szokott előjönni.
  • Van, hogy az ISE nem veszi észre, hogy egy UCF file-t hozzáadtál. Abban nyílvánul ez meg, hogy a jó kódod letöltve nem csinál semmit. Ilyenkor fogod, eltávolítod a projektből az ucf-et, aztán visszarakod. Illetve van, hogy nem a megfelelő modul alá húzza be az ucf-et, ilyenkor egy random verilog modult top modullá alakítasz (jobb egér, set as top module), majd az igazi top modulodat visszacsinálod top module-ra.
  • Amikor első szimulációkor az ISIM hálózati kommunikációt akar nyitni, engedélyezni kell (lokális gépen nyit socketet saját magának, nem köszön ki a netre), különben nem fog működni.

Érdeklődőknek

Ha felkeltette az érdeklődésedet az FPGA programozás, ezeket a tárgyakat érdemes lehet hallgatni: