Përmbajtje:
- Hapi 1: Specifikimet
- Hapi 2: Pamja RTL e të gjithë sistemit
- Hapi 3: Testimi i Mjedisit
- Hapi 4: Skedarët e bashkangjitur
Video: Dizajni i një kontrolluesi të thjeshtë të cache në VHDL: 4 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:18
Unë po e shkruaj këtë gjë të udhëzueshme, sepse e pashë pak të vështirë të merrja një kod referimi VHDL për të mësuar dhe filluar hartimin e një kontrolluesi të cache. Kështu që unë krijova një kontrollues të cache vetë nga e para dhe e testova me sukses në FPGA. Unë kam paraqitur një kontrollues të thjeshtë të drejtpërdrejtë të cache-it të hartuar, si dhe kam modeluar një sistem të tërë të procesorit-kujtesës për të testuar kontrolluesin e cache-it. Shpresoj që ju djema ta gjeni këtë të udhëzueshëm të dobishëm si një referencë për të hartuar kontrolluesit tuaj të cache.
Hapi 1: Specifikimet
Këto janë specifikimet kryesore të Cache Controller që do të hartojmë:
- Hartuar drejtpërdrejt. (shkoni në këtë lidhje nëse kërkoni Kontrollues të Cache të Hartuar Asociativ)
- Single-Banked, Blocking Cache.
- Politika e shkrimit përmes hiteve të shkrimit.
- Pa-Shkruani alokoni ose Shkruani Rreth Politikës për Shkruaj gabimet.
- Pa Shkruaj Tampon ose optimizime të tjera.
- Grupi i etiketave është i inkorporuar.
Përveç kësaj, ne do të hartojmë një Memory Cache dhe një Sistem Kryesor të Kujtesës gjithashtu.
Specifikimet e paracaktuara (të konfigurueshme) të Cache Memory:
- 256 Bytes Cache me një bankë të vetme.
- 16 Cache Lines, secila Cache Line (Bllok) = 16 Bajt.
Karakteristikat e kujtesës kryesore:
- Kujtesë Sinkron Leximi/Shkrimi.
- Memorie e ndërlidhur me shumë banka - katër banka kujtese.
- Madhësia e secilës bankë = 1 kB secila. Prandaj, madhësia totale = 4 kB.
- Memoria e adresueshme e Word (4 Bytes) me autobus adresa 10-bit.
- Gjerësi Bande më e Lartë për Lexim. Lexoni Gjerësinë e të Dhënave = 16 Bajt në një cikël të orës.
- Shkruani Gjerësinë e të Dhënave = 4 Bajt.
SH NOTNIM: kontrolloni udhëzuesin tim më të ri nëse jeni duke kërkuar për dizajnin e kontrolluesit të cache asociativ me 4 drejtime
Hapi 2: Pamja RTL e të gjithë sistemit
Paraqitja e plotë RTL e Modulit të Lartë është treguar në Figurë (duke përjashtuar procesorin). Karakteristikat e paracaktuara për autobusët janë:
- Të gjitha autobusët e të dhënave janë autobusë 32-bit.
- Bus Bus Adresa = Bus 32-bit (Por vetëm 10 bit janë të adresueshëm këtu nga Memoria).
- Blloku i të dhënave = 128 bit (Autobus me gjerësi brezi për lexim).
- Të gjithë përbërësit drejtohen nga e njëjta orë.
Hapi 3: Testimi i Mjedisit
Moduli Kryesor u testua duke përdorur një Test Bench, i cili thjesht modelon një Procesor pa tubacione (Sepse dizajnimi i një procesori të tërë nuk është aspak i lehtë !!). Pankina e Testimit gjeneron kërkesa për të lexuar/shkruar të dhëna në kujtesë shpesh. Kjo tallet me udhëzimet tipike "Load" dhe "Store", të zakonshme në të gjitha programet e ekzekutuara nga një procesor. Rezultatet e testit verifikuan me sukses funksionalitetin e Cache Controller. Më poshtë janë statistikat e testimit të vëzhguara:
- Të gjitha sinjalet Lexo/Shkruaj Miss dhe Hit u krijuan në mënyrë korrekte.
- Të gjitha operacionet e leximit/shkrimit të të dhënave ishin të suksesshme.
- Nuk u zbuluan probleme të mospërputhjes/mospërputhjes së të dhënave.
- Dizajni u verifikua me sukses për një Maxm. Frekuenca e orës së funksionimit = 110 MHz në bordin Xilinx Virtex-4 ML-403 (i gjithë sistemi), 195 MHz vetëm për Cache Controller.
- RAM -et e bllokut u konkluduan për Kujtesën Kryesore. Të gjitha vargjet e tjera u zbatuan në LUT.
Hapi 4: Skedarët e bashkangjitur
Skedarët e mëposhtëm janë bashkangjitur këtu me këtë blog:
- . Skedarët VHD të Cache Controller, Cache Data Array, Main Memory System.
- Stol provë.
- Dokumentacioni mbi Cache Controller.
Shënime:
- Kaloni nëpër dokumentacionin për të kuptuar plotësisht specifikimet e Cache Controller të paraqitur këtu.
- Çdo ndryshim në kod ka varësi nga modulet e tjerë. Pra, ndryshimet duhet të bëhen me maturi. Kushtojini vëmendje të gjitha komenteve dhe titujve që kam dhënë.
- Nëse për ndonjë arsye, RAM -et e Bllokut nuk konkludohen për Kujtesën Kryesore, Zvogëloni madhësinë e kujtesës, e ndjekur nga ndryshimet në gjerësinë e autobusit të adresave nëpër skedarë etj. Kështu që e njëjta memorie mund të zbatohet ose në LUT ose RAM të shpërndarë. Kjo do të kursejë kohën dhe burimet e drejtimit. Ose, Shkoni te dokumentacioni specifik FPGA dhe gjeni kodin e përputhshëm për Block RAM dhe modifikoni kodin në përputhje me rrethanat, dhe përdorni të njëjtat specifikime të gjerësisë së autobusit të adresave. E njëjta teknikë për Altera FPGA.
Recommended:
Dizajni i marrjes, përforcimit dhe filtrimit të një qarku të një elektrokardiogrami bazë: 6 hapa
Dizajni i marrjes, përforcimit dhe filtrimit të qarkut të një elektrokardiogrami bazë: Për të përfunduar këtë udhëzues, të vetmet gjëra që nevojiten janë një kompjuter, qasje në internet dhe disa softuerë simulues. Për qëllimet e këtij dizajni, të gjitha qarqet dhe simulimet do të funksionojnë në LTspice XVII. Ky program simulimi përmban
Dizajnimi i një Kontrolluesi të Simuluar të Cache Asociative me Katër Drejtime në VHDL: 4 Hapa
Dizajni i një Kontrolluesi të thjeshtë të Asociuar të Cache me katër drejtime në VHDL: Në udhëzimet e mia të mëparshme, ne pamë se si të krijojmë një kontrollues të thjeshtë të cache të hartuar drejtpërdrejt. Këtë herë, ne bëjmë një hap përpara. Ne do të dizajnojmë një kontrollues të thjeshtë cache të asociuar me katër drejtime. Avantazh? Më pak norma e humbjes, por me koston e performancës
Dizajni i një kontrolluesi të programueshëm të ndërprerjeve në VHDL: 4 hapa
Dizajni i një Kontrolluesi Ndërprerje të Programueshëm në VHDL: Jam i tronditur nga lloji i përgjigjeve që marr në këtë blog. Faleminderit djema që vizituat blogun tim dhe më motivuat të ndaja njohuritë e mia me ju. Këtë herë, unë do të paraqes modelin e një moduli tjetër interesant që shohim në të gjitha SOCs - Ndërprerja C
Dizajni i një kontrolluesi të thjeshtë VGA në VHDL dhe Verilog: 5 hapa
Dizajni i një kontrolluesi të thjeshtë VGA në VHDL dhe Verilog: Në këtë udhëzues, ne do të hartojmë një kontrollues të thjeshtë VGA në RTL. Kontrolluesi VGA është qark dixhital i krijuar për të drejtuar ekranet VGA. Lexohet nga Frame Buffer (VGA Memory) i cili përfaqëson kornizën që do të shfaqet, dhe gjeneron nevoja
Dizajni i PCB me hapa të thjeshtë dhe të lehtë: 30 hapa (me fotografi)
Dizajni i PCB -së me hapa të thjeshtë dhe të lehtë: MIRELL SHOQR Tutoriali i tij shumë i dobishëm dhe i lehtë për ata që duan të mësojnë modelimin e PCB -së le të fillojë