Turinys:
- 1 žingsnis: specifikacijos
- 2 veiksmas: visos sistemos RTL vaizdas
- 3 žingsnis: bandymo rezultatai
- 4 veiksmas: pridedami failai
Video: Paprasto keturių krypčių asociatyvaus talpyklos valdiklio VHDL dizainas: 4 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:46
Mano ankstesniame nurodyme mes matėme, kaip sukurti paprastą tiesioginį žemėlapio talpyklos valdiklį. Šį kartą žengiame žingsnį į priekį. Mes sukursime paprastą keturių krypčių asociatyvaus talpyklos valdiklį. Privalumas? Mažiau praleidimų, bet našumo kaina. Kaip ir mano ankstesnis tinklaraštis, mes suprojektuosime ir imituosime visą procesorių, pagrindinę atmintį ir talpyklos aplinką, kad išbandytume talpyklos valdiklį. Tikiuosi, kad jums, vaikinai, tai bus naudinga nuoroda norint suprasti sąvokas ir ateityje sukurti savo talpyklos valdiklius. Kadangi procesoriaus (bandymų stendo) ir pagrindinės atminties sistemos modelis yra visiškai toks pat kaip ir mano ankstesniame tinklaraštyje, daugiau jų neaiškinsiu. Išsamesnės informacijos apie tai skaitykite ankstesnėje instrukcijoje.
1 žingsnis: specifikacijos
Greitai peržiūrėkite čia pateiktas talpyklos valdiklio specifikacijas:
- Keturių krypčių asociatyvus talpyklos valdiklis (eikite į šią nuorodą, jei ieškote tiesioginio žemėlapio valdiklio).
- Vieno banko blokavimo talpykla.
- Perrašymo politika dėl rašymo hitų.
- Rašymo aplink politika dėl rašymo praleidimo.
- Medžio pseudo-LRU (pLRU) pakeitimo politika.
- Žymėkite masyvą valdiklyje.
- Konfigūruojami parametrai.
Numatytosios talpyklos atminties ir pagrindinės atminties specifikacijos yra tokios pačios kaip ir ankstesnėse instrukcijose. Prašome kreiptis į juos.
2 veiksmas: visos sistemos RTL vaizdas
Pilnas viršutinio modulio RTL atvaizdavimas parodytas paveikslėlyje (išskyrus procesorių). Numatytosios autobusų specifikacijos yra šios:
- Visos duomenų magistralės yra 32 bitų magistralės.
- Adreso magistralė = 32 bitų magistralė (tačiau tik 10 bitų čia galima adresuoti atmintimi).
- Duomenų blokas = 128 bitai (plataus dažnių juostos pločio magistralė skaitymui).
- Visus komponentus valdo tas pats laikrodis.
3 žingsnis: bandymo rezultatai
Viršutinis modulis buvo išbandytas naudojant bandomąjį stendą, kuriame paprasčiausiai modeliuojamas procesorius be dujotiekio, kaip ir paskutinėje instrukcijoje. Bandymų stendas dažnai generuoja skaitymo/rašymo duomenų užklausas į atmintį. Tai tyčiojasi iš tipiškų „Įkelti“ir „Saugoti“nurodymų, būdingų visoms procesoriaus vykdomoms programoms.
Bandymo rezultatai sėkmingai patvirtino talpyklos valdiklio funkcionalumą. Toliau pateikiama bandymų statistika:
- Visi skaitymo/rašymo praleidimo ir smūgio signalai buvo sugeneruoti teisingai.
- Visos duomenų skaitymo/rašymo operacijos buvo sėkmingos visais keturiais būdais.
- pLRU algoritmas sėkmingai patvirtintas, kad būtų pakeistos talpyklos eilutės.
- Duomenų nenuoseklumo/nenuoseklumo problemų neaptikta.
- Dizainas buvo sėkmingai patikrintas „Maxm“. Laikrodis Veikimo dažnis = 100 MHz „Xilinx Virtex-4 ML-403“plokštėje (visa sistema), 110 MHz tik talpyklos valdikliui.
- Blokuoti RAM buvo nustatyti pagrindinei atminčiai. Visi kiti masyvai buvo įgyvendinti LUT.
4 veiksmas: pridedami failai
Prie šio tinklaraščio pridedami šie failai:
- Talpyklos valdiklio, talpyklos duomenų masyvo, pagrindinės atminties sistemos. VHD failai.
- Bandymo suolelis.
- Dokumentai apie talpyklos valdiklį.
Pastabos:
- Peržiūrėkite dokumentus, kad visiškai suprastumėte čia pateiktas talpyklos valdiklio specifikacijas.
- Bet kokie kodo pakeitimai priklauso nuo kitų modulių. Taigi pakeitimai turėtų būti atliekami apgalvotai.
- Atkreipkite dėmesį į visus mano pateiktus komentarus ir antraštes.
- Jei dėl kokių nors priežasčių blokinė atmintis nėra išvedama pagal pagrindinę atmintį, MAŽINKITE atminties dydį, o po to keiskite adresų magistralės plotį visuose failuose ir pan. Taigi ta pati atmintis gali būti įdiegta LUT arba paskirstytojoje RAM. Tai sutaupys maršruto laiką ir išteklius. Arba eikite į konkrečią FPGA dokumentaciją ir raskite suderinamą Block RAM kodą ir atitinkamai redaguokite kodą bei naudokite tas pačias adresų magistralės pločio specifikacijas. Ta pati technika taikoma ir „Altera FPGA“.
Rekomenduojamas:
VHDL programuojamo pertraukimo valdiklio dizainas: 4 žingsniai
VHDL programuojamo pertraukimo valdiklio dizainas: esu priblokštas tokio pobūdžio atsakymų, kuriuos gaunu šiame tinklaraštyje. Ačiū vaikinai, kad lankotės mano tinklaraštyje ir paskatinote mane pasidalinti su jumis savo žiniomis. Šį kartą pristatysiu dar vieno įdomaus modulio, kurį matome visuose SOC, dizainą - „Interrupt C
Paprasto talpyklos valdiklio VHDL dizainas: 4 žingsniai
Paprasto talpyklos valdiklio VHDL dizainas: Rašau šį nurodymą, nes man buvo šiek tiek sunku gauti tam tikrą nuorodinį VHDL kodą, kad išmokčiau ir pradėčiau kurti talpyklos valdiklį. Taigi aš pats nuo pat pradžių sukūriau talpyklos valdiklį ir sėkmingai išbandžiau jį FPGA. Turiu p
„I2C Master“dizainas VHDL: 5 žingsniai
„I2C Master“dizainas VHDL: Šioje instrukcijoje aptariamas paprasto I2C meistro kūrimas VHDL. PASTABA: spustelėkite visą vaizdą, kad pamatytumėte visą vaizdą
Paprasto VGA valdiklio dizainas VHDL ir „Verilog“: 5 žingsniai
Paprasto VGA valdiklio dizainas VHDL ir „Verilog“: Šioje instrukcijoje mes suprojektuosime paprastą VGA valdiklį RTL. VGA valdiklis yra skaitmeninė grandinė, skirta VGA ekranams valdyti. Jis nuskaitomas iš kadrų buferio (VGA atmintis), rodančio rodomą kadrą, ir sukuria reikiamą
Trijų ir keturių krypčių jungikliai-kaip jie veikia: 6 žingsniai
Trijų krypčių ir keturių krypčių jungikliai-kaip jie veikia: Nors trijų krypčių jungiklis yra labai paprastas daugeliui apsilankančių Instructables.com, daugeliui kitų tai yra paslaptis. Supratimas, kaip grandinė veikia, patenkina smalsumą. Tai taip pat gali padėti diagnozuoti trijų krypčių jungiklį, kuris neveikia, nes kažkas