Satura rādītājs:
- 1. darbība: specifikācijas
- 2. darbība: visas sistēmas RTL skats
- 3. darbība. Testa rezultāti
- 4. darbība. Pievienotie faili
Video: Vienkārša četrvirzienu komplekta asociatīvā kešatmiņas kontroliera dizains VHDL: 4 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:54
Iepriekšējā pamācībā mēs redzējām, kā izveidot vienkāršu tieši kartētu kešatmiņas kontrolieri. Šoreiz mēs ejam soli uz priekšu. Mēs izstrādāsim vienkāršu četrvirzienu asociēto kešatmiņas kontrolieri. Priekšrocība ? Mazāk garām, bet par veiktspējas cenu. Tāpat kā mans iepriekšējais emuārs, mēs izstrādāsim un emulēsim visu procesoru, galveno atmiņu un kešatmiņas vidi, lai pārbaudītu mūsu kešatmiņas kontrolieri. Es ceru, ka jūs, puiši, to uzskatāt par noderīgu atsauci, lai izprastu jēdzienus un nākotnē izveidotu savus kešatmiņas kontrolierus. Tā kā procesora modelis (testa stends) un galvenā atmiņas sistēma ir tieši tāds pats kā mans iepriekšējais emuārs, es tos vairs nepaskaidrošu. Lūdzu, skatiet iepriekšējo pamācību, lai iegūtu sīkāku informāciju par to.
1. darbība: specifikācijas
Ātri apskatiet šeit piedāvātās kešatmiņas kontroliera specifikācijas:
- Četrvirzienu asociētais kešatmiņas kontrolieris (dodieties uz šo saiti, ja meklējat tieši kartētu kešatmiņas kontrolieri).
- Viena banka, bloķējoša kešatmiņa.
- Rakstīšanas politika attiecībā uz rakstīšanas trāpījumiem.
- Rakstīšanas apkārtrakstīšanas politika attiecībā uz rakstīšanas kļūdām.
- Koku pseido-LRU (pLRU) nomaiņas politika.
- Atzīmējiet masīvu kontrolierī.
- Konfigurējami parametri.
Kešatmiņas un galvenās atmiņas noklusējuma specifikācijas ir tādas pašas kā manā iepriekšējā instrukcijā. Lūdzu, atsaucieties uz tiem.
2. darbība: visas sistēmas RTL skats
Pilns augšējā moduļa RTL attēlojums ir parādīts attēlā (izņemot procesoru). Autobusu noklusējuma specifikācijas ir šādas:
- Visi datu autobusi ir 32 bitu autobusi.
- Adreses kopne = 32 bitu kopne (bet atmiņa šeit ir adresējama tikai 10 bitiem).
- Datu bloks = 128 biti (plaša joslas platuma kopne lasīšanai).
- Visas sastāvdaļas darbina viens un tas pats pulkstenis.
3. darbība. Testa rezultāti
Augšējais modulis tika pārbaudīts, izmantojot testa stendu, kas vienkārši modelē procesoru bez cauruļvada, tāpat kā mēs to darījām pēdējā instrukcijā. Testa stends bieži ģenerē lasīšanas/rakstīšanas datu pieprasījumus atmiņā. Tas izsmej tipiskas "ielādes" un "veikala" instrukcijas, kas ir izplatītas visās programmās, kuras izpilda procesors.
Testa rezultāti veiksmīgi pārbaudīja kešatmiņas kontroliera funkcionalitāti. Tālāk ir novērota testa statistika:
- Visi lasīšanas/rakstīšanas garām un trāpījuma signāli tika ģenerēti pareizi.
- Visas datu lasīšanas/rakstīšanas operācijas bija veiksmīgas visos četros veidos.
- pLRU algoritms ir veiksmīgi pārbaudīts kešatmiņas līniju nomaiņai.
- Nav konstatētas datu neatbilstības/neatbilstības problēmas.
- Dizains tika veiksmīgi pārbaudīts maksimālajam laikam. Pulkstenis Darbības biežums = 100 MHz Xilinx Virtex-4 ML-403 panelī (visa sistēma), 110 MHz tikai kešatmiņas kontrolierim.
- Galvenajai atmiņai tika secināti bloķētie RAM. Visi pārējie masīvi tika ieviesti LUT.
4. darbība. Pievienotie faili
Šim emuāram ir pievienoti šādi faili:
- Kešatmiņas kontroliera, kešatmiņas datu masīva, galvenās atmiņas sistēmas. VHD faili.
- Pārbaudes stends.
- Dokumentācija par kešatmiņas kontrolieri.
Piezīmes:
- Izpētiet dokumentāciju, lai pilnībā izprastu šeit piedāvātās kešatmiņas kontroliera specifikācijas.
- Jebkuras koda izmaiņas ir atkarīgas no citiem moduļiem. Tāpēc izmaiņas jāveic saprātīgi.
- Pievērsiet uzmanību visiem maniem komentāriem un galvenēm.
- Ja kāda iemesla dēļ galvenajai atmiņai netiek izsecināti bloķētie operatīvie operatīvie atmiņas, MAZINIET atmiņas apjomu, kam seko adrešu kopnes platuma izmaiņas failos utt. Lai to pašu atmiņu varētu ieviest vai nu LUT, vai sadalītā RAM. Tas ietaupīs maršrutēšanas laiku un resursus. Vai arī dodieties uz īpašo FPGA dokumentāciju un atrodiet saderīgu kodu bloķēt RAM un attiecīgi rediģējiet kodu un izmantojiet tās pašas adreses kopnes platuma specifikācijas. Tāda pati tehnika Altera FPGA.
Ieteicams:
Programmējama pārtraukuma kontroliera dizains VHDL: 4 soļi
Programmējama pārtraukuma kontrollera dizains VHDL: esmu pārsteigts par šāda veida atbildēm, ko saņemu šajā emuārā. Paldies puišiem, ka apmeklējāt manu emuāru un motivējāt mani dalīties savās zināšanās ar jums. Šoreiz es iepazīstināšu ar cita interesanta moduļa dizainu, ko redzam visos SOC - pārtraukt C
Vienkārša kešatmiņas kontroliera dizains VHDL: 4 soļi
Vienkārša kešatmiņas kontroliera dizains VHDL: Es rakstu šo pamācību, jo man bija nedaudz grūti iegūt kādu atsauces VHDL kodu, lai uzzinātu un sāktu izstrādāt kešatmiņas kontrolieri. Tāpēc es pats no jauna izveidoju kešatmiņas kontrolieri un veiksmīgi to pārbaudīju FPGA. Man ir p
I2C Master dizains VHDL: 5 soļi
I2C Master dizains VHDL: Šajā pamācībā tiek apspriesta vienkārša I2C meistara izstrāde VHDL. PIEZĪME: noklikšķiniet uz katra attēla, lai redzētu pilnu attēlu
Vienkārša VGA kontroliera dizains VHDL un Verilog: 5 soļi
Vienkārša VGA kontroliera dizains VHDL un Verilog: Šajā pamācībā mēs izstrādāsim vienkāršu VGA kontrolieri RTL. VGA kontrolieris ir digitālā shēma, kas paredzēta VGA displeju vadīšanai. Tas skan no kadru bufera (VGA atmiņa), kas apzīmē parādāmo kadru, un ģenerē vajadzīgo
Vienkārša un jaudīga roktura kontroliera salikšana- pamatojoties uz Micro: Bit: 10 soļi (ar attēliem)
Kā salikt vienkāršu un jaudīgu roktura kontrolieri- pamatojoties uz Micro: Bit: roktura nosaukums ir Handlebit. Forma ir rokturis, un tas izskatās ļoti foršs! Tagad mēs varam ieviest ierakstu par rokturi, turpināsim