Karena saya tidak mempersiapkan dan mengadakan seminar Rosnanov tentang FPGA di Moskow. Berencana untuk melakukan hal yang sama di Las Vegas dan Zelenograd

Anda memiliki mimpi ini: Anda mendapati diri Anda sedang ujian atau berbicara di depan audiens tertentu, dan tiba-tiba Anda menyadari bahwa Anda sama sekali tidak mempersiapkan diri dan sekarang Anda harus berimprovisasi. Dalam situasi ini, tetapi bukan dalam mimpi, tetapi dalam kehidupan nyata, saya menghadapi liburan bulan Mei di Moskow, di mana saya terbang dari California untuk mengadakan seminar tiga hari untuk siswa yang dipilih dengan cermat dari sekolah fisika terkemuka di Moskow. Di bawah naungan RUSNANO, di gimnasium RUT (MIIT) dan di hadapan guru-guru dari MIET, MIREA, MEPhI, MPEI dan HSE MIEM.

Rekan-rekan Moskow saya mengharapkan saya, dan secara teori saya seharusnya membawa instruksi langkah-demi-langkah dan contoh-contoh berbagai latihan di papan sirkuit dengan sirkuit mikro logika yang dapat dikonfigurasi ulang. Sebenarnya, saya punya banyak contoh untuk papan lain, di mana saya tidak membangun apa pun dalam kekacauan penerbangan dan acara lainnya.

Oleh karena itu, saya mengambil contoh universal, yang saya tulis satu setengah tahun yang lalu, duduk di pesawat Alma-Ata-Astana, membuang semua bagian dalam dari contoh, dan mulai mengisinya dengan anak-anak sekolah tanpa rencana yang sulit. Dan anehnya - itu berhasil. Dalam proses pengisian, momen instruktif dari sirkuit digital dan bahasa deskripsi perangkat keras Verilog muncul, yang selama perencanaan tidak akan muncul.

Pada 4 Juni, saya dan rekan-rekan saya di Wave Computing akan mengadakan seminar serupa di Las Vegas, tetapi hanya untuk orang dewasa, dan pada 8-19 Juli saya membantu MIET untuk mengadakan sekolah musim panas di Zelenograd. Rencana untuk acara-acara ini (bukan final, tetapi untuk diskusi dalam kelompok guru dan insinyur, termasuk di sini di Habrรฉ) - di akhir posting.



Mengapa kita perlu seminar tentang FPGA untuk anak sekolah? Sirkuit terpadu yang dapat diprogram logika (FPGA atau FPGA - Field Programmable Gate Arrays) adalah cara tradisional untuk mengkonsolidasikan pengetahuan dalam praktik saat mempelajari desain sirkuit digital pada tingkat transfer register menggunakan bahasa deskripsi perangkat keras. Dengan kata lain, teknologi utama untuk mengembangkan iPhone - microchip di dalam iPhone dirancang seperti itu. Keterlambatan Rusia di belakang iPhone juga disebabkan oleh fakta bahwa FPGA, mikroarsitektur, dan bahasa deskripsi perangkat keras diperkenalkan di Berkeley dan MIT pada awal 1990-an, dan di Rusia karena jatuhnya USSR jauh kemudian.

Seminar Rosnanov terakhir berjalan dengan sangat lancar terutama karena para siswa yang datang ke sana sebelumnya telah menyelesaikan kursus online teoretis dengan survei berorientasi karir dari metode desain microcircuit modern. Kursus online ini ditujukan untuk anak-anak sekolah lanjutan dari jenis olimpiade dan terdiri dari tiga modul: "Dari transistor ke sirkuit mikro" , "Sisi logis sirkuit digital" dan "Sisi fisik sirkuit digital" . Dalam kursus ini, siswa berkenalan dengan apa yang disebut rute RTL2GDSII - sekelompok teknologi yang digunakan para insinyur di perusahaan elektronik untuk mendesain chip massal, Application Integrated Integrated Circuits - ASIC. FPGA / FPGA digunakan untuk membuat prototipe ASIC, termasuk perusahaan seperti Intel, Apple dan NVidia.

Sejak siswa mengikuti kursus online, mereka telah mempelajari apa itu D-trigger, state machine, sintesis dan penelusuran tracing. Mereka juga melihat bahasa deskripsi perangkat keras dalam kursus online. Sekarang pengetahuan ini, yang terletak secara pasif dalam ingatan mereka, hanya perlu dihidupkan kembali.

Sekarang saya akan selalu untuk setiap seminar di negara-negara CIS (selain seminar yang sudah direncanakan, saya punya proposal untuk mengadakannya di Minsk, Sochi dan Yakutsk) untuk mengatur kondisi bagi pihak tuan rumah untuk pra-mengakui anak sekolah atau siswa melalui tiga modul kursus online, karena setelah hanya orang-orang yang termotivasi yang telah melewati semua aspek yang membosankan, dan kreativitas murni tetap untuk penguatan, saat terakhir, seperti jatuhnya sebuah apel yang mengenai kepala Newton. Selain itu, kursus online menghubungkan semua kegiatan ini dengan profesi orang dewasa, tahap berikutnya, menarik tujuan yang jauh.



Secara total, sebelum terbang ke Moskow, saya meluncurkan contoh universal di rumah saya di Sunnyvale, California. Kode contoh :


Pada hari pertama lokakarya, kami berlatih dengan sirkuit mikro dengan sedikit integrasi di papan tempat memotong roti. Teknologi ini berusia 50 tahun, tetapi tidak ada yang datang dengan ide yang lebih baik, dalam kehidupan nyata, selain dalam simulasi, untuk menunjukkan bagaimana pemicu D bekerja, misalnya. Meskipun tampaknya bagi banyak guru teknologi modern di sekolah bahwa itu sudah ketinggalan zaman dan tidak perlu, tetapi sekarang dalam kursus 6.111 dari Massachusetts Institute of Technology, sekarang, pada tahun akademik 2018/2019, lab pertama pada sirkuit digital berjalan persis seperti ini dengan mikrosirkulasi dengan tingkat integrasi kecil - lihat http: //web.mit.edu/6.111/volume2/www/f2018/index.html .

Selain itu, menggunakan contoh menghubungkan sirkuit mikro dengan sedikit integrasi dengan tombol, akan lebih mudah untuk menjelaskan apa itu, mengapa itu diperlukan, dan bagaimana resistor pull-up bekerja. Dan mengapa mereka memberikan potensi 0 ketika tombol tidak ditekan, dan bagaimana ini terkait dengan pembagi tegangan.

Bahkan ketika, dengan contoh dari rangkaian mikro dari tingkat integrasi yang kecil, LED menyala, para siswa mendapatkan pengalaman hidup yang perlu untuk menempatkan sebuah resistor di sana. Jika mereka melihat ini di layar komputer dalam sebuah simulator perangkat lunak papan tempat memotong roti, mereka tidak akan mendapatkan pengalaman hidup seperti itu, karena Anda dapat menggambar apa pun di layar dan anak-anak sekolah tidak akan yakin bahwa kejenuhan itu benar.


Berikut adalah bagaimana fungsi D-flip-flop terlihat jelas pada sirkuit mikro dengan tingkat integrasi yang kecil:


Hari kedua dimulai dengan sketsa sejarah: bagaimana microchip dirancang 50 tahun yang lalu dan bagaimana itu telah berubah dua kali sejak itu. Salah satu revolusi ditumpangkan pada runtuhnya Uni Soviet dan ini adalah alasan teknis utama mengapa Rusia tidak memiliki iPhone.

Pada pukul 8.45, kisah tentang bagaimana mata-mata pelampung Soviet, yang memantau pergerakan kapal-kapal Amerika, terperangkap di lautan, dan apa yang menyebabkan hal ini.

Pada 13 Maret, kisah tentang bagaimana publikasi seorang blogger John Cooley memindahkan seluruh industri global dari VHDL ke Verilog.

Pada 16.10, kisah tentang bagaimana Microsoft Windows kalah dari Linux sebagai platform untuk karya desainer chip.


Pada bagian ini - demonstrasi bagaimana menjalankan program untuk sintesis logika digital dan konfigurasi firmware di FPGA. Dalam dua cara - dengan menjalankan skrip di Linux dan di shell grafis terintegrasi. Juga penjelasan singkat tentang isi demo. Setelah berpacu di seluruh Eropa, siswa duduk di cangkang grafis dan melakukan latihan sederhana, mulai dengan elemen logika AND-OR-NOT, input yang terhubung ke tombol dan output ke LED. Sesuatu seperti itu:

module top (input [2:0] key, output [7:0] led); wire a = ~ key [0]; //   0,  ,     wire b = ~ key [1]; wire c = a & b; assign led [0] = ~ c; //   ,    0      endmodule 

Dalam prosesnya, dua pertanyaan menarik segera muncul. Pertama, pada awalnya saya sendiri lupa bahwa tombol dan LED terbalik di papan ini. Artinya, ketika tombol ditekan, maka 0 pada kabel, dan ketika tidak ditekan, maka 1. Dan ketika 0 diumpankan ke LED, itu menyala, dan ketika 1 tidak aktif. Jika Anda tidak tahu tentang inversi, maka elemen logis AND (led [0] = key [0] & key [1]) mulai berperilaku seperti OR, dan ATAU - seperti I. Hukum de Morgan sedang beraksi! ~ (a & b) == ~ a | ~ b, dan juga ~ (a | b) == ~ a & ~ b.

Tetapi bahkan setelah beberapa anak sekolah dikoreksi, bisnis ini masih bekerja sebaliknya. Kemudian saya melihat kode mereka dan menemukan bahwa ketika mereka menulis ulang kode yang saya tulis di papan tulis, mereka berpikir bahwa โ€œ~โ€ (tilde) adalah โ€œ-โ€ (minus). Ini memberi saya alasan yang bagus untuk mengetahui perbedaan antara kode langsung dan tambahan , dan juga mengapa untuk angka bit-tunggal (- 0) == 0 dan (- 1) == 1, sementara (~ 0) == 1 dan (~ 1) == 0. Dan juga, untuk menghitung negasinya untuk angka multi-bit dalam kode tambahan, cukup untuk membalikkan bitwise dan menambahkan satu: - a == ((~ a) + 1).


Lanjutan - bagian 2.3 , 2.4 , 2.5 .

Seluruh pelajaran diadakan di Linux, lebih tepatnya di bawah Lubuntu 18.04 dengan Intel FPGA Quartus II diinstal di dalamnya. Lubuntu dimuat dengan SSD tempat Intel FPGA Quartus II Lite Edition 18.1 juga diinstal. Untuk mem-boot dari SSD, Anda hanya perlu mencolokkannya ke port USB 3.0, hidupkan komputer dan tekan F12. Kemudian masuk ke menu dan ucapkan โ€œload from USBโ€.

Meskipun perangkat lunak sintesis untuk FPGA juga tersedia di Windows, Linux bagus karena dua alasan:

1. Linux dapat berjalan di komputer yang lebih lemah dari Windows. Sebagai contoh, saya punya laptop dengan memori 2 gigabita, jadi Intel FPGA / Altera Quartus II untuk Windows meletakkannya, dan berfungsi dengan baik di Linux.

2. Semua pengembang dewasa chip massal di Apple, NVidia, dan perusahaan elektronik lainnya menggunakan Linux, yang menjalankan program Compops Desain Synopsys, Compops IC Synopsys, Synopsys VCS, Cadence IES, dll.



Mengapa lebih baik melakukan semuanya pada SSD yang dapat di-boot dan tidak meletakkannya di komputer di ruang kelas? Karena menginstal perangkat lunak dari perusahaan FPGA adalah proses yang agak suram, dan di sekitar Altera Quartus atau Xilinx Vivado Anda perlu menjalankan dengan rebana, mengubah file di / etc dan menginstal perpustakaan 32-bit lama untuk beberapa komponen, khususnya, untuk versi gratis dari Mentor ModelSim. Beberapa perpustakaan harus dikompilasi dari kode sumber. Ada skrip dari Stanislav Zhelnio yang melakukan semuanya secara otomatis, tetapi bahkan dengan skrip ini, menginstal segala sesuatu di komputer akan memakan waktu beberapa jam.

Mengapa tidak melakukan semuanya di mesin virtual? Misalnya dengan VirtualBox? Kami mencoba ini di Universitas Negeri Moskow dan tempat-tempat lain, tetapi gangguan dengan penarikan USB dapat terjadi di sana. SSD yang dapat di-boot dengan Lubuntu sepertinya merupakan opsi terbaik.

Untuk menyiapkan set SSD untuk bengkel, Anda harus meletakkan semuanya di satu SSD, dan kemudian mengkloningnya dengan perintah yang memungkinkan Anda untuk segera menulis ke tiga SSD dari satu:

 time sudo dcfldd if=/dev/sdb bs=1M of=/dev/sdc of=/dev/sdd of=/dev/sde 

Di sini Anda perlu tahu bahwa tidak semua penutup SSD mendukung Linux, misalnya, Kingwin Data Star merusak disk. Penutup yang benar adalah Orico dan Eluteng.

Juga, saya tidak merekomendasikan mencoba mengganti SSD dengan USB flash drive yang sederhana dan dapat diunduh. Meskipun juga berfungsi pada stik USB, beberapa operasi sangat lambat, menyebabkan ketidaknyamanan dan iritasi. Tetapi pada drive SSD yang dimuat dengan USB 3.0, semuanya terbang lebih cepat daripada Linux pada hard drive internal.

Saya juga mencoba memasukkan drive SSD yang dapat di-boot ke Apple Mac dengan menekan tombol Option saat boot, tetapi tidak berhasil. Baik melalui port USB 3.1, maupun melalui 3.0. Tampaknya Mac saat boot tidak ingin memahami sistem file Ext4, atau tabel partisi. Apakah ada driver poppy dan linuxoid di antara pembaca saya? Akan menarik untuk mengetahui apa yang harus dilakukan (selain opsi untuk menggunakan VirtualBox atau mesin virtual lainnya).

Menariknya, hanya 2 siswa dari seluruh kelompok yang menggunakan Linux sebelum seminar. Ini sangat aneh bagi saya, karena di tempat Kementerian Pendidikan Rusia saya akan mentransfer semua sekolah Rusia ke Linux 10 tahun yang lalu, ketika Ubuntu menjadi ramah pengguna. Selain Ubuntu, orang dapat membuat Linux versi Rusia khusus untuk pendidikan. Windows tersumbat oleh virus, Anda perlu membayar royalti untuk itu, mengapa Windows lebih baik dari Linux untuk mengatakan program sekolah pemrograman Python? Atau Google docs tidak cukup untuk anak sekolah, tetapi Microsoft Word diperlukan? Aku hanya tidak mengerti.

Bahkan pemerintah Korea Selatan memutuskan pada tahun 2020 untuk beralih ke Linux .

Bagaimanapun, di seminar saya, anak sekolah tidak memiliki masalah dengan Linux, meskipun, seperti yang saya katakan, sebagian besar anak sekolah menggunakannya untuk pertama kalinya.


Pada awal hari ketiga saya terlambat karena saya diundang untuk memberikan ceramah ke cabang Rusia Samsung dan acara berlangsung selama 3 jam (Anda dapat mengunduh slide ceramah: 1 , 2 , 3 dan sebuah artikel tentang bagian dari konten ), setelah itu saya merasa lapar dan hanya selama makan soba dan olivier di Mumu (yang benar-benar saya lewatkan di California) mendapati bahwa pelajaran saya di gimnasium akan dimulai dalam 5 menit.

Kemudian saya menelepon Alexander Silantiev dari MIET dan meminta untuk memulai pelajaran tanpa saya. Pada hari sebelumnya, siswa mulai berolahraga dengan indikator tujuh segmen, menampilkan satu huruf. Sekarang, jika Anda memotong output dari satu huruf dengan register geser, Anda dapat mengimplementasikan output pada indikator tujuh segmen multi-bit yang dinamis, dan pada saat yang sama, siswa akan belajar bagaimana kode logika berurutan pada veril.

Rencananya berhasil - ketika saya memasuki ruang kelas, beberapa anak sekolah sudah menjalankan surat perlahan pada indikator dinamis, dan sehingga mereka bergabung menjadi kata-kata, semua yang diperlukan adalah untuk meningkatkan frekuensi generasi sinyal memungkinkan (memungkinkan) untuk register geser:


Lalu saya memberikan lantai kepada Stanislav Zhelnio sparf dari IVA Technologies, dan dia secara singkat menguraikan bagaimana cara beralih dari blok logika sederhana ke prosesor yang kecil namun benar-benar nyata (lihat posting oleh Stanislav tentang Habr dan schoolMIPS di GitHub ):


Kelanjutan dari kuliah oleh Stanislav Zhelnio

Seminar diadakan di Sekolah Tata Bahasa Universitas Transportasi Rusia (MIIT). Pada seminar dan sebelum itu, Irina Grunicheva dan Gleb Romanov (eNano) membantu; Alexey Pereverzev, Alexander Silantiev dan Yevgeny Primakov dari MIET, Alexander Romanov dari HSE MIEM dan murid-muridnya, Alexei Kochnov dari NIIIS, League of Robots (obraz.pro), Pavel Kirichenko (ICST, Intel, penulis buku bhv.ru/books/book. php? id = 201192 ), Yegor Kuzmin dari Institut Matematika Terapan , Akademi Ilmu Pengetahuan Rusia, Daria Krivoruchko, seorang siswi dari SUNTs, berada di LYuP, Timofey Cherkasov (Akademi Teknologi Digital St Petersburg, Sekolah Teknik LNM Pemikir), Alexander Bakerenkov dan Julia Shaltaeva dari Pre-University of Moscow. Vorontsov dari MPEI, Evgeny Pevtsov dari MIREA, Vitaliy Kravchenko dari Nautekh, Arkady Poe Yakov dan Sergey Pevchenko dari MEI.

Ruslan Tikhonov dari Amperka membawa komponen untuk latihan dengan sirkuit mikro dengan tingkat integrasi kecil.

Penerbit Dmitry Movchan, dari DMK Press, memberi masing-masing peserta buku yang bermanfaat - buku teks tebal lengkap oleh David Harris dan Sarah Harris, sirkuit digital dan arsitektur komputer, dan bacaan mudah oleh A. Hideharu, Entertaining electronics. Sirkuit digital. Manga

Maxim Maslov, yang berafiliasi dengan Institut Fisika dan Teknologi Moskow, datang ke seminar dan menyumbangkan papan FPGA ke sekolah-sekolah musim panas (mereka dulu mengatakan bahwa di Rusia hanya ada sedikit amal untuk pendidikan).



Apa yang akan terjadi selanjutnya? Dan kemudian akan ada dua acara yang akan memperluas dan memperdalam apa yang kami lakukan di RTH Grammar School. 8-26 Juli akan menjadi sekolah musim panas MIET di Zelenograd. Berikut adalah saran untuk programnya. Dua minggu pertamanya terdiri dari lima bagian:

  1. Dasar-dasar sirkuit digital pada sirkuit mikro dengan tingkat integrasi kecil.
  2. Latihan sederhana dengan logika kombinasional dan sekuensial pada papan FPGA.
  3. Menggunakan FPGA untuk mengontrol tampilan grafik.
  4. Perangkat dan implementasi mikroprosesor yang paling sederhana pada FPGA.
  5. Proyek individu untuk membuat game ala Angry Birds yang disederhanakan, baik berdasarkan mesin keadaan terbatas murni di perangkat keras FPGA, dan dengan kontrol program dari prosesor paling sederhana yang disintesis dalam FPGA.

Tetapi sebelum sekolah pada tanggal 4 Juni akan ada seminar di Las Vegas, di mana kita tidak akan berurusan dengan prosesor sekolah, tetapi dengan yang industri.



Program yang lebih terperinci di Zelenograd:

Minggu 1. Dasar-dasar logika digital.

Hari 1. Sirkuit terpadu skala kecil, latihan logika kombinatorial
Hari 2. Microcircuits dengan sedikit integrasi, latihan dengan logika sekuensial
Hari 3. FPGA, latihan dengan tombol, sakelar, LED, indikator tujuh segmen
Hari 4. FPGA, output bentuk geometris ke VGA
Hari 5. FPGA, mesin negara untuk Angry Birds

Minggu 2. Prosesor

Hari 1. Pemrograman dalam bahasa assembly.
Hari ke-2, prosesor schoolMIPS satu siklus.
Hari 3. Interaksi prosesor dengan kesimpulan bentuk geometris pada VGA.
Hari 4. Ceramah tentang gangguan dan multitasking. Proyek individual - permainan video yang diprogram pada prosesor dengan output ke VGA.
Hari 5. Ceramah tentang conveyor. Persaingan proyek individu.

Minggu 1. Hari 1. Sirkuit terpadu skala kecil.

1.1. Latihan dengan logika kombinatorial.

1.1.1. Elemen logika XOR pada CD4070, tanpa tombol dan register pull-up - ulangi demonstrasi.

1.1.2. Elemen logika XOR, tambahkan tombol dan register pull-up - ulangi demonstrasi.

1.1.3. Tugas individu - dengan datashit untuk membangun demonstrasi dari salah satu elemen logis DAN / ATAU / TIDAK / XOR / NOR / NAND / XNOR, dengan dua, tiga, empat atau delapan input:

1.1.3.1. CD4081, Quad 2-Input AND
1.1.3.2. CD4071, Quad 2-Input OR
1.1.3.3. CD4011, Quad 2-Input NAND
1.1.3.4. CD4001, Quad 2-Input NOR
1.1.3.5. CD4073, Triple 3-Input AND
1.1.3.6. CD4025, Triple 3-Input NOR
1.1.3.7. CD4082, Dual 4-Input DAN
1.1.3.8. CD4072, Dual 4-Input ATAU
1.1.3.9. CD4012, Dual 4-Input NAND
1.1.3.10. CD4002, 4-Input NOR
1.1.3.11. CD4068, 8-input DAN NAND
1.1.3.12. CD4078, 8-Input NOR

1.2. Indikator 7-segmen dengan katoda umum.

1.2.1. Rakit di papan tempat memotong roti dengan resistor, coba segmen individu.
1.2.2. Kombinasi dengan driver indikator 7-segmen, CD4511, BCD hingga 7-Segment Latch Decoder.
1.2.3. Opsi - indikator dengan anoda umum. Kombinasikan dengan inverter CD4069, Inverter.
1.2.4. Opsi - tambahkan 4 tombol dengan resistor pull-up ke input CD4511.

1.3. Blok logika kombinasional - tugas individu pada akhir hari atau dalam bentuk pekerjaan rumah:

1.3.1. CD4532, 8-Bit Priority Encoder
1.3.2. CD4051, Single 8-Channel Analog Switch, digunakan sebagai decoder digital
1.3.3. CD4051, Single 8-Channel Analog Switch, digunakan sebagai multiplexer digital
1.3.4. CD4052, Dual 4-Channel Analog Switch, digunakan sebagai multiplexer digital
1.3.5. CD4053, Triple Analog 2-Channel, digunakan sebagai multiplexer digital
1.3.6. CD4008, Adder Combinational 4-Bit
1.3.7. CD4063, Pembanding Digital 4-Bit
1.3.8. CD4585, Pembanding Digital 4-Bit

Pada akhirnya, semua orang menunjukkan siapa yang melakukan apa.

Minggu 1. Hari 2. Latihan dengan logika berurutan.

1.2.1. Pasang generator clock berdasarkan chip 555. Coba berbagai kapasitor dan resistensi.

1.2.2. D-trigger pada chip CD4013, Dual D-Flip-Flop Dengan Set-Reset.

1.2.3. Proyek individu:

1.2.3.1. Shift register berdasarkan CD4015, Dual Shift Static Dual 4 Bit, serial-in, parallel-out.

1.2.3.2. Shift register berdasarkan CD4035, 4-Stage Shift Register, parallel-in, parallel-out.

1.2.3.3. Shift register berdasarkan CD4014, 8-Stage Shift Register, paralel-in, serial-out.

1.2.3.4. Counter dengan output LED CD4029, Binary Decimal Up Down Counter.

1.2.3.5. Counter dengan output ke indikator 7-segmen melalui driver.

1.2.3.6. Lebih kompleks adalah kombinasi register geser CD4035 (paralel-in, serial-out) dengan serial adder CD4038. Perlu inverter CD4069. Sebelum ini, saya akan mendemonstrasikan serial adder CD4032 tanpa inverter.

1.2.3.7. Lebih kompleks adalah kombinasi register geser CD4014 (paralel-in, serial-out) dengan serial adder CD4038. Perlu inverter CD4069.



Minggu 1. Hari 3. FPGA, latihan dengan tombol, sakelar, LED, indikator tujuh segmen

1.3.1. Elemen logis dalam logika kombinasional adalah input dari tombol, output ke LED.

1.3.2. Keluaran satu huruf pada indikator tujuh segmen.

1.3.3. Multiplexer yang paling sederhana adalah keluaran huruf tergantung pada tombol yang ditekan. Implementasi menggunakan konstruk "?", "If", "case".

1.3.4. Shift register.

1.3.5. Kata tersebut ditampilkan pada indikator tujuh segmen delapan bit dinamis menggunakan register geser.

1.3.6. Proyek individual, mungkin pekerjaan rumah untuk akhir pekan:

1.3.6.1. Bentuk pada matriks LED.
1.3.6.2. Ular berlari pada indikator tujuh segmen.
1.3.6.3. Pembangkitan sinyal frekuensi suara, organ suara.
1.3.6.4. Input dari keyboard 16 tombol.
1.3.6.5. Kunci kode - pengenalan urutan kunci oleh mesin negara.
1.3.6.6. Integrasi dengan sensor pengintai.
1.3.6.7. Integrasi dengan angle encoder.



Hari 4. FPGA, output bentuk geometris ke VGA
Hari 5. FPGA, mesin negara untuk Angry Birds

Minggu 2. Prosesor

Hari 1. Pemrograman dalam bahasa assembly.
Hari ke-2, prosesor schoolMIPS satu siklus.
Hari 3. Interaksi prosesor dengan kesimpulan bentuk geometris pada VGA.
Hari 4. Ceramah tentang gangguan dan multitasking. Proyek individual - permainan video yang diprogram pada prosesor dengan output ke VGA.
Hari 5. Ceramah tentang conveyor. Persaingan proyek individu.

Minggu 3. Radio yang dapat diprogram. Program blok terdiri dari tiga bagian utama:

- Dasar-dasar elektrodinamika dan perambatan gelombang radio (bagian teoretis);
- Prinsip operasi jalur transceiver (teori dan praktik);
- Dasar-dasar pemrosesan sinyal digital - penyaringan, analisis spektral (teori dan praktik).

Hari 1. Landasan teoritis elektrodinamika dan perambatan gelombang radio. Diagram struktural dari jalur transmisi, fungsi komponen. Sinyal (harmonik, persegi panjang). Praktik sinyal menggunakan NI Elvis.
Hari 2. Mentransfer sinyal ke frekuensi tinggi. Pembenaran matematika untuk transfer frekuensi menggunakan Matlab. Latihan praktis dalam transfer frekuensi menggunakan NI Datex.
Hari 3. Amplifikasi dan emisi sinyal. Berlatih menggunakan NI Datex. Demonstrasi dari directivity antena.
Hari 4. Memfilter sinyal. Berlatih menggunakan NI Datex. Pemfilteran Sinyal Digital di Matlab
Hari 5. Mentransfer sinyal ke frekuensi rendah. Berlatih menggunakan NI Datex. Meringkas materi yang dibahas, menyimpulkan.



Tentang sisa hari-hari sekolah, rincian lebih lanjut akan berada di pos yang terpisah, setelah membahas ini di panitia penyelenggara sekolah musim panas. Jika Anda ingin berpartisipasi dalam sekolah musim panas di MIET di Zelenograd sebagai siswa atau instruktur, panitia baru saja memposting kontak dan pendaftaran . Jika Anda seorang pelajar, penting bahwa pada bulan Juli Anda sepenuhnya menyelesaikan ketiga modul kursus online Rosnanov ( "Dari transistor ke sirkuit mikro" , "Sisi logis sirkuit digital" dan "Sisi fisik sirkuit digital" ). Prakteknya akan sulit, dan kita tidak akan bisa berhenti untuk mencari tahu siklus mana yang nilainya pada input atau output dari pemicu-D. Ini tidak langsung pas di kepala Anda, tetapi jika Anda mengambil kursus online, itu akan lebih mudah bagi Anda.



Beberapa detail tentang seminar di Las Vegas pada 4 Juni :

Tidak sering terjadi bahwa seminar teknik, yang awalnya dikembangkan untuk Rusia, dan diuji di Rusia (termasuk MIPT), Ukraina dan Kazakhstan, kemudian dimulai di Las Vegas, pada konferensi otomatisasi desain elektronik. Di Rusia dan Ukraina disebut Lokakarya MIPSfpga, dan pada Konferensi Otomasi Desain disebut Hari Pengembang MIPS Terbuka. Datang 4 Juni di Embassy Suites oleh Hilton Convention Center di 3600 Paradise Road, Las Vegas, dan Anda akan ikut serta dalam acara yang melibatkan siswa dan guru dari Universitas Negeri Moskow, Institut Fisika dan Teknologi Moskow, Institut Fisika Teknik Moskow, MIET Zelenograd, Petersburg ITMO, Tomsk TSU, Kiev KPI, Almaty AlmaU dan sebagian Universitas Nazarbayev di Astana.

MIPSfpga adalah paket yang berisi inti prosesor dalam kode sumber di Verilog, yang dapat Anda ubah, tambahkan instruksi baru, amati operasi cache dan pipa, bangun sistem multiprosesor, ubah perangkat lunak dan perangkat keras pada saat bersamaan, dll. Dalam versi baru seminar, Anda akan menambahkan coprocessor ke prosesor untuk mempercepat algoritma kecerdasan buatan.

Selain itu, dalam versi baru dari seminar kami akan menunjukkan cara mengkonfigurasi kernel dari paket MIPS microAptiv UP dan memasukkannya ke dalam ikatan MIPSfpga. Saat dikonfigurasi, Anda dapat membuat opsi prosesor yang eksotis, misalnya prosesor dengan 16 set 32 โ€‹โ€‹register. Anda dapat secara otomatis mengganti set ini ketika memasukkan interupsi dan dengan demikian dengan cepat mengubah konteks tanpa menyimpan / mengembalikan konteks dari memori, yang dalam RTOS biasa membutuhkan sekitar seribu siklus.

MIPSfpga tidak dimaksudkan untuk disuntikkan ke objek dari nol absolut. Untuk penggunaannya yang bermanfaat, siswa harus sudah mengetahui dasar-dasar sirkuit digital, dapat memprogram dalam C dan assembler, dan juga menyajikan konsep arsitektur mikro - konveyor, konflik pipa, dll. Inilah yang sedang dipelajari di schoolMIPS, yang kami gunakan di Zelenograd.

Berikut ini adalah slide tentang mekanisme untuk menambahkan instruksi ke prosesor MIPS microAptiv UP:



Pada sebuah seminar di Las Vegas pada 4 Juni, dan mungkin di sekolah musim panas untuk insinyur elektronik muda, yang akan diadakan 8-26 Juli di MIET di Zelenograd, putri saya Elizabeth Panchul akan membantu saya (jika ia menerima visa tepat waktu). Karena Elizabeth adalah semi-Rusia-semi-Rusia / Ukraina, dia hanya berbicara bahasa Inggris. Oleh karena itu, instruktur Rusia (siswa atau mahasiswa pascasarjana dari Institut Fisika dan Teknologi Moskow, Universitas Negeri Moskow, dll. Yang siap membantu kami dengan Elizabeth dan MIET dalam memimpin sekolah) dapat mempelajari aksen bahasa Inggris yang benar darinya, dan ia dari mereka - dasar-dasar bahasa Rusia. Selain mempelajari Verilog, MIPS, arsitektur, mikroarsitektur, dan mengatur DMA ke dalam memori ketika ditampilkan pada layar grafis:



Kami menunggu Anda di semua seminar, serta dalam komite untuk pembuatan program mereka!

Source: https://habr.com/ru/post/id452872/


All Articles