Menguasai Sinkronisasi Reset Asinkron dalam ASIC dan FPGA
Pendahuluan
Reset asinkron adalah garis pertahanan pertama dalam rangkaian VLSI, memastikan semua logika sinkron dimulai dari kondisi yang diketahui setelah power-up. Saat rilis sinyal reset tidak diatur dengan hati-hati dengan domain clock, desainer dapat mengalami kegagalan intermiten yang sulit dilacak—terutama dalam ASIC multi-domain clock yang besar, atau dalam FPGA di mana sinyal reset harus dirutekan ke jutaan flip-flop.
Tantangan Reset Asinkron
Di luar sinkronisasi, lebar jaringan reset asinkron secara signifikan menantang routing dan area. Masalah ini bertambah dengan jumlah domain clock dan fan-out yang diperlukan, memerlukan solusi yang mirip dengan Clock Tree Synthesis (CTS) dalam hal alokasi resource.
Gambaran Umum Seri
Bagian 1: Identifikasi masalah sinkronisasi dan pendekatan mitigasi tradisional.
Bagian 2 (artikel ini): Teknik lanjutan untuk distribusi reset yang lebih cepat dan lebih andal dalam ASIC dan FPGA.
Bagian 3: Solusi kasus khusus dan tips praktis.
2. Teknik Konvergensi Waktu Reset Asinkron
Desain besar dengan jaringan reset high-latency seringkali kesulitan dengan siklus clock pendek yang diperlukan oleh logika modern. Optimasi Static Timing Analysis (STA) konvensional dapat menjadi terlalu mahal atau bahkan tidak dapat dilakukan. Dua teknik yang terbukti—reset pipelining dan pembatasan fan-out—menawarkan jalur yang dapat diskalakan ke konvergensi untuk implementasi ASIC dan FPGA.
2.1. Pipelining Reset Asinkron
Ide intinya adalah bertukar keterlambatan satu siklus dalam rilis reset untuk anggaran waktu yang lebih longgar. Dengan memasukkan flip-flop asynchronous-set tambahan (P1) setelah setiap synchroniser, input SET dan D menerima sinyal reset active-high yang sama (RSTO). Saat RSTO deasserts, kendala setup dan hold dari stage baru terpenuhi seolah-olah merupakan jalur sinkron reguler.
klik untuk gambar lebih besar Gambar 6: Reset asinkron dengan pipelining (Sumber: vSync Circuits)
Secara fungsional, pipeline berperilaku seperti pohon reset standar yang dijelaskan dalam Bagian 1, dengan pengecualian keterlambatan satu siklus pada rilis. Keterlambatan ekstra ini biasanya tidak signifikan karena terjadi hanya sekali per power-up.
Kendala desain memainkan peran penting. Sementara flip-flop synchroniser harus dilindungi dari duplikasi (untuk menghindari masalah jalur re-konvergensi yang dibahas dalam Bagian 1), stage P1 dibatasi oleh aturan MAX_FANOUT. Misalnya, fan-out 8 biasanya cukup untuk output synchroniser. Saat stage P1 mencapai batas fan-out, alat sintesis secara otomatis menduplikasi flip-flop, menciptakan beberapa sub-jaringan masing-masing dengan latensi lebih rendah, seperti diilustrasikan dalam Gambar 6b.
Karena duplikasi ditangani secara otomatis, teknik ini menskala dengan lancar saat desain tumbuh atau berubah. Jika satu stage pipeline tidak mencapai konvergensi waktu, stage tambahan (P2 – PN) dapat dimasukkan, masing-masing dibatasi oleh nilai MAX_FANOUT sendiri.
Ilustrasi teknik ini dalam desain nyata ditunjukkan dalam Gambar 7. Di sini, stage P1—disebut PORT6—diduplikasi sekitar 40 kali oleh alat sintesis untuk memenuhi kendala fan-out. Setiap sub-jaringan memenuhi waktu yang diperlukan, mengonfirmasi efektivitas metode ini dalam desain besar dan kompleks.
klik untuk gambar lebih besar Gambar 7: Contoh pipelining reset asinkron (Sumber: vSync Circuits)