Bab 1: Pengantar Desain Sirkuit Terpadu & Hello World Adder
Bab ini membahas fondasi perancangan sirkuit terpadu (integrated circuit - IC) berbasis perangkat lunak terbuka (open-source), mencakup evolusi otomasi desain elektronik (Electronic Design Automation - EDA), arsitektur alur backend, serta implementasi sirkuit pemula (Hello World) berupa rangkaian penjumlah berpipa (pipelined adder) hingga menghasilkan tata letak fisik GDSII.
Perancangan sirkuit terpadu secara garis besar terbagi menjadi dua ranah utama: frontend (pemodelan perilaku logika dan verifikasi fungsional berbasis bahasa deskripsi perangkat keras / HDL) dan backend (transformasi representasi logika menjadi struktur geometris fisik silikon yang memenuhi aturan fabrikasi). Fokus modul ini adalah pada ranah backend hingga file siap dikirimkan ke fasilitas manufaktur silikon (foundry / fab).
1.1 Sejarah dan Perkembangan Perangkat Lunak EDA
Section titled “1.1 Sejarah dan Perkembangan Perangkat Lunak EDA”Pada masa-masa awal industri mikroelektronika, tata letak sirkuit terpadu dirancang secara manual di atas meja gambar. Lapisan fotomask (photomask) diproduksi dengan menempelkan pita fisik (rubylith tape) secara presisi. Karena kompleksitas jumlah transistor meningkat secara eksponensial mengikuti Hukum Moore, metodologi manual tidak lagi memiliki skalabilitas. Kebutuhan tersebut mendorong lahirnya perangkat lunak Computer-Aided Design (CAD) yang kini lebih umum disebut Electronic Design Automation (EDA).
Dalam kuliah umum pada peringatan ke-40 Design Automation Conference (DAC), Alberto Sangiovanni-Vincentelli (salah satu pendiri Cadence Design Systems dan Synopsys) menguraikan evolusi EDA dari masa simulasi sirkuit analog awal hingga sintesis logika otomatis:
- Era Simulasi Rangkaian: Kelahiran SPICE (Simulation Program with Integrated Circuit Emphasis) di University of California, Berkeley pada awal dekade 1970-an, serta ASTAP (Advanced Statistical Analysis Program) oleh IBM.
- Era Optimasi Logika: Pengembangan program minimasi fungsi Boolean Espresso dan sintesis logika otomatis pada pertengahan 1980-an (yang kemudian menjadi cikal bakal algoritma sintetis seperti SIS dan ABC).
- Era Verifikasi Tata Letak: Kemunculan editor Magic VLSI oleh John Ousterhout di UC Berkeley, yang mengintegrasikan aturan pengecekan desain (Design Rule Check - DRC) secara interaktif.
Perangkat-perangkat lunak terbuka modern yang kita gunakan saat ini (Yosys, OpenROAD, Magic, Netgen, ngspice) berpijak pada fondasi riset akademik terbuka tersebut.
1.2 Ekosistem Instalasi Perangkat Lunak Terbuka
Section titled “1.2 Ekosistem Instalasi Perangkat Lunak Terbuka”Keunggulan utama alat bantu open-source adalah ketiadaan hambatan lisensi komersial dan server lisensi yang mahal. Namun, tantangan terbesarnya terletak pada fragmentasi dependensi sistem operasi. Lingkungan Linux adalah platform native yang paling didukung, disusul oleh macOS, sedangkan pengguna Windows sangat disarankan menggunakan Windows Subsystem for Linux (WSL2).
Metode Manajemen Paket Berbasis Nix
Section titled “Metode Manajemen Paket Berbasis Nix”Mulai dari arsitektur OpenLane2 (yang berevolusi menjadi LibreLane), manajer paket Nix menjadi standar distribusi yang direkomendasikan. Nix mengisolasi dependensi biner secara deterministik dan dapat dieksekusi tanpa mengganggu konfigurasi pustaka global sistem:
# Menjalankan LibreLane langsung melalui Nix tanpa instalasi manualnix run github:librelane/librelane -- --versionSelain Nix, LibreLane mengunduh Process Design Kit (PDK) open-source SkyWater 130nm (SKY130) secara otomatis melalui utilitas ciel, yang menyimpannya pada direktori $HOME/.ciel.
Distribusi Alternatif
Section titled “Distribusi Alternatif”- OSS CAD Suite: Koleksi perkakas terkompilasi dari YosysHQ yang dioptimalkan untuk alur kerja FPGA dan simulasi digital.
- YoWASP (Yosys WebAssembly): Porting perangkat sintesis Yosys, nextpnr, dan ekosistem terkait ke dalam format WebAssembly, memungkinkan eksekusi EDA langsung di dalam peramban web maupun ekstensi editor kode.
1.3 Alur “Hello World”: Rangkaian Pipelined Adder
Section titled “1.3 Alur “Hello World”: Rangkaian Pipelined Adder”Sebagai studi kasus pertama, kita merealisasikan sirkuit penambah biner berpipa (pipelined adder) dari kode Verilog hingga tata letak GDSII menggunakan LibreLane. Penambahan register (flip-flop) pada port masukan dan keluaran sangat esensial agar rangkaian dapat dianalisis secara deterministik menggunakan Static Timing Analysis (STA).
Kode Sumber Verilog (adder.v)
Section titled “Kode Sumber Verilog (adder.v)”module adder ( input clk, input [7:0] a, input [7:0] b, output reg [8:0] sum);
reg [7:0] a_reg; reg [7:0] b_reg;
always @(posedge clk) begin a_reg <= a; b_reg <= b; sum <= a_reg + b_reg; end
endmodulePada modul ini:
- Port masukan
adanbbertipe vektor 8-bit. - Port keluaran
sumbertipe vektor 9-bit untuk mengakomodasi nilai carry-out. - Semua sinyal disinkronkan terhadap tepi naik sinyal detak
clk.
Berkas Konfigurasi Alur (adder.yaml)
Section titled “Berkas Konfigurasi Alur (adder.yaml)”Konfigurasi parameter eksekusi dinyatakan dalam format YAML ringkas:
DESIGN_NAME: adderVERILOG_FILES: dir::adder.vCLOCK_PORT: clkCLOCK_PERIOD: 20Parameter CLOCK_PERIOD: 20 menetapkan batas periode detak target sebesar 20 ns, yang ekuivalen dengan frekuensi kerja 50 MHz.
Eksekusi Otomatis RTL-to-GDSII
Section titled “Eksekusi Otomatis RTL-to-GDSII”Perintah tunggal berikut memicu seluruh rantai sintesis dan perancangan fisik:
librelane adder.yamlAlur mengeksekusi sintesis logika Yosys, penempatan sel (placement), sintesis pohon detak (Clock Tree Synthesis - CTS), perutean (routing), ekstraksi parasitik, hingga pembentukan berkas GDSII final dalam waktu di bawah satu menit.
1.4 Analisis Laporan & Metrik Tata Letak Fisik
Section titled “1.4 Analisis Laporan & Metrik Tata Letak Fisik”Setelah alur selesai, direktori runs/ memuat sejumlah laporan analisis penting:
Estimasi Area dan Pemanfaatan Inti (Core Utilization)
Section titled “Estimasi Area dan Pemanfaatan Inti (Core Utilization)”Laporan sintesis Yosys (nn-yosys-synthesis/reports/stat.rpt) memberikan kalkulasi awal komponen sirkuit:
Number of cells: 60 sky130_fd_sc_hd__a31oi_2 1 sky130_fd_sc_hd__and2_2 4 sky130_fd_sc_hd__dfxtp_2 24 sky130_fd_sc_hd__nand2_2 6 ... Chip area for module 'adder': 863.328000 um^2 of which used for sequential elements: 510.489600 (59.13%)- Total gerbang logika dan sekuensial yang dihasilkan adalah 60 sel standar.
- Elemen sekuensial (24 D-Flip-Flop tipe
dfxtp_2) menyerap 59.13% dari total luas sel aktif (863.33 $µm²$). - Luas silikon riil selalu lebih besar dari total luas sel murni karena dibutuhkan ruang cadangan untuk sel tap (tap cells), jaringan distribusi daya (PDN), dan kanal perutean logam. Parameter pemanfaatan inti (core utilization) default pada LibreLane disetel pada angka 50% (
FP_CORE_UTIL: 50).

Gambar 1.1: Tata letak fisik (layout) sirkuit pipelined adder dalam format GDSII yang divisualisasikan melalui KLayout, memperlihatkan cincin daya (power ring), deretan sel standar, dan lapisan interkoneksi logam.