Isi kandungan:
- Langkah 1: Spesifikasi
- Langkah 2: Paparan RTL Keseluruhan Sistem
- Langkah 3: Persekitaran Uji
- Langkah 4: Fail Terlampir
Video: Reka bentuk Pengawal Cache Mudah dalam VHDL: 4 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:09
Saya menulis arahan ini, kerana saya agak sukar untuk mendapatkan beberapa kod VHDL rujukan untuk belajar dan mula merancang pengawal cache. Oleh itu, saya merancang sendiri pengawal cache dari awal, dan berjaya mengujinya di FPGA. Saya telah menunjukkan pengawal cache langsung yang dipetakan sederhana di sini, dan juga memodelkan keseluruhan Sistem Memori Prosesor untuk menguji Pengawal Cache. Saya harap anda semua mendapat petunjuk yang berguna ini sebagai rujukan untuk merancang pengawal cache anda sendiri.
Langkah 1: Spesifikasi
Ini adalah spesifikasi utama Cache Controller yang akan kami rancang:
- Pemetaan Langsung. (pergi ke pautan ini jika mencari Pengawal Cache Bersekutu Bersekutu)
- Single-Banks, Blocking Cache.
- Dasar Tulis Melalui Hits tulis.
- No-Write peruntukkan atau Dasar Tulis Sekitar mengenai kesalahan yang ditulis.
- Tiada Penulis Tulis atau pengoptimuman lain.
- Tag Array Diperbadankan.
Selain itu, kami akan merancang Cache Memory dan Main Memory System juga.
Spesifikasi lalai (dapat dikonfigurasi) Memori Cache:
- 256 Bytes Cache Satu Bank.
- 16 Garis Cache, setiap Garis Cache (Blok) = 16 Bait.
Spesifikasi Memori Utama:
- Memori Baca / Tulis segerak.
- Memori Interleaved berbilang bank - empat bank memori.
- Setiap ukuran bank = 1 kB setiap satu. Oleh itu, jumlah keseluruhan = 4 kB.
- Memori beralamat Word (4 Bytes) dengan Bus Alamat 10-bit.
- Lebar Jalur Lebih Tinggi untuk Baca. Baca Lebar Data = 16 Bait dalam satu pusingan jam.
- Tulis Lebar Data = 4 Bait.
CATATAN: periksa arahan baru saya jika anda mencari reka bentuk pengawal cache bersekutu 4 arah
Langkah 2: Paparan RTL Keseluruhan Sistem
Perwakilan RTL lengkap Modul Teratas ditunjukkan dalam Rajah (tidak termasuk pemproses). Spesifikasi lalai untuk bas adalah:
- Semua Bas Data adalah Bas 32-bit.
- Bus Alamat = Bas 32-bit (Tetapi hanya 10 bit yang boleh dialamatkan di sini oleh Memory).
- Blok Data = 128 bit (Bas Lebar Lebar Lebar untuk Dibaca).
- Semua komponen didorong oleh jam yang sama.
Langkah 3: Persekitaran Uji
Modul Teratas diuji menggunakan Test Bench, yang hanya memodelkan Prosesor tanpa pipelin (Kerana merancang keseluruhan pemproses sama sekali tidak mudah !!). Bangku Ujian menghasilkan permintaan Data Baca / Tulis ke Memori dengan kerap. Ini mengolok-olok arahan "Muat" dan "Simpan" yang biasa, yang biasa berlaku di semua program yang dijalankan oleh pemproses. Hasil ujian berjaya mengesahkan fungsi Cache Controller. Berikut adalah statistik ujian yang diperhatikan:
- Semua isyarat Baca / Tulis Miss dan Hit dihasilkan dengan betul.
- Semua operasi Baca / Tulis Data berjaya.
- Tiada masalah ketidakkonsistenan / ketidakkonsistenan data yang dikesan.
- Reka bentuk berjaya disahkan masa untuk Maxm. Jam Frekuensi operasi = 110 MHz di Papan Xilinx Virtex-4 ML-403 (keseluruhan sistem), 195 MHz untuk Cache Controller sahaja.
- RAM blok disimpulkan untuk Memori Utama. Semua susunan lain dilaksanakan pada LUT.
Langkah 4: Fail Terlampir
Fail berikut dilampirkan di sini dengan blog ini:
- . VHD fail Cache Controller, Cache Data Array, Main Memory System.
- Bangku Ujian.
- Dokumentasi pada Cache Controller.
Catatan:
- Baca dokumentasi untuk memahami sepenuhnya spesifikasi Cache Controller yang dibentangkan di sini.
- Sebarang perubahan dalam kod bergantung pada modul lain. Jadi, perubahan harus dilakukan secara bijaksana. Perhatikan semua komen dan tajuk yang telah saya berikan.
- Sekiranya atas sebab apa pun, RAM Blok tidak disimpulkan untuk Memori Utama, KURANGKAN ukuran memori, diikuti dengan perubahan lebar bus alamat di seluruh fail dan sebagainya. Supaya memori yang sama dapat dilaksanakan sama ada pada LUT atau RAM Teragih. Ini akan menjimatkan masa dan sumber penghalaan. Atau, Pergi ke dokumentasi FPGA tertentu dan cari kod yang sesuai untuk Blok RAM dan edit kod yang sesuai, dan gunakan spesifikasi lebar bus alamat yang sama. Teknik yang sama untuk Altera FPGAs.
Disyorkan:
Reka Bentuk Permainan dalam Flick dalam 5 Langkah: 5 Langkah
Reka Bentuk Permainan dalam Flick dalam 5 Langkah: Flick adalah cara yang sangat mudah untuk membuat permainan, terutama seperti teka-teki, novel visual, atau permainan petualangan
Reka Bentuk Pengawal Cache Bersekutu Set Empat Cara Mudah dalam VHDL: 4 Langkah
Reka bentuk Pengawal Cache Set Empat Cara Mudah dalam VHDL: Dalam arahan saya sebelumnya, kami melihat bagaimana merancang pengawal cache langsung yang dipetakan. Kali ini, kita melangkah selangkah ke depan. Kami akan merancang pengawal cache gabungan empat arah yang mudah. Kelebihan? Kurang kadar rindu, tetapi dengan kos perf
Reka bentuk Pengawal Gangguan yang Dapat Diprogramkan dalam VHDL: 4 Langkah
Reka bentuk Pengawal Gangguan yang Dapat Diprogramkan di VHDL: Saya terharu dengan jenis respons yang saya dapat di blog ini. Terima kasih kawan-kawan kerana melayari blog saya dan memberi motivasi kepada saya untuk berkongsi pengetahuan saya dengan anda. Kali ini, saya akan mempersembahkan reka bentuk modul menarik lain yang kita lihat di semua SOC - Interrupt C
Reka bentuk Master I2C dalam VHDL: 5 Langkah
Reka bentuk Master I2C dalam VHDL: Dalam arahan ini, dibincangkan Merancang master I2C sederhana dalam VHDL. CATATAN: klik pada setiap gambar untuk melihat gambar penuh
Reka bentuk Pengawal VGA ringkas dalam VHDL dan Verilog: 5 Langkah
Reka bentuk Pengawal VGA Mudah di VHDL dan Verilog: Dalam arahan ini, kita akan merancang Pengawal VGA ringkas di RTL. VGA Controller adalah litar digital yang direka untuk memacu paparan VGA. Ia dibaca dari Frame Buffer (Memori VGA) yang mewakili bingkai yang akan ditampilkan, dan menghasilkan