Dapatkah Anda merekomendasikan implementasi CPU yang dapat dibaca dan edukatif dalam VHDL atau Verilog? Lebih disukai sesuatu yang didokumentasikan dengan baik.
PS Saya tahu saya bisa melihatnya opencores
, tetapi saya secara khusus tertarik pada hal-hal yang dilihat orang dan menarik.
PS2. Maaf tentang tag sial, tetapi sebagai pengguna baru saya tidak dapat membuat yang baru
Jawaban:
Anda dapat menikmati seri artikel yang saya tulis ini sejak lama untuk majalah Circuit Cellar, Membangun Sistem RISC dalam FPGA .
Selamat melakukan peretasan!
sumber
Dapatkan buku ini , saya punya edisi pertama. Beberapa tahun yang lalu saya mengimplementasikan CPU mereka dalam Flex 10K10 FPGA kecil pada PCB yang saya rancang, dengan beberapa tombol push dan tampilan 7-segmen tunggal untuk memasukkan data dan menampilkan hasilnya.
sumber
Banyak tergantung pada apa tujuan Anda mempelajari kode? Dengan kata lain, apa artinya menarik bagi Anda?
Jika Anda melakukannya untuk melihat seberapa banyak kerumitan yang dapat terjadi pada CPU, Anda mungkin lebih tertarik mempelajari sumber arsitektur OpenSPARC . Butuh waktu lama untuk menyelam, tetapi Anda akan mendapatkan apresiasi untuk gambaran besar keseluruhan dari mikroprosesor yang kompleks.
Kemudian, jika ingin mempelajari fitur arsitektur mikro komputer tertentu, Anda akan ingin melihat beberapa mesin RISC langsung seperti AEMB , prosesor RISC 32-bit multi-threaded yang cepat (plug yang tidak tahu malu).
Kemudian, jika yang Anda inginkan adalah mempelajari gaya dan konvensi pengkodean yang baik, desain LEON2 adalah tempat yang baik untuk mempelajari gaya pengkodean VHDL yang baik.
Namun, jika tujuan Anda mempelajari prosesor adalah untuk mempelajari cara mendesain sendiri, taruhan terbaik Anda adalah memulai dengan salah satu mesin 8-bit sederhana (ada banyak AVR, 8051, contoh PIC di internet).
sumber
Anda dapat mencoba memeriksa beberapa desain CPU Keempat. Forth adalah bahasa pemrograman sederhana yang spesifikasi dan implementasinya didefinisikan melalui dua tumpukan tumpukan (satu untuk data dan satu untuk alamat pengirim).
Beberapa prosesor VHDL / Verilog kecil tersedia secara bebas:
Beberapa tautan lainnya dapat ditemukan di sini:
PS. Meskipun Keempat menjadi bahasa yang cukup tua dan tidak jelas banyak VM modern berbasis stack (Java, JavaScript VM cepat) memiliki desain tingkat rendah yang serupa sehingga belajar tentang hal itu bisa bermanfaat.
sumber
PicoBlaze bagus, namun tidak tersedia di VHDL yang tidak tergantung vendor.
Beberapa pilihan lain adalah:
Juga, jika Anda mencari kompiler untuk CPU Anda, kemungkinan besar mendapatkannya untuk CPU 16-bit. Pernah ada kompiler Poderico dari bahasa seperti-C ke Picoblaze tetapi telah diambil dari web.
sumber
Anda mungkin melihat prosesor Xilinx PicoBlaze . Ini adalah mikrokontroler tertanam 8-bit minimal, dan kode sumber harus tersedia.
sumber
Terlambat, namun saya memberikan jawaban kecil.
Ada kursus bernama fromNand2Tetris dari University of Jerusalem, kursus ini juga hadir di coursera, saya membangun komputer yang mereka buat dalam kursus itu. Saya menerapkan bahasa dalam skema untuk dapat melihat diri saya sendiri bagaimana komputer bekerja dengan sangat detail. Dan saya berhasil, simulator yang mereka buat di Jawa tidak dapat melakukan semua yang ingin saya lihat.
https://github.com/alinsoar/little-computer
sumber