Sekarang rumah penerbitan DMK-Press menerbitkan
terjemahan Rusia dari manga Jepang pada 2013 tentang sirkuit digital yang dibuat oleh Amano Hideharu dan Meguro Koji. Terlepas dari bentuk presentasi yang sembrono, esensi dari buku ini sangat bagus. Sebagai contoh, itu mulai dari sirkuit mikro kuno dengan tingkat integrasi kecil dan dengan cepat mengikatnya dengan bahasa deskripsi perangkat keras Verilog modern dan sirkuit terintegrasi logika yang dapat diprogram (FPGA). Juga, manga dengan jelas mendefinisikan mengapa skema kombinasional dan sekuensial diperlukan, dan memberikan gagasan tentang metode optimasi.
Manga menghindari kesalahan banyak pendahulunya. Salah satu kesalahan ini dibuat oleh Charles Petzold dalam buku "Code", yang memperkenalkan logika berurutan bukan pada pemicu-D yang dikontrol oleh tepi sinyal clock (dipicu tepi-D-flip-flop), tetapi pada pemicu-D dengan operasi level (kait, level-sensitif D-latch), meskipun kemudian beralih ke pemicu yang benar. Kesalahan itu mungkin karena fakta bahwa Charles Petzold, yang menjadi terkenal sebagai penulis buku teks pada pemrograman GUI di Microsoft Windows, bukan pengembang elektronik yang berlatih, dan kaitnya “lebih mudah” baginya daripada pemicu yang dipasang di depan. Masalahnya adalah bahwa kait tidak kompatibel dengan analisis statis dari keterlambatan dalam sintesis logis, teknologi utama untuk merancang sirkuit digital selama 30 tahun terakhir. Sistem pada chip di dalam gadget seperti iPhone menggunakan pemicu D yang dipicu oleh negara dalam 99% kasus sebagai elemen keadaan, dan kait hanya digunakan dalam kasus yang sangat khusus. Untuk memberikan pemula untuk membangun sirkuit di kait - ini berarti menyesatkan mereka.
Dalam hal ini, manga lebih baik daripada Petzold. Ini adalah bagaimana manga dengan elegan menjelaskan pemicu master slave D dua tahap yang dikendalikan oleh jam depan. Ini dilakukan dengan bantuan Peri Hee Hee Hee dan Peri Ha Ha Ha:

Selanjutnya, saya menyoroti komentar saya dengan warna biru sehingga mereka tidak bergabung dengan kutipan dari manga:
Tapi mari kita mulai secara berurutan. Manga tentang sirkuit digital dimulai dengan microcircuits, dan dia segera menyebutkan kedua microcircuits dari tingkat kecil integrasi, dengan beberapa elemen logika, dan yang modern, dengan jutaan dan milyaran transistor:


Manga ini menjelaskan karya elemen logis menggunakan analogi sederhana dan menyenangkan untuk remaja:

Mengapa bahkan menyebutkan sirkuit mikro dengan tingkat integrasi rendah, yang sudah usang 50 tahun yang lalu? Faktanya adalah bahwa terlepas dari usia mereka yang terhormat, latihan di atas papan tempat memotong roti dengan microcircuits adalah cara paling intuitif untuk menunjukkan kepada siswa bagaimana elemen logika bekerja. Anda tidak perlu menginstal perangkat lunak untuk pemodelan atau sintesis untuk FPGA. Yang Anda butuhkan hanyalah papan tempat memotong roti, baterai 9 volt, sirkuit mikro, kabel, LED, dan tombol:

Beberapa guru di lingkungan sekolah percaya bahwa semua latihan seperti itu harus diganti oleh Arduino. Pendapat ini muncul pada 1970-1980-an, ketika mikrokontroler dan prosesor tertanam masuk ke dalam formasi. Seorang anak sekolah pada tahun 1988 tidak dapat menghabiskan ratusan ribu dolar untuk membuat sirkuit mikro sendiri di pabrik, dan sirkuit mikro lama dengan tingkat integrasi kecil dalam produk industri nyata semakin jarang digunakan. Oleh karena itu, pada saat itu, mereka melambaikan tangan pada logika digital untuk anak-anak sekolah dan membuang semua energi mereka ke dalam program pengajaran. Berikut ini komentar Facebook yang menjelaskan pendapat ini:

Namun, 30 tahun kemudian, semuanya berubah lagi:
1. Pertama, pada tahun 1988 yang sama, sebuah teknologi untuk merancang sirkuit mikro menggunakan sintesis logis muncul, dari kode dalam bahasa deskripsi perangkat keras - Verilog dan VHDL.
2. Pada saat yang sama, pada 1980-an, sirkuit terpadu logika yang dapat diprogram muncul (FPGA) muncul - matriks elemen logika yang dapat dikonfigurasi ulang yang dengannya Anda dapat membuat biaya sirkuit digital dengan hanya mengubah isi memori konfigurasi di dalam FPGA.
3. Pada 1990-an, pengajaran HDL, sintesis logis, dan FPGA dimasukkan dalam program semua departemen elektronik di universitas Barat, meskipun di Rusia dan Ukraina, karena kekacauan pasca-perestroika, proses ini lebih lambat.
4. Pada tahun 2000-an, kecepatan prosesor tradisional berhenti tumbuh, dan pemasar mulai memprediksi fragmentasi pasar prosesor tertanam (yang terjadi - cloud, IoT), serta penampilan kombinasi prosesor dan komputer khusus untuk berbagai tugas (yang terjadi - pertama cepat) grafik seluler, kemudian chip khusus untuk menambang cryptocurrency, visi komputer dan akselerator jaringan saraf).
5. Sekarang, pada tahun 2010, harga papan FPGA turun ke tingkat ketika mereka tersedia untuk anak sekolah. Pada saat yang sama, industri membutuhkan sejumlah besar insinyur baru untuk membuat sirkuit mikro besar dengan jaringan saraf. Bahkan jika Anda akan bekerja sepanjang hidup Anda dalam pemrograman, untuk memahami sistem baru Anda perlu mengetahui prinsip-prinsip operasi peralatan: sirkuit kombinasional dan sekuensial, mesin negara, timing, pipelining, dll. Kemudian Anda dapat memahami apakah perlu memproses data dengan program reguler atau unit perangkat keras.
Jadi sirkuit mikro dengan tingkat integrasi yang kecil memungkinkan Anda untuk "menyentuh" perangkat keras primitif secara langsung. Dan segera setelah menjelaskan tentang skema integrasi kecil, manga memperkenalkan bahasa deskripsi perangkat keras dan FPGA:


Setelah menjelaskan elemen-elemen logis, manga menunjukkan bagaimana membangun skema kombinatorial yang berguna untuk pemungutan suara utama:



Kemudian skema ini dioptimalkan. Menurut pendapat saya, manga mencurahkan terlalu banyak waktu untuk optimasi kombinatorial. Tetapi perlu diingat bahwa orang Jepang menulis manga, dan mereka memiliki prinsip dalam budaya 切磋琢磨 (sesi takuma) - memoles sesuatu (seperti pedang) hingga menjadi sempurna. Oleh karena itu, dalam manga ada optimasi berdasarkan akal sehat, dan optimasi berdasarkan diagram Carnot. Sintesis logis dari bahasa deskripsi perangkat keras membuat optimasi seperti itu secara otomatis:


Manga ini juga memiliki skema romantis, yaitu adegan:

Skema pemungutan suara mayoritas dapat dengan mudah dikumpulkan pada sirkuit mikro dengan tingkat integrasi yang kecil. Pada saat yang sama, orang dapat berargumen bahwa mengamati elemen kombinatorial DAN-ATAU TIDAK / DAN-ATAU TIDAK di papan tempat memotong roti tidak terlalu menarik, karena aljabar Boolean juga dijelaskan dalam pelajaran pemrograman yang biasa. Dapat dikatakan bahwa meskipun anak usia 7 tahun dapat memahami DAN-ATAU TIDAK, beberapa anak sekolah menghadapi hambatan mental ketika mencoba memahami pemicu-D. Dalam hal ini, demonstrasi visual menjadi lebih berharga.
Sayangnya, siswa tidak dapat "menyentuh" tangannya secara langsung dengan pemicu-D di dalam FPGA. Ada puluhan ribu di FPGA. Pada Arduino, objek seperti itu tidak muncul sama sekali. Dan di papan dengan sirkuit mikro dengan tingkat integrasi kecil, pemicu-D dapat dirasakan seperti ini:
Dan inilah cara menjelaskan sirkuit berurutan dan manga pemicu-D. Perhatikan bahwa penerjemah Jepang menggunakan kata "sekuensial" untuk menerjemahkan "sekuensial", meskipun istilah "sekuensial" telah dibuat dalam literatur Rusia tentang sirkuit digital:

Di sini dimungkinkan untuk menulis secara lebih spesifik bahwa skema sekuensial, tidak seperti skema kombinasional, memungkinkan tindakan berulang dan mengharapkan peristiwa. Dengan kata lain, mereka membuat komputer "pintar." Tanpa mereka, menggunakan komputer, Anda hanya bisa menghitung nilai ekspresi aritmatika sederhana:

Sangat disayangkan bahwa manga tidak mengatakan apa-apa tentang penundaan waktu dalam sirkuit kombinasional dan menghitung frekuensi jam maksimum. Ini bisa dimasukkan di sini di tempat ini:

Saya berharap bahwa manga di Rusia ini akan memiliki penerus yang akan membuat semacam kartun dengan Ivan Tsarevich dan Vasilisa the Beautiful, yang akan memperkenalkan penundaan distribusi dan jalur kritis, misalnya, berdasarkan informasi dari buku teks Harris & Harris. Berikut ini slide yang sesuai dari bahan tambahan untuk buku teks:



Berikut ini adalah slide langsung yang mengatakan bahwa untuk hampir semua elemen state pemicu D digunakan [kecuali untuk kasus yang pemula tidak menemukan sama sekali, misalnya, pengait untuk menerima jam yang terjaga keamanannya tanpa gangguan pulsa di sirkuit hemat energi - sensitif D tingkat kait untuk jam berpagar bebas gangguan yang digunakan dalam desain berdaya rendah].

Ingatlah bahwa Petzold menggunakan kait D untuk perkenalannya, yang salah. Tapi bukan hanya Petzold membuat kesalahan di tempat ini. Saya pernah membuat posting di LiveJournal dengan gambar penghitung di bawah ini dari adder dan pemicu-D, setelah itu seorang programmer Rusia dari negara bagian Colorado mengatakan kepada saya dua hari kemudian bahwa lebih mudah untuk membangun penghitung pada pemicu-T. Saya mengatakan kepadanya bahwa dia benar mengingat pemicu-T dari masa kecilnya di tahun 1970-an, tetapi sekarang, di abad ke-21, pengembang iPhone membangun penghitung dari pemicu-D, karena situasi penghitungnya ada di pemicu-T, di mana sinyal data digunakan sebagai sinyal jam , tidak cocok dengan analisis waktu dalam chip untuk milyaran transistor (jika Anda tidak setuju dengan saya, silakan bagi pendapat saya dengan tautan ke perpustakaan ASIC dari TSMC, Synopsys Design Compiler, dll.):

Sekarang kita telah melihat serangkaian gambar tentang kerja pemicu D dua tahap (master-slave) dengan peri:


Dengan bagan waktu yang mudah dimengerti - data direkam hanya pada saat tepi positif dari pemicu-D, sisa waktu mereka diabaikan:

Sekarang manga melanjutkan ke contoh menggunakan D-trigger untuk membangun mesin negara sederhana - alat untuk melempar tulang elektronik. Jujur, saya tidak sepenuhnya senang dengan bagian buku ini. Kita akan mengatakan ini, mesin keadaan terbatas yang merosot di mana negara-negara berputar, dihentikan satu bit - tombol stop. Jika ada beberapa automata dalam buku contoh, maka semuanya akan beres, tetapi menetapkannya sebagai satu-satunya contoh salah. Itu tidak menunjukkan seluruh kelas masalah yang dapat diselesaikan dengan menggunakan mesin negara yang terbatas. Di bawah ini saya akan menunjukkan bagaimana saya akan melengkapinya.

State diagram 0-1-2-3-4-5:

Status biner yang ditulis dalam tiga D-flip-flop:

Skema kombinatorial yang menerima status baru dari yang lama:

Dan akhirnya, manga menunjukkan bagaimana merancang skema yang sama bukan dengan menggambar dengan mouse di layar, tetapi dengan mensintesis bahasa deskripsi perangkat keras Verilog. Walaupun kode ini terlihat seperti kode bahasa pemrograman seperti Pascal atau Java, kode ini memiliki sifat yang berbeda secara mendasar. Tujuan kode pada veril adalah untuk berubah menjadi sirkuit, dengan kabel dan transistor. Dan kode dalam bahasa pemrograman dikompilasi menjadi rantai instruksi, nol dan yang disimpan dalam memori [jelas bahwa Verilog dan Java dapat ditafsirkan + kode di Verilog dapat berubah menjadi nol dan yang untuk konfigurasi FPGA + Java dapat diterjemahkan ke Verilog dan juga menjadi diagram, tetapi ini adalah detail yang tidak berkontribusi pada pemahaman awal]:



Sekarang, seolah-olah, saya melengkapi contoh tentang mesin negara hingga. Saya akan membuat contoh yang lebih interaktif dari mesin negara yang terbatas, misalnya, menggunakan analogi dengan apa yang disebut "ruang Cina". Berikut ini uraian saya tentang ruang China, yang dihapus oleh editor dari artikel saya satu dekade lalu di The New Times (majalah ini tidak hanya tentang politik, tetapi juga memiliki teknologi populer):
Pada 1980, salah satu pengkritik kecerdasan buatan, John Searle, mengemukakan argumen elegan yang disebut "ruang Cina." Misalkan di masa depan ada versi program Eliza yang berbicara bahasa Cina dengan sangat baik sehingga orang Cina tidak dapat membedakan komputer dari seseorang. Sekarang anggaplah seseorang akan menyalin program ini ke dalam sebuah buku tebal dengan instruksi mekanis untuk seseorang - jika Anda melihat karakter A dan sebelum Anda melihat karakter B, maka hapus karakter C dari kotak. Sekarang kami menempatkan orang tertentu yang tidak mengenal bahasa Cina di ruangan tertutup dengan buku ini dan akan menyodoknya di bawah tanda-tanda pintu dengan hieroglif yang berisi pertanyaan dalam bahasa Cina. Mengikuti instruksi mekanis dari buku, seseorang akan menemukan di dalam kotak dan mendorong kembali tanda-tanda lain dengan hieroglif. Dari perspektif pengamat luar, ruangan itu akan "mengerti" dan "berbicara" dalam bahasa Cina. Tetapi siapakah pembawa pikiran ini? Lagipula, penampilnya tidak mengerti bahasa Cina?
John McCarthy dan veteran intelijen buatan lainnya segera menyatakan bahwa akal dan bahkan kesadaran akan memanifestasikan dirinya dalam "kepribadian virtual" atau dalam "proses" yang dilakukan di ruangan ini. Salah satu argumen elegan terhadap John Searle diajukan oleh para filsuf Paul dan Patricia Churchland. Seperti yang kita ketahui dari fisika, Churchlands berpendapat, cahaya adalah gelombang elektromagnetik. Misalkan seorang skeptis mulai menggerakkan magnet dengan tangannya, tidak melihat cahaya, dan mulai mengklaim bahwa cahaya itu tidak mungkin. Bahkan, untuk mendapatkan cahaya, Anda perlu melambaikan magnet pada kecepatan 450 miliar stroke per detik. Jadi kesadaran rasional, Churchlands berpendapat, akan muncul di "ruang Cina" jika pemain itu cukup gesit.
Sangat menarik bahwa penulis fiksi ilmiah Ukraina Anatoly Dneprov menggambarkan analog dari "Ruang Cina" pada tahun 1950-an dalam cerita "The Game".
Jadi disini. Untuk perkuliahan dan materi saya sendiri, saya memberikan contoh di mana mesin keadaan terbatas (FSM) dalam menanggapi urutan sejumlah karakter "beruang" dan "pohon", dengan karakter terakhir "sains" - menghasilkan urutan karakter "Siberia". Ini adalah "kamar Cina" yang paling sederhana:

Berikut ini diagram keadaannya:

Dari diagram ini, Anda dapat membangun sirkuit dan menerapkannya di papan dengan FPGA.
Suatu hari saya menggunakan kutipan dari manga ini oleh Amano Hideharu dan Meguro Koji ketika saya memberikan ceramah Skype dari California kepada 150 siswa Kazan Innopolis. Siswa mulai mempelajari arsitektur komputer, dan mereka perlu menerobos hambatan kesalahpahaman awal logika digital. Untuk ini, manga ini sangat bagus, terutama jika Anda menggunakannya dalam kombinasi dengan buku pelajaran seperti Harris & Harris "Sirkuit Digital dan Arsitektur Komputer."
Berikut video dari kuliah ini:
Slide untuk ini dan kuliah selanjutnya dapat diunduh di sini:
http://bit.ly/2018-01-25-verilog-1-innopolis-yuri-panchulhttp://bit.ly/2018-02-01-verilog-2-innopolis-yuri-panchulSekarang, banyak pembaca posting tentang FPGA sering memiliki pertanyaan: "Mengapa ini perlu, karena ada lebih banyak karya di Jawa?"
Ini dapat dijawab: menurut situs glassdoor di San Jose, California, perancang sirkuit digital lebih dihargai daripada pengembang Java:


Dan jika pembaca berkata, “Dan apa yang saya butuhkan San Jose? Saya di Rusia dan saya tidak mengancam untuk pergi ke San Jose ”, Anda dapat memberikan contoh baru bahwa pengantin baru dari St. Petersburg menempati posisi pertama di kompetisi Intel InnovateFPGA di Eropa, setelah itu mereka menempati posisi kedua di final dunia di San Jose. Di sini mereka duduk di kantor Intel di San Jose beberapa hari yang lalu. Untuk membuat proyek di FPGA. Mungkin untuk proyek di Java Intel membawa seseorang di San Jose dengan presentasi penghargaan, tapi saya pribadi tidak tahu contoh seperti itu.

Vladislav Sharshin, Andrey Papushin, Yelena Kirichenko -
www.innovatefpga.com/cgi-bin/innovate/teams.pl?Id=EM076
