
Satura rādītājs:
2025 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2025-01-23 14:59

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 veidot kešatmiņas kontrolieri. Tāpēc es pats no jauna izveidoju kešatmiņas kontrolieri un veiksmīgi to pārbaudīju FPGA. Šeit esmu iepazīstinājis ar vienkāršu tieši kartētu kešatmiņas kontrolieri, kā arī modelējis visu procesora-atmiņas sistēmu, lai pārbaudītu kešatmiņas kontrolieri. Es ceru, ka jums, puiši, šī pamācība ir noderīga kā atsauce, lai izstrādātu savus kešatmiņas kontrolierus.
1. darbība: specifikācijas

Šīs ir galvenās kešatmiņas kontroliera specifikācijas, kuras mēs izstrādāsim:
- Tieši kartēts. (dodieties uz šo saiti, ja meklējat Associative Mapped Cache Controller)
- Viena banka, bloķējoša kešatmiņa.
- Rakstīšanas politika rakstīšanas trāpījumos.
- Nerakstīšanas piešķiršana vai rakstīšanas apkārtējā politika rakstīšanas laikā.
- Nav rakstīšanas bufera vai citu optimizāciju.
- Tagu masīvs ir iekļauts.
Bez tam mēs izstrādāsim arī kešatmiņu un galveno atmiņas sistēmu.
Kešatmiņas noklusējuma (konfigurējamas) specifikācijas:
- 256 baiti vienas bankas kešatmiņa.
- 16 kešatmiņas līnijas, katra kešatmiņas līnija (bloks) = 16 baiti.
Galvenās atmiņas specifikācijas:
- Sinhronā lasīšanas/rakstīšanas atmiņa.
- Multi -banked Interleaved Memory - četras atmiņas bankas.
- Katras bankas lielums = 1 kB. Tādējādi kopējais izmērs = 4 kB.
- Word (4 baiti) adresējama atmiņa ar 10 bitu adreses kopni.
- Lielāks joslas platums lasīšanai. Nolasīt datu platumu = 16 baiti vienā pulksteņa ciklā.
- Rakstīšanas datu platums = 4 baiti.
PIEZĪME: pārbaudiet manu jaunāko pamācību, ja meklējat četrvirzienu asociatīvā kešatmiņas kontroliera dizainu
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: pārbaudiet vidi
Augšējais modulis tika pārbaudīts, izmantojot testa stendu, kas vienkārši modelē procesoru, kas nav cauruļvads (jo visa procesora projektēšana nemaz nav vienkārša!). 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.
- 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 = 110 MHz Xilinx Virtex-4 ML-403 panelī (visa sistēma), 195 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:
Vienkārša četrvirzienu komplekta asociatīvā kešatmiņas kontroliera dizains VHDL: 4 soļi

Vienkārša četrvirzienu komplekta asociatīvā kešatmiņas kontroliera dizains VHDL: Manā 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 izlaiduma rādītājs, bet par perfo cenu
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
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