Innholdsfortegnelse:
- Trinn 1: Spesifikasjoner
- Trinn 2: RTL -visning av hele systemet
- Trinn 3: Testresultater
- Trinn 4: Vedlagte filer
Video: Design av en enkel fire-veis sett assosiert cache-kontroller i VHDL: 4 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:22
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:
Trinn-for-trinns utdanning i robotikk med et sett: 6 trinn
Trinn-for-trinns utdanning i robotikk med et sett: Etter ganske mange måneder med å bygge min egen robot (vennligst se alle disse), og etter to ganger å ha deler mislyktes, bestemte jeg meg for å ta et skritt tilbake og tenke på mitt eget strategi og retning. Flere måneders erfaring var til tider veldig givende, og
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
Sett opp webinnholdsfiltrering i 4 trinn med Ubuntu: 5 trinn
Sett opp webinnholdsfiltrering i fire trinn med Ubuntu: Som IT -fyr er en av de vanligste tingene kollegaer spør meg om hvordan de kan kontrollere hvilke nettsteder barna kan få tilgang til online. Dette er veldig enkelt å gjøre og gratis ved å bruke Ubuntu linux, dansguardian og tinyproxy
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