Lapisan Abstraksi Desain: Panduan Jelas untuk Arsitektur Chip
Sebelum kita melihat lebih banyak detail bahasa Verilog, akan baik untuk memahami lapisan abstrak yang berbeda dalam desain chip.
Lapisan teratas adalah arsitektur tingkat sistem yang mendefinisikan berbagai sub-blok dan mengelompokkannya berdasarkan fungsionalitas. Misalnya, kluster prosesor akan memiliki beberapa inti, blok cache, dan logika kohesi cache. Semua ini akan dienkapsulasi dan direpresentasikan sebagai satu blok dengan sinyal input-output.
Pada tingkat berikutnya, setiap sub-blok ditulis dalam bahasa deskripsi hardware untuk menggambarkan secara akurat fungsionalitas setiap blok individual. Detail implementasi tingkat rendah seperti skema sirkuit dan perpustakaan teknologi diabaikan pada tahap ini. Misalnya, blok pengontrol akan akhirnya memiliki beberapa file Verilog yang masing-masing menggambarkan komponen lebih kecil dari fungsionalitasnya.
HDL kemudian dikonversi menjadi skema tingkat gerbang yang juga melibatkan perpustakaan teknologi yang mengkarakterisasi elemen digital seperti flip-flop. Misalnya, sirkuit digital untuk D latch berisi gerbang NAND yang diatur dalam pola tertentu sehingga semua kombinasi input D dan E menghasilkan output Q yang diberikan oleh tabel kebenaran.
Tabel kebenaran pada dasarnya memberikan permutasi semua tingkat sinyal input dan tingkat output yang dihasilkan dan yang diberikan di bawah ini adalah untuk D latch dengan pin enable. Skema hardware juga dapat diturunkan dari tabel kebenaran menggunakan logika boolean dan peta K. Namun, tidak praktis untuk mengikuti metode ini untuk blok digital yang lebih kompleks seperti prosesor dan pengontrol.
Implementasi gerbang NAND dilakukan dengan koneksi transistor CMOS dalam format tertentu. Pada tingkat ini, lebar saluran transistor, Vdd, dan kemampuan untuk memicu beban kapasitif output dipertimbangkan selama proses desain.
Langkah terakhir adalah tata letak transistor ini pada silikon menggunakan alat EDA sehingga dapat diproduksi. Pada tingkat ini, beberapa pengetahuan perangkat dan teknologi akan diperlukan karena tata letak yang berbeda akan memiliki properti fisik yang berbeda seperti resistansi dan kapasitansi di antara implikasi lainnya.
Gaya Desain
Selanjutnya, terdapat terutama dua gaya yang diikuti dalam desain blok digital, yaitu metodologi top-down dan bottom-up.
Top-Down
Dalam gaya ini, blok tingkat atas pertama kali didefinisikan bersama dengan identifikasi sub-modul yang diperlukan untuk membangun blok atas. Demikian pula, setiap sub-blok lebih dibagi lagi menjadi komponen yang lebih kecil, dan proses ini berlanjut hingga kita mencapai sel daun atau tahap di mana tidak dapat dibagi lagi.
Bottom-up
Dalam kasus ini, tugas pertama adalah mengidentifikasi blok bangunan yang tersedia. Kemudian mereka digabungkan dan dihubungkan dengan cara tertentu untuk membangun sel yang lebih besar dan digunakan untuk menyusun kembali blok tingkat atas.
Biasanya, kombinasi dari kedua alur digunakan. Arsitek mendefinisikan tampilan tingkat sistem dari desain, dan desainer mengimplementasikan logika dari setiap blok fungsional dan disintesis menjadi gerbang. Gaya top-down diikuti hingga titik ini. Namun, gerbang ini telah dibuat mengikuti alur bottom-up dimulai dengan tata letak fisik dari blok terkecil dalam area, kinerja, dan daya yang terbaik. Sel standar ini juga memiliki skema hardware dan dapat digunakan untuk mendapatkan berbagai informasi seperti waktu rise dan fall, daya, dan keterlambatan lainnya. Sel ini dibuat tersedia untuk alat sintesis yang memilih dan membuat instance mereka di mana diperlukan.