Lewati ke konten
chip.peruri.co.id

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.

Ruang Lingkup Perancangan Backend

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:

  1. 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.
  2. 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).
  3. 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).

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:

Terminal window
# Menjalankan LibreLane langsung melalui Nix tanpa instalasi manual
nix run github:librelane/librelane -- --version

Selain Nix, LibreLane mengunduh Process Design Kit (PDK) open-source SkyWater 130nm (SKY130) secara otomatis melalui utilitas ciel, yang menyimpannya pada direktori $HOME/.ciel.

  • 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).

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
endmodule

Pada modul ini:

  • Port masukan a dan b bertipe vektor 8-bit.
  • Port keluaran sum bertipe vektor 9-bit untuk mengakomodasi nilai carry-out.
  • Semua sinyal disinkronkan terhadap tepi naik sinyal detak clk.

Konfigurasi parameter eksekusi dinyatakan dalam format YAML ringkas:

DESIGN_NAME: adder
VERILOG_FILES: dir::adder.v
CLOCK_PORT: clk
CLOCK_PERIOD: 20

Parameter CLOCK_PERIOD: 20 menetapkan batas periode detak target sebesar 20 ns, yang ekuivalen dengan frekuensi kerja 50 MHz.

Perintah tunggal berikut memicu seluruh rantai sintesis dan perancangan fisik:

Terminal window
librelane adder.yaml

Alur 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).
Visualisasi Tata Letak GDSII Adder pada KLayout

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.


Evaluasi Bab
Kuis Evaluasi Pemahaman Bab 1: Fondasi EDA & Alur RTL-to-GDSII
Belum selesai
1. Apa perbedaan paling mendasar antara ranah perancangan frontend dan backend dalam alur sirkuit terpadu?
2. Mengapa pada sirkuit contoh 'Hello World' (adder.v) sinyal masukan dan keluaran dihubungkan ke register (pipelined flip-flops)?
3. Jika estimasi luas sel aktif murni dari sintesis Yosys adalah 863.33 um² dan parameter pemanfaatan inti (core utilization) diatur sebesar 50%, mengapa luas area inti die harus lebih besar dari luas sel murni?