
Dari tanggal 2 hingga 5 Oktober, sebuah sekolah dengan dasar-dasar sirkuit digital, arsitektur, dan penggunaan Verilog diadakan di Novosibirsk. Nama resmi acara: sekolah untuk mahasiswa sarjana dan pascasarjana, yang diadakan di Universitas Teknis Negeri Novosibirsk dalam kerangka Konferensi Ilmiah dan Teknis Internasional XIV "Masalah Aktual Instrumentasi Elektronik" APEP-2018, diselenggarakan di bawah naungan IEEE.
Acara ini terutama ditujukan untuk mereka yang:
- baca buku Sirkuit Digital dan Arsitektur Komputer, D. Harris, S. Harris (juga dikenal sebagai H&H atau Harris-i-Harris);
- Dia ingin mempraktikkan ilmunya, tetapi tidak mengerti peralatan dan perangkat lunak apa yang dibutuhkan untuk ini dan tidak tahu bagaimana menggunakannya;
- adalah siswa senior atau mahasiswa pascasarjana dan diharapkan untuk menyebarluaskan pengetahuan yang diperoleh (mengadakan lokakarya, pekerjaan laboratorium, dll. di universitas).
Pengumuman: Sekolah serupa direncanakan mulai 6 hingga 9 November di Institut Teknologi Ruang dan Informasi dari Universitas Federal Siberia (IKIT SFU). Sekolah akan dijalankan oleh Alina Leskovskaya, mahasiswa pascasarjana, insinyur desain AIS IS dinamai M.F.Reshetnev, serta rekan-rekannya: Dmitry Vlasov dan Boris Dudkin. Hubungi untuk pendaftaran: leskovskayaav@yandex.ru
Jika posisi Anda setidaknya terdengar sebagai "Junior FPGA Developer", maka dengan probabilitas tinggi Anda tidak akan mempelajari sesuatu yang baru untuk diri Anda sendiri di pos ini. Untuk semua orang, selamat datang ke kucing.
Mengapa itu perlu?
Pada suatu waktu (di universitas), penulis baris ini mempelajari arsitektur komputer tanpa menggunakan Verilog atau VHDL: Anda datang ke sebuah kuliah di mana sebuah kotak hitam yang disebut "Komputer" diletakkan di banyak kotak hitam kecil: "prosesor", " memori ”, dll. Tapi mereka tetap kotak hitam: Anda tidak bisa "memanjat" di dalam, Anda tidak bisa "mengubah" perangkat. Kursus berakhir, tetapi Anda masih merasa bahwa Anda sedang bekerja dengan "esensi magis dari struktur internal yang tidak jelas". Dalam kasus terbaik, Anda dapat mengonfigurasinya (program). Tidak ada gambaran holistik tentang dunia digital di kepalaku. Tidak ada pemahaman tentang cara kerjanya di dalam. Pemahaman itu yang membedakan seorang Insinyur yang baik dengan "yang lewat".
Untuk mendapatkan gambar yang lengkap, Anda harus dapat mengubah perangkat yang dipelajari dan membuatnya sendiri. Dan di sini Verilog (atau VHDL) datang untuk menyelamatkan, perangkat lunak simulasi dan papan debug murah dengan FPGA untuk memeriksa perangkat keras. Prosesor sederhana ( schoolMIPS ) dapat ditulis dalam 1-2 malam hari. Dan ini sama sekali bukan ilmu roket, tidak ada sihir.
Mengingat gambaran holistik dunia digital, sama sekali tidak perlu untuk menghubungkan hidup Anda dengan pengembangan sirkuit mikro. Tetapi saya percaya bahwa orang-orang yang benar-benar mengerti bagaimana "kotak baca ajaib" bekerja tidak akan menulis program yang sangat lambat . Saya akan menggambar paralel: palu dan bor berbaring di lemari tidak membuat Anda menjadi tukang kayu. Pada saat yang sama, Anda dapat menggerakkan kuku, Anda mengerti mengapa alat-alat ini diperlukan, dalam hal ini layak menggunakan palu, mengapa Anda tidak harus menggunakan mikroskop, dan kapan harus berkonsultasi dengan profesional.
Program Sekolah
Pekerjaan di Sekolah berorientasi pada praktik. Menempatkan semua masalah yang dijelaskan dalam H&H ke dalam empat hari teori dan praktik sangat sulit. Karena itu, tujuan ini tidak ditetapkan. Seluruh teori diberikan secara eksklusif dalam jumlah yang diperlukan untuk latihan. Karena itu, tidak mudah bagi mereka yang belum membuka buku sebelumnya.
Hari 1
• Bahasa untuk deskripsi perangkat keras dan mengapa diperlukan
• Apa itu FPGA
• Dasar-dasar logika kombinasional
• Elemen logika dasar dan deskripsi mereka di Verilog
• Lingkungan uji (Testbench)
• Memeriksa operasi sirkuit kombinasional menggunakan simulator (Icarus Verilog, Modelsim)
• Sintesis sirkuit kombinasi, Intel Quartus dan Xilinx Vivado GUI
• Untuk apa skema kombinasi disintesis ketika diterapkan pada FPGA?
• Memprogram papan debug
• Verifikasi proyek pada papan debug
• Dasar-dasar Makefile dan bekerja dalam mode non-proyek
• Multiplexer dan metode untuk deskripsinya di Verilog HDL
• Demultiplexer dan metode untuk deskripsinya di Verilog HDL
• Studi kasus: bekerja dengan indikator 7-segmen
• Kompilasi bersyarat di Verilog HDL
Hari 2
• Sirkuit kombinasi dan waktu rambat sinyal
• Sirkuit jam dan seri
• Berbagai jenis tugas di Verilog HDL
• D-trigger dan implementasinya pada Verilog dalam berbagai variasi: reset asinkron dan sinkron, tulis port izin
• Untuk apa rangkaian sekuensial disintesis ketika menerapkan berdasarkan FPGA
• Daftar dan implementasinya
• Konter dan implementasinya
• Disiplin dinamis dan statis
• Metastabilitas dan sinkronisasi
• kait yang tidak diinginkan, konsekuensi dan cara untuk menghindari
• Mesin dalam kondisi terbatas (Mura dan Miles)
• Presentasi mesin dalam bentuk diagram transisi
• Implementasi mesin pada Verilog HDL
• Pendekatan umum untuk desain automata kompleks
• Implementasi bertahap dari modul antarmuka sensor jarak ultrasonik pada Verilog
Hari ke 3
• Pekerjaan mandiri. Implementasi modul antarmuka keyboard 4x4 untuk FPGA
• Pekerjaan mandiri. Implementasi kalkulator FPGA
Hari ke 4
• Dasar-dasar perpipaan
• Arsitektur dan mikroarsitektur
• Dasar-dasar pengembangan pada assembler MIPS
• Bekerja dengan simulator MARS
• Merancang prosesor siklus tunggal paling sederhana pada contoh schoolMIPS
• Jalur data dan perangkat kontrol
• Mengkompilasi program, memulai prosesor di simulator dan di papan debug
• Pekerjaan mandiri. Menambahkan dukungan untuk instruksi baru ke prosesor
Material
Semua materi kursus (slide, skrip, sumber, literatur) tersedia online ( github , materi tambahan ). Slide dirancang dalam gaya yang meragukan, ketika ada banyak teks di atasnya, dengan harapan hal ini akan membuatnya lebih mudah untuk berkenalan dengan materi offline.
Tugas praktis dan independen dilakukan terutama pada motherboard Terasic DE10-Lite dengan Intel MAX10 FPGA. Kami juga memiliki Digilent Nexys 4 DDR , yang menunjukkan kerja dengan Xilinx Vivado sebagai contoh. Dengan pengecualian yang jarang, contoh-contohnya disiapkan sedemikian rupa sehingga Anda dapat menggunakan DE10-Lite dan Nexys 4 DDR. Pilihan yang mendukung bekerja dengan papan Intel FPGA adalah karena alasan berikut:
- DE10-Lite lebih murah daripada Nexys 4 DDR, yang berarti tersedia bagi lebih banyak siswa jika mereka ingin terus bereksperimen di rumah atau sebagai bagian dari proses pembelajaran;
- Proyek sederhana yang sama di mana kursus dibangun dirakit menggunakan Intel Quartus berkali-kali lebih cepat daripada menggunakan Xilinx Vivado. Dengan semua simpati saya untuk Vivado, kami hanya punya 4 hari.
Bagaimana dengan videonya
Ketika acara diumumkan, saya mulai menerima permintaan untuk mengatur penyiaran atau perekaman video. Sayangnya, ini tidak sesuai dengan format organisasi Sekolah yang saya pilih. Kami tidak memiliki kuliah seperti itu: beberapa slide, lalu berlatih. Ada pertanyaan - kami sedang menganalisis, dialog konstan, lelucon lucu dan bergerak di sekitar penonton. Memilih antara mengerjakan kamera dan membangun kontak yang produktif dengan audiens, saya memilih yang kedua. Bagaimana ini terjadi tergantung pada siswa untuk menilai. Mohon perlakukan dengan pengertian.
Saya juga mau
Apakah Anda seorang guru yang tertarik untuk memberikan pengetahuan siswa? Atau apakah Anda seorang siswa yang ingin mendapatkan pengetahuan ini, terlepas dari apakah para guru memberikannya atau tidak? Dalam hal ini, bahkan jika Anda tidak dapat menghadiri acara tersebut, Anda memiliki semua informasi yang diperlukan untuk pengembangan subjek secara independen dan / atau konstruksi / modifikasi kursus pelatihan:
- Buku "Sirkuit digital dan arsitektur komputer", yang tersedia secara gratis dalam bentuk elektronik ( tautan ), atau dapat dibeli dalam kertas ( tautan ). Sangat mudah dibaca, dianggap sebagai fiksi. Ini memiliki ambang masuk yang rendah - beberapa pengetahuan khusus tidak diperlukan untuk mulai membacanya. Baru-baru ini, tambahan pada arsitektur ARM telah dirilis ( tautan );
- Contoh kode tersedia untuk buku, serta slide (versi bahasa Inggris dan Rusia) yang dapat digunakan untuk membangun kursus Anda sendiri ( tautan );
- Papan debug murah: Terasic DE10-Lite adalah yang terbaik, menurut pendapat saya, pilihan dalam hal rasio harga / kualitas, $ 55 untuk mereka yang telah membuktikan status akademik (tidak termasuk pengiriman). Papan ZEOWAA - ketika Anda harus menghemat segalanya. Opsi ini berfungsi, tetapi mungkin ada masalah dengan firmware karena kabel USB berkualitas buruk yang disertakan dengan kit;
- Bahan-bahan Sekolah saat ini ( github , bahan tambahan ), serta acara lain yang diselenggarakan oleh YuriPanchul ( silicon-russia.com , slide dan banyak lagi ).
Tolong jangan berharap bahwa seseorang akan datang kepada Anda dan melakukan "kebaikan." Pengetahuan Anda, jika Anda seorang siswa, dan pengetahuan siswa Anda, jika Anda seorang guru, 99% bergantung pada upaya Anda.
Apa yang telah saya alami untuk diri saya sendiri
- Dalam 4 hari, Anda dapat meletakkan hal-hal dasar (bagi mereka yang belum membaca H&H), atau sesuatu yang lebih maju (bagi mereka yang sudah membaca buku). Lebih baik tidak menggabungkan.
- Bagi mereka yang belum membaca buku dan tidak memiliki pengalaman dengan FPGA, disarankan untuk memulai praktik bekerja dengan sirkuit mikro dengan sedikit integrasi, dan baru kemudian memberikan FPGA. Ini sangat penting karena memungkinkan Anda untuk dengan cepat membangun kembali otak dari mode "pemrograman" yang relatif akrab ke mode "sirkuit". Ini sudah ditulis oleh Yuri ( tautan ). Sayangnya, kami melewatkan tahap ini.
Ucapan Terima Kasih
- pemrakarsa acara dan penyelenggara NSTU adalah Vladimir Makukha;
- memegang sekolah dalam bentuk saat ini tidak mungkin jika beberapa tahun yang lalu sekelompok penggemar tidak mengambil terjemahan sirkuit digital dan arsitektur komputer;
- kedatangan saya di Novosibirsk tidak akan mungkin terjadi tanpa dukungan inisiatif pendidikan yang ada dalam IVA Technologies ;
- memimpin sebuah sekolah adalah pertanyaan besar ketika ternyata dana yang dialokasikan ke universitas untuk pembelian papan debug tergantung di suatu tempat di kedalaman birokrasi. Papan akhirnya dikumpulkan "dengan dunia di atas utas." Mikhail Shadrin (NSU) meminjamkan beberapa Nexys 4 DDR. Beberapa papan dibeli oleh mahasiswa pascasarjana yang datang untuk belajar. Beberapa papan Terasic dialokasikan oleh Alexander Romanov (MIEM NRU HSE). Tapi papan masih belum cukup. YuriPanchul membantu, setelah itu Mikhail Shupletsov (Universitas Negeri Moskow) dan saya dengan cepat mengatur pembelian mereka. Dan orang-orang dari Terasic, tanpa penundaan, mengatur pengiriman secepat mungkin.
- Dmitry Vlasov, Anton Kulichkov, dan Valery Barmin membantu memimpin sekolah - kami bertemu setahun yang lalu di Tomsk ( tautan ), dan tahun ini mereka membantu siswa dengan teori dan praktik.
- banyak terima kasih kepada para siswa - tanpa keinginan Anda untuk mempelajari hal-hal baru dan tanpa kegigihan Anda, kami tidak akan berhasil.
Ulasan Sekolah
Anna Kazmina
Selama 4 hari <...> kami terjun ke teknologi pengembangan berbasis-FPGA sedemikian rupa sehingga benar-benar mengubah gagasan saya untuk menggunakan FPGA di dunia modern dalam produksi nyata. Sebelumnya, dalam proses pendidikan, kami menggunakan FPGA hanya untuk mempercepat solusi masalah, tetapi sekarang kami telah belajar bagaimana menggunakan mikrokontroler untuk pengembangan arsitektur mikro <...> Sekolah ini sangat menarik bagi saya sehingga saya berencana untuk mengembangkan ke arah ini. Lebih banyak acara seperti itu!
Olesya Radchenko
Banyak terima kasih kepada tim, berkat sekolah yang sama diadakan di NSTU. Terima kasih atas kesempatan untuk "terjun langsung" ke dalam pemrograman FPGA, untuk mempelajari cara kerja pengembang lain dengan Quartus, ModelSim, dan juga untuk berkenalan, misalnya dengan Vivado. Selama 4 hari ini saya menggabungkan pengetahuan lama saya dan belajar banyak hal baru, misalnya, tentang MIPS. <...> Saya dapat menerapkan pengetahuan yang diperoleh dalam pekerjaan saya, yang baru-baru ini terkait erat dengan pemrograman FPGA
Vladislav Mayer
Mungkin saya ingin mencatat bahwa karena waktu yang terbatas, Anda berhasil memberikan informasi yang cukup untuk pemahaman awal materi. Saya pribadi memiliki pengetahuan dasar tentang bahasa pemrograman perangkat keras. Tapi knalpot utama bagi saya adalah perubahan pandangan tentang pemrograman secara umum. Sekarang saya melihat hal-hal yang sebelumnya dikenal dari sudut yang berbeda dan memiliki ide tentang bagaimana mengimplementasikan modul-modul ini atau mereka secara berbeda
Anton Yupashevsky
Selama empat hari ini, saya melihat pemrograman FPGA dengan cara yang sangat berbeda, pada bahasa deskripsi perangkat keras Verilog, dan saat ini, menggunakan FPGA. Tingkat awal pengetahuan tentang FPGA dan sirkuit digital saya mendapatkan 4 tahun studi di universitas dan dengan
tidak ada masalah dengan skema kombinasional dan sekuensial yang paling sederhana, tetapi kemudian
semakin kompleks dan menarik muncul dan pada akhirnya kami sendiri memprogram kernel
MIPS Keuntungan yang sangat besar dari sekolah ini adalah banyaknya latihan.
Mikhail Kireev
Selama sekolah "dari fisika ke chip" di APEP-2018, dogma-dogma diuraikan ketika bekerja dengan Verilog:
Anda harus menguasai buku Harris. Ada banyak jebakan dalam topik ini ketika menulis kode - benar-benar identik (dari sudut pandang logika) blok dapat disintesis dengan cara yang berbeda <...> Simulasi akan memberikan lebih banyak kemungkinan saat berkembang daripada sintesis - lebih memperhatikan Waveform. Dalam kegiatan profesional, Anda harus bekerja dengan berbagai jalur FPGA dari berbagai produsen, <...> Hemat waktu Anda di masa depan (menulis skrip dan membuat-file). Dari sudut pandang praktis, sejumlah pola sekuensial dan kombinasional dasar telah dipertimbangkan; conveyor, keyboard 4x4, contoh mesin negara, arsitektur MIPS paling sederhana dan tugas-tugas lainnya.
Z.Y. Saya mengetahui tentang sekolah ini dan mendaftar 12 jam sebelum mulai, saya tidak menyesal menghadiri acara ini, meskipun membaca buku Harris akan membuat kinerja jauh lebih tinggi.