Tartalomjegyzék:
- 1. lépés: Specifikációk
- 2. lépés: A teljes rendszer RTL nézete
- 3. lépés: A környezet tesztelése
- 4. lépés: Csatolt fájlok
Videó: Egyszerű gyorsítótár -vezérlő tervezése VHDL -ben: 4 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:41
Azért írom ezt a tanulságosat, mert kissé nehéznek találtam valamilyen referencia VHDL kódot megtanulni és elkezdeni a gyorsítótár -vezérlő tervezését. Tehát magam terveztem egy gyorsítótár -vezérlőt a semmiből, és sikeresen teszteltem az FPGA -n. Itt bemutattam egy egyszerű közvetlen leképezett gyorsítótár-vezérlőt, valamint egy teljes processzor-memória rendszert modelleztem a gyorsítótár-vezérlő teszteléséhez. Remélem, srácok hasznosnak találják ezt az utasítást, mint referenciát saját gyorsítótár -vezérlőinek tervezéséhez.
1. lépés: Specifikációk
Ezek a fő jellemzői a gyorsítótár -vezérlőnek, amelyet tervezünk:
- Közvetlenül leképezett. (lépjen erre a linkre, ha Associative Mapped Cache Controllert keres)
- Egy bankos, blokkoló gyorsítótár.
- Írási találatok írási irányelvei.
- No-Write kiosztás vagy Write Around Policy on Write misses.
- Nincs íráspuffer vagy más optimalizálás.
- A Tag Array be van építve.
Ezen kívül tervezünk egy gyorsítótárat és egy fő memóriarendszert is.
A gyorsítótár alapértelmezett (konfigurálható) specifikációi:
- 256 bájtos egyszeres gyorsítótár.
- 16 gyorsítótár sor, mindegyik gyorsítótár (blokk) = 16 bájt.
A fő memória specifikációi:
- Szinkron olvasási/írási memória.
- Multi -banked Interleaved Memory - négy memóriabank.
- Minden bank mérete = 1 kB. Ezért a teljes méret = 4 kB.
- Word (4 bájt) címezhető memória 10 bites címbusszal.
- Nagyobb sávszélesség olvasáshoz. Olvasási adatszélesség = 16 bájt egy óra alatt.
- Írási adatok szélessége = 4 bájt.
MEGJEGYZÉS: nézze meg az újabb utasítást, ha 4 utas asszociatív gyorsítótár-vezérlőt keres
2. lépés: A teljes rendszer RTL nézete
A felső modul teljes RTL -ábrázolása az ábrán látható (a processzor kivételével). A buszok alapértelmezett paraméterei a következők:
- Minden adatbusz 32 bites busz.
- Címbusz = 32 bites busz (de a memória itt csak 10 bitet címezhet).
- Adatblokk = 128 bit (széles sávszélességű busz olvasáshoz).
- Minden alkatrészt ugyanaz az óra hajt.
3. lépés: A környezet tesztelése
A felső modult egy tesztpad segítségével tesztelték, amely egyszerűen egy nem csöves processzort modellez (mivel egy teljes processzor tervezése egyáltalán nem könnyű !!). A tesztpad gyakran generál olvasási/írási kéréseket a memóriába. Ez csúfolja a tipikus "Load" és "Store" utasításokat, amelyek minden processzor által végrehajtott programban gyakoriak. A teszteredmények sikeresen ellenőrizték a Cache Controller működését. Az alábbiakban a vizsgált statisztikák láthatók:
- Minden olvasási/írási hiányzó és találati jel helyesen lett generálva.
- Minden olvasási/írási művelet sikeres volt.
- Nem észleltek adatkonkoherencia/következetlenségi problémákat.
- A tervezést sikeresen ellenőrizték a Maxm -hez. Óra Működési frekvencia = 110 MHz Xilinx Virtex-4 ML-403 kártyán (teljes rendszer), 195 MHz csak a gyorsítótár-vezérlőnél.
- A blokk -RAM -okat a fő memóriára következtették. Az összes többi tömb LUT -on valósult meg.
4. lépés: Csatolt fájlok
Ehhez a bloghoz a következő fájlok vannak csatolva:
- . HD fájlok a Cache Controller, Cache Data Array, Main Memory System.
- Próbapad.
- Dokumentáció a Cache Controllerről.
Megjegyzések:
- Olvassa el a dokumentációt, hogy teljes mértékben megértse az itt bemutatott gyorsítótár -vezérlő specifikációit.
- A kód bármilyen módosítása más moduloktól függ. Tehát a változtatásokat megfontoltan kell végrehajtani. Figyeljen az összes megjegyzésre és fejlécre, amelyeket adtam.
- Ha valamilyen oknál fogva a blokk -RAM -ok nem következtetnek a fő memóriára, CSÖKKENTJE a memória méretét, majd a címsín szélességének változása a fájlokban és így tovább. Így ugyanaz a memória megvalósítható akár LUT -okon, akár elosztott RAM -on. Ez időt és erőforrásokat takarít meg. Vagy keresse fel az adott FPGA dokumentációt, és keresse meg a kompatibilis kódot a RAM blokkolásához, és ennek megfelelően szerkessze a kódot, és használja ugyanazokat a címbusz -szélességi előírásokat. Ugyanez a technika az Altera FPGA -knál.
Ajánlott:
Mobil vezérelt Bluetooth autó -- Egyszerű -- Egyszerű -- Hc-05 -- Motorpajzs: 10 lépés (képekkel)
Mobil vezérelt Bluetooth autó || Egyszerű || Egyszerű || Hc-05 || Motorpajzs: … Kérem, Iratkozzon fel YouTube-csatornámra ………. Ez a Bluetooth-vezérlésű autó, amely HC-05 Bluetooth modult használt a mobiltelefonnal való kommunikációhoz. Bluetooth -on keresztül irányíthatjuk az autót mobiltelefonnal. Van egy alkalmazás az autó mozgásának szabályozására
Egyszerű és egyszerű Pókember Web-Shooter: 12 lépés
Egyszerű és egyszerű Pókember Web-Shooter: Láttál Pókember-filmet? Pókember-képregény? Bármi, ami homályosan Pókemberhez kapcsolódik? A Pókember látszólag mindenhol ott van. Miért nem készít egy egyszerű web-shooter-t? Kis gyakorlás után a ház anyagaiból létrehoztam egy dizájnt, amely létrehozható
Egyszerű, egyszerű házi feladatgép: 4 lépés (képekkel)
Egyszerű, egyszerű házi feladat: Ez a gép olcsó anyagokból készült, és nem haladja meg a 7 dollárt. Ennek felépítéséhez türelemre és 2 órára van szüksége. És ismernie kell a forrasztást és a huzalozást, mivel ez kis áramkört foglal magában. Ha megépült, csak csatlakoztassa
Gyors és egyszerű módja a zárképernyő megváltoztatásának 6 egyszerű lépésben (Windows 8-10): 7 lépés
Gyors és egyszerű módja a zárképernyő megváltoztatásának 6 egyszerű lépésben (Windows 8-10): Szeretné megváltoztatni a laptop vagy a számítógép állapotát? Változást szeretne a légkörében? Kövesse ezeket a gyors és egyszerű lépéseket a számítógép zárolási képernyőjének személyre szabásához
(Egyszerű) egyszerű módja annak, hogy analóg/pwm hangot szerezzen be a Raspberry PI Zero -ból és csatlakozzon a Crt TV -hez: 4 lépés
(Egyszerű) egyszerű módja annak, hogy analóg/pwm hangot szerezzen be a Raspberry PI Zero -ból, és csatlakozzon a Crt TV -hez: Itt a legegyszerűbb módszert használtam a hangok TV -re történő továbbítására kompozit videóval együtt