
Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-23 15:02

I min forrige instruktive så vi hvordan vi designer en enkel direkte kartlagt cachekontroller. Denne gangen går vi et skritt videre. Vi skal designe en enkel assosiativ cache-kontroller med fire veier. Fordel? Mindre glipprate, men på bekostning av ytelse. På samme måte som min forrige blogg, skulle vi designe og etterligne en hel prosessor, hovedminne og hurtigbuffermiljø for å teste hurtigbufferkontrolleren vår. Jeg håper dere finner dette som en nyttig referanse for å forstå konseptene og designe dine egne cachekontrollere i fremtiden. Siden modellen for prosessor (testbenk) og hovedminnesystemet er nøyaktig det samme som min forrige blogg, vil jeg ikke forklare dem igjen. Se den forrige instruksjonsboken for detaljer om den.
Trinn 1: Spesifikasjoner

Rask titt gjennom spesifikasjonene til Cache Controller presentert her:
- Fire-veis sett assosiert cache-kontroller (gå til denne lenken hvis du ser etter Direct Mapped Cache Controller).
- Enbanket, blokkerende hurtigbuffer.
- Gjennomgående retningslinjer for skrivehit.
- Skriv-rundt-retningslinjer for skrivefeil.
- Retningslinjer for utskifting av Tree Pseudo-LRU (pLRU).
- Tag Array i kontrolleren.
- Konfigurerbare parametere.
Standardspesifikasjonene for hurtigbufferminne og hovedminne er de samme som fra min tidligere instruerbare. Vennligst referer til dem.
Trinn 2: RTL -visning av hele systemet

Komplett RTL -representasjon av toppmodulen er vist på figuren (unntatt prosessoren). Standard spesifikasjoner for bussene er:
- Alle databusser er 32-biters busser.
- Adressebuss = 32-biters buss (men bare 10 bits kan adresseres her av minnet).
- Datablokk = 128 bits (Wide Bandwidth Bus for Read).
- Alle komponenter drives av samme klokke.
Trinn 3: Testresultater
Toppmodulen ble testet ved hjelp av en testbenk, som ganske enkelt modellerer en prosessor uten rør, akkurat som vi gjorde i den siste instruksjonen. Testbenken genererer ofte forespørsler om lese/skrive data til minnet. Dette håner typiske "Last" og "Lagre" instruksjoner, vanlig i alle programmer som utføres av en prosessor.
Testresultatene bekreftet funksjonaliteten til hurtigbufferkontrolleren. Følgende er teststatistikken observert:
- Alle Les/skriv miss og treffsignaler ble generert riktig.
- Alle lese/skrive data operasjoner var vellykket på alle fire måter.
- pLRU -algoritmen er vellykket bekreftet for erstatning av hurtigbufferlinjer.
- Det er ikke oppdaget problemer med datainkoherens/inkonsekvens.
- Designet ble vellykket timingbekreftet for en maks. Klokke Driftsfrekvens = 100 MHz i Xilinx Virtex-4 ML-403 Board (hele systemet), 110 MHz for Cache Controller alene.
- Blokk -RAM ble utledet for hovedminnet. Alle andre matriser ble implementert på LUT.
Trinn 4: Vedlagte filer
Følgende filer er vedlagt her med denne bloggen:
- . VHD -filer med Cache Controller, Cache Data Array, Main Memory System.
- Test benk.
- Dokumentasjon på Cache Controller.
Merknader:
- Gå gjennom dokumentasjonen for full forståelse av spesifikasjonene til hurtigbufferkontrolleren som presenteres her.
- Eventuelle endringer i koden er avhengige av andre moduler. Så endringene bør gjøres på en fornuftig måte.
- Vær oppmerksom på alle kommentarene og overskriftene jeg har gitt.
- Hvis det av en eller annen grunn ikke blir utledet Block RAM -er for hovedminnet, REDUSER størrelsen på minnet, etterfulgt av endringer i adressebussbredder på tvers av filene og så videre. Slik at det samme minnet kan implementeres enten på LUT eller distribuert RAM. Dette vil spare routing tid og ressurser. Eller gå til den spesifikke FPGA -dokumentasjonen og finn den kompatible koden for Block RAM og rediger koden deretter, og bruk de samme adressebussbreddespesifikasjonene. Samme teknikk for Altera FPGA.
Anbefalt:
Design av en programmerbar avbryterkontroller i VHDL: 4 trinn

Design av en programmerbar interrupt -kontroller i VHDL: Jeg er overveldet over den typen svar jeg får i denne bloggen. Takk gutter for at du besøkte bloggen min og motiverte meg til å dele min kunnskap med deg. Denne gangen skal jeg presentere designet til en annen interessant modul vi ser i alle SOC -er - Interrupt C
Design av I2C Master i VHDL: 5 trinn

Design av I2C Master i VHDL: I denne instruksjonsboken diskuteres det å designe en enkel I2C -master i VHDL. MERK: klikk på hvert bilde for å se hele bildet
Vanlig fjernkontrollsett transformert til fire-kanals RC-fjernkontroll: fire trinn

Vanlig fjernkontrollsett transformert til fire-kanals fjernkontroll for RC-leketøy: 如何 将 通用 遥控 器 套件 转换 为 玩具 模型 中 的 四 通道 器 器 器 套件。。 它 它 62 62改造 方法 非常 简单。 只需 准备 一些 瓦楞纸 板 , 然后 视频 教程 完成 这个 电子 项目 并 您 服务。 玩具 车船 提供 远程 无线 控制 控制。
(Stort sett) Enkel PCB -produksjon: 11 trinn

(Stort sett) Enkel PCB -produksjon: Dette er en enkel måte å lage dine egne PCB -er hjemme. Metoden er basert på " 5 Bears " prosessen (som i seg selv er basert på Tom Gootees prosess). Jeg har lagt til et par forbedringer
Guitar Amp Tilt Stand - "African Chair" Design - Enkel, liten, sterk, enkel, gratis eller ekte billig: 9 trinn

Guitar Amp Tilt Stand - "African Chair" Design - Enkel, liten, sterk, enkel, gratis eller ekte billig: Guitar Amp Tilt Stand - For lett - enkel, liten, sterk, gratis eller skikkelig billig. For alle forsterkere, til og med store skap med separat hode. Bare lag brett og rør i størrelsen, og du trenger for nesten alt utstyr du ønsker