Mundarija:
- 1 -qadam: Xususiyatlar
- 2 -qadam: Butun tizimning RTL ko'rinishi
- 3 -qadam: test natijalari
- 4 -qadam: biriktirilgan fayllar
Video: VHDL-da to'rt tomonlama oddiy assotsiativ kesh tekshirgichining dizayni: 4 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:25
Oldingi ko'rsatmamizda biz to'g'ridan -to'g'ri xaritali keshni boshqarish moslamasini qanday yaratishni ko'rdik. Bu safar biz bir qadam oldinga siljiymiz. Biz to'rt tomonlama oddiy assotsiativ kesh tekshirgichini loyihalashtiramiz. Afzallikmi? Kamroq o'tkazib yuborish tezligi, lekin ishlash bahosiga ko'ra, xuddi oldingi blogimda bo'lgani kabi, biz ham butun protsessorni, asosiy xotirani va kesh muhitini kesh tekshirgichini sinab ko'rish uchun taqlid qilardik. Umid qilamanki, siz buni kelajakda kontseptsiyalarni tushunish va o'zingizning kesh tekshirgichlaringizni loyihalash uchun foydali ma'lumot sifatida topasiz. Protsessor (test stoli) va asosiy xotira tizimi oldingi blogim bilan bir xil bo'lgani uchun, men ularni boshqa tushuntirmayman. Bu haqda batafsil ma'lumot olish uchun avvalgi ko'rsatmaga murojaat qiling.
1 -qadam: Xususiyatlar
Bu erda taqdim etilgan kesh tekshirgichining texnik xususiyatlarini tezda ko'rib chiqing:
- To'rt tomonlama assotsiativ kesh tekshirgichi (agar to'g'ridan-to'g'ri xaritali kesh boshqaruvchisini qidirsangiz, ushbu havolaga o'ting).
- Yagona bankli, blokirovka qiluvchi kesh.
- Xit yozish bo'yicha yozish siyosati.
- Yozuvlarni o'tkazib yuborish siyosati.
- Tree Pseudo-LRU (pLRU) almashtirish siyosati.
- Tekshirgich ichidagi qatorni belgilang.
- Sozlanishi mumkin bo'lgan parametrlar.
Kesh xotirasi va asosiy xotira uchun standart ko'rsatkichlar oldingi ko'rsatmalarim bilan bir xil. Iltimos, ularga murojaat qiling.
2 -qadam: Butun tizimning RTL ko'rinishi
Yuqori modulning to'liq RTL ko'rinishi rasmda ko'rsatilgan (protsessordan tashqari). Avtobuslar uchun standart ko'rsatkichlar:
- Barcha ma'lumotlar avtobuslari 32 bitli avtobuslar.
- Manzil avtobusi = 32 bitli avtobus (lekin bu erda faqat 10 bitli xotira mavjud).
- Ma'lumotlar bloki = 128 bit (o'qish uchun keng tarmoqli kengligi).
- Barcha komponentlar bir xil soat bilan boshqariladi.
3 -qadam: test natijalari
Yuqori modul, xuddi oxirgi ko'rsatmada bo'lgani kabi, oddiy quvurli bo'lmagan protsessorni sinovdan o'tkazadigan dastgoh yordamida sinovdan o'tkazildi. Sinov dastgohi xotiraga tez -tez ma'lumotlarni o'qish/yozish so'rovlarini beradi. Bu protsessor tomonidan bajariladigan barcha dasturlarda uchraydigan odatdagi "Yuklash" va "Do'kon" ko'rsatmalarini masxara qiladi.
Sinov natijalari keshni boshqarish moslamasini muvaffaqiyatli tekshirdi. Quyida kuzatilgan test statistikasi keltirilgan:
- O'qish/yozish bo'yicha barcha Miss va Xit signallari to'g'ri yaratilgan.
- Ma'lumotlarni o'qish/yozish bo'yicha barcha operatsiyalar to'rt jihatdan ham muvaffaqiyatli o'tdi.
- pLRU algoritmi kesh satrlarini almashtirish uchun muvaffaqiyatli tasdiqlangan.
- Ma'lumotlarning nomuvofiqligi/nomuvofiqlik muammosi aniqlanmadi.
- Dizayn Maxm uchun muvaffaqiyatli tasdiqlandi. Ish chastotasi = Xilinx Virtex-4 ML-403 platasida 100 MGts (butun tizim), 110 MGts faqat kesh tekshiruvi uchun.
- Asosiy xotira uchun blokli RAMlar taxmin qilingan. Boshqa barcha massivlar LUT -larda amalga oshirildi.
4 -qadam: biriktirilgan fayllar
Bu blogga quyidagi fayllar biriktirilgan:
- . VHD fayllari kesh tekshirgichi, ma'lumotlar keshi, asosiy xotira tizimi.
- Sinov dastgohi.
- Hujjatlar kesh tekshiruvi.
Eslatmalar:
- Bu erda taqdim etilgan kesh tekshirgichining texnik xususiyatlarini to'liq tushunish uchun hujjatlarni ko'rib chiqing.
- Koddagi har qanday o'zgarishlar boshqa modullarga bog'liq. Shunday qilib, o'zgarishlar oqilona bo'lishi kerak.
- Men bergan barcha sharhlar va sarlavhalarga e'tibor bering.
- Agar biron sababga ko'ra, Operativ xotira bloklari asosiy xotira uchun hisoblanmasa, xotira hajmini kamaytiring, so'ngra fayllar bo'yicha manzil shinalari kengligi o'zgaradi va hokazo. Shunday qilib, xuddi shu xotira LUT yoki tarqatilgan RAMda amalga oshirilishi mumkin. Bu yo'nalish vaqtini va resurslarini tejaydi. Yoki maxsus FPGA hujjatlariga o'ting va RAMni blokirovka qilish uchun mos keladigan kodni toping va shunga mos ravishda kodni tahrir qiling va bir xil manzillar shinasi kengligi spetsifikatsiyalaridan foydalaning. Altera FPGA -lar uchun ham xuddi shunday usul.
Tavsiya:
VHDL -da oddiy kesh tekshirgichining dizayni: 4 qadam
VHDL -dagi oddiy kesh boshqaruvchisining dizayni: Men buni ko'rsatma sifatida yozyapman, chunki VHDL -dan ma'lumot olish va keshni boshqarishni loyihalashni boshlash biroz qiyin bo'lgan. Shunday qilib, men o'zimni noldan kesh tekshirgichini yaratdim va uni FPGA -da muvaffaqiyatli sinab ko'rdim. Menda p bor
VHDL va Verilog -dagi oddiy VGA boshqaruvchisi dizayni: 5 qadam
VHDL va Verilog -dagi oddiy VGA boshqaruvchisini loyihalash: Bu ko'rsatmada biz RTL -da oddiy VGA boshqaruvchisini loyihalashtirmoqchimiz. VGA Controller - bu VGA displeylarini boshqarishga mo'ljallangan raqamli elektron. U Frame Buffer -dan (VGA Xotirasi) o'qiladi, u ko'rsatiladigan ramkani ifodalaydi va kerak bo'ladi
PCB dizayni oddiy va oson qadamlar bilan: 30 qadam (rasmlar bilan)
PCB dizayni oddiy va oson qadamlar bilan: SALOM DO'STLAR PCB dizaynini o'rganmoqchi bo'lganlar uchun juda foydali va oson qo'llanma boshlanadi
Gitara kuchaytirgichli stend - "Afrika stullari" dizayni - oddiy, kichik, kuchli, oson, bepul yoki haqiqiy arzon: 9 qadam
Gitara Amp Tilt Stend - "Afrika stul" dizayni - Oddiy, Kichik, Kuchli, Oson, Bepul yoki Haqiqiy Arzon: Gitara Amp Tilt Stend - Juda oson - oddiy, kichik, kuchli, bepul yoki haqiqiy arzon. Barcha o'lchamdagi amperlar uchun, hatto alohida boshli katta shkaflar. Faqat kerakli o'lchamdagi taxtalar va quvurlarni tayyorlang va sizga kerak bo'lgan deyarli barcha uskunalar kerak bo'ladi
Arduino uchun oddiy ikki tomonlama dvigatelni boshqarish: 4 qadam
Arduino uchun oddiy ikki tomonlama dvigatelni boshqarish: OGOHLANTIRISH: Bu dvigatelni boshqarishning xavfsiz usuli emas. Har bir kirish -chiqish pimi faqat 40 mA tokni ushlab turishi mumkin. Men H-Bridge-ni ishlatishni maslahat beraman, lekin men tezlikni boshqarishni nazarda tutmayman. Lekin to'g'ridan -to'g'ri motorni boshqaring