Kazalo:
- 1. korak: Specifikacije
- 2. korak: RTL pogled na celoten sistem
- 3. korak: Preskusno okolje
- 4. korak: Priložene datoteke
Video: Zasnova enostavnega krmilnika predpomnilnika v VHDL: 4 koraki
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:04
Pišem to navodilo, ker mi je bilo malo težko pridobiti referenčno kodo VHDL, da bi se naučili in začeli oblikovati krmilnik predpomnilnika. Zato sem sam iz nič oblikoval krmilnik predpomnilnika in ga uspešno preizkusil na FPGA. Tukaj sem predstavil preprost neposredno preslikan predpomnilnik krmilnika in modeliral celoten procesorsko-pomnilniški sistem za preizkušanje krmilnika predpomnilnika. Upam, da vam bo to navodilo koristilo kot referenca za oblikovanje lastnih krmilnikov predpomnilnika.
1. korak: Specifikacije
To so glavne specifikacije krmilnika predpomnilnika, ki ga bomo oblikovali:
- Neposredno preslikano. (če iščete Associative Mapped Cache Controller, pojdite na to povezavo)
- Blokiranje predpomnilnika z eno banko.
- Politika pisanja o zadetkih za pisanje.
- Politika dodelitve brez pisanja ali pisanje okoli napak pri pisanju.
- Brez vmesnega pomnilnika za pisanje ali drugih optimizacij.
- Niz oznak je vključen.
Poleg tega bomo oblikovali predpomnilnik in glavni pomnilniški sistem.
Privzete (nastavljive) specifikacije predpomnilnika:
- 256-bajtni enobančni predpomnilnik.
- 16 vrstic predpomnilnika, vsaka vrstica predpomnilnika (blok) = 16 bajtov.
Specifikacije glavnega pomnilnika:
- Sinhroni pomnilnik za branje/pisanje.
- Večbančni vmesni pomnilnik - štiri pomnilniške banke.
- Vsaka velikost banke = 1 kB vsaka. Skupna velikost je torej 4 kB.
- Naslovljivi pomnilnik Word (4 bajti) z 10-bitnim vodilom naslovov.
- Večja pasovna širina za branje. Preberite širino podatkov = 16 bajtov v enem ciklu.
- Širina zapisa podatkov = 4 bajti.
OPOMBA: če iščete 4-smerno zasnovo krmilnika asociativnega predpomnilnika, preverite mojo novejšo navodila
2. korak: RTL pogled na celoten sistem
Celotna RTL predstavitev zgornjega modula je prikazana na sliki (brez procesorja). Privzete specifikacije za avtobuse so:
- Vsi podatkovni avtobusi so 32-bitni.
- Address Bus = 32-bitno vodilo (Toda pomnilnik naslavlja le 10 bitov).
- Podatkovni blok = 128 bitov (širokopasovna vodila za branje).
- Vse komponente poganja ista ura.
3. korak: Preskusno okolje
Zgornji modul je bil preizkušen s testno mizo, ki preprosto modelira procesor brez cevovodov (ker oblikovanje celotnega procesorja sploh ni enostavno !!). Testna miza pogosto ustvarja zahteve za branje/pisanje podatkov v pomnilnik. To se posmehuje tipičnim navodilom "Naloži" in "Shrani", ki so skupni v vseh programih, ki jih izvaja procesor. Rezultati preskusa so uspešno preverili funkcionalnost krmilnika predpomnilnika. Sledi statistika preskusov:
- Vsi signali za branje/pisanje Miss in Hit so bili pravilno ustvarjeni.
- Vse operacije branja/pisanja podatkov so bile uspešne.
- Nobene težave pri neskladnosti/nedoslednosti podatkov.
- Oblikovanje je bilo časovno uspešno preverjeno za Maxm. Ura Frekvenca delovanja = 110 MHz na plošči Xilinx Virtex-4 ML-403 (celoten sistem), 195 MHz samo za krmilnik predpomnilnika.
- Za glavni pomnilnik so sklepali na blokovske RAM -e. Vsi drugi nizi so bili izvedeni na LUT.
4. korak: Priložene datoteke
Temu blogu so tukaj priložene naslednje datoteke:
- . VHD datoteke Cache Controller, Cache Data Array, Main Memory System.
- Testna klop.
- Dokumentacija o krmilniku predpomnilnika.
Opombe:
- Poglejte dokumentacijo za popolno razumevanje specifikacij krmilnika predpomnilnika, predstavljenih tukaj.
- Vse spremembe kode so odvisne od drugih modulov. Zato je treba spremembe opraviti preudarno. Bodite pozorni na vse komentarje in naslove, ki sem jih podal.
- Če iz kakršnega koli razloga za glavni pomnilnik ne sklepate blok RAM -a, ZMANJŠAJTE velikost pomnilnika, čemur sledijo spremembe širine naslovnega vodila po datotekah itd. Tako, da je isti pomnilnik mogoče implementirati bodisi v LUT ali v porazdeljeni RAM. Tako boste prihranili čas in sredstva. Ali pa pojdite na posebno dokumentacijo FPGA in poiščite združljivo kodo za Blokiraj RAM ter ustrezno uredite kodo in uporabite iste specifikacije širine naslovnega vodila. Ista tehnika za Altera FPGA.
Priporočena:
Zasnova tiskanega vezja za robota za sledenje linijam - Arnab Kumar Das: 4 koraki
Oblikovanje tiskanih vezij za robota za sledenje linijam - Arnab Kumar Das: Ta projekt predvideva, da smo že opravili izbor komponent. Za pravilno delovanje sistema je pomembno razumeti, kaj zahteva vsaka komponenta glede na moč, napetost, tok, prostor, hlajenje itd. Prav tako je pomembno razumeti
Oblikovanje preprostega štirismernega sklopa krmilnika pridruženega predpomnilnika v VHDL: 4 koraki
Oblikovanje preprostega štirismernega nabora krmilnika pridruženega predpomnilnika v VHDL: V mojem prejšnjem navodilu smo videli, kako oblikovati preprost krmilnik predpomnilnika z neposrednim preslikavo. Tokrat gremo korak naprej. Oblikovali bomo preprost štirismerno nastavljen asociativni krmilnik predpomnilnika. Prednost? Manjša stopnja zamud, a za ceno perfo
Zasnova programabilnega krmilnika prekinitev v VHDL: 4 koraki
Oblikovanje programabilnega krmilnika prekinitev v VHDL: Presenečen sem nad vrstami odzivov, ki jih dobim v tem blogu. Hvala, fantje, ki ste obiskali moj blog in me spodbudili, da svoje znanje delim z vami. Tokrat bom predstavil zasnovo drugega zanimivega modula, ki ga vidimo v vseh SOC -jih - Interrupt C
Zasnova enostavnega krmilnika VGA v VHDL in Verilogu: 5 korakov
Oblikovanje preprostega krmilnika VGA v VHDL in Verilogu: V tem navodilu bomo zasnovali preprost krmilnik VGA v RTL. VGA krmilnik je digitalno vezje, zasnovano za pogon zaslonov VGA. Bere iz pomnilnika okvirja (pomnilnik VGA), ki predstavlja okvir za prikaz, in ustvari naslednje
Zlomljene slušalke do vašega najbolj cenjenega para za 99p in nekaj enostavnega spajkanja: 3 koraki
Zlomljene slušalke do vašega najbolj cenjenega para za 99 p in nekaj enostavnega spajkanja: Obstaja nekaj navodil za popravilo vtičev in vodnikov na pokvarjenih slušalkah, vendar ti pogrešajo veliko lažji pristop, da samo zamenjate vodnik s tistim iz poceni kompleta na ebayu. Popravilo kabla in vtiča za slušalke je težko in verjetno ne bo tako