alur perancangan dalam field programmable gate array (fpga) dan application spesific integrated...
DESCRIPTION
Semakin kecil suatu desain floorplan dalam menerapkan teknologi chip, maka semakin efisien dan efektif dalam mencari optimasi aplikasi FPGA dan ASIC. Alur dalam suatu perancangan menentukan valid atau tidaknya suatu hasil akhir dari perancangan. Pengambilan keputusan dalam menerapkan alur yang salah bisa menyebabkan ketidakpastian dalam validitas rancangan sehingga hasilnya tidak optimal. Faktor penggunaan bahasa deskripsi perangkat keras (hardware description language), baik Very high speed integration circuit Hardware Description Language (VHDL) atau Verilog, sangat mempengaruhi dalam menerapkan teknik perancangan, juga faktor kompiler yang digunakan akan mensintesis kode desain menjadi suatu bentuk netlist yang digunakan dalam placement and routing dalam implementasi FPGA dan ASIC.TRANSCRIPT
1
Alur Perancangan dalam Field Programmable Gate Array (FPGA)
dan Application Spesific Integrated Circuit (ASIC)
Ferry Wahyu Wibowo1
Jurusan Teknik Informatika, STMIK AMIKOM Yogyakarta,
Jl. Ring Road Utara, Condong Catur, Sleman, Yogyakarta – Indonesia
ABSTRAK Semakin kecil suatu desain floorplan dalam menerapkan teknologi chip, maka semakin efisien
dan efektif dalam mencari optimasi aplikasi FPGA dan ASIC. Alur dalam suatu perancangan
menentukan valid atau tidaknya suatu hasil akhir dari perancangan. Pengambilan keputusan
dalam menerapkan alur yang salah bisa menyebabkan ketidakpastian dalam validitas rancangan
sehingga hasilnya tidak optimal. Faktor penggunaan bahasa deskripsi perangkat keras
(hardware description language), baik Very high speed integration circuit Hardware
Description Language (VHDL) atau Verilog, sangat mempengaruhi dalam menerapkan teknik
perancangan, juga faktor kompiler yang digunakan akan mensintesis kode desain menjadi suatu
bentuk netlist yang digunakan dalam placement and routing dalam implementasi FPGA dan
ASIC.
Kata Kunci : ASIC, floorplan, FPGA, Verilog, VHDL
I. Pendahuluan
Seiring peningkatan density (kerapatan), kompleksitas, dan makin kecilnya dimensi
integrated circuit (IC), placement and routing atau desain fisik dari sebuah IC menjadi semakin
kompleks dan sedikit sulit diprediksi. Alat-alat sintesis (Synthesis tools) sekarang membuat tarik-
menarik kepentingan antara pewaktuan (timing) dan area dimana IC tersebut akan
diimplementasikan, tetapi secara khusus mereka mempunyai sedikit akses untuk melakukan
placement dan routing data untuk desain tersebut. Sebagai hasilnya, placement dan routing
menjadi sesuatu yang sulit terlaksana untuk desain sintesis yang sangat kompleks. Dengan
sedikitnya akses ke data desain fisik, synthesis tools dapat kehilangan tujuan timing sebanyak
100% berdasarkan estimasi versus sambungan sesungguhnya.
I.1 Tunda Interkoneksi
Meningkatnya jumlah desain pada level submicron dan deep submicron menyebabkan
kelambatan hubungan (interconnect delay). Kelambatan ini disebabkan oleh placement dan
routing dari gerbang logika dalam sebuah IC. Hal ini berpengaruh terhadap kelambatan
penghitungan total (delay calculation) dari IC tersebut. Gambar 1 memperlihatkan kontribusi
dari interconnect delays dan gate delay pada keseluruhan tunda dari sebuah desain pada tingkat
submicron.
2
Gambar 1. Kontribusi relatif dari interconnect delay terhadap delay total
(Browy, C., et.al., 1997)
Synthesis tools digunakan untuk memperkirakan interconnection delay tersebut
berdasarkan informasi fanout dan model kabel statistik (statistical wire models). Model kabel
menggolongkan interconnection delay rata-rata yang disebabkan oleh panjang kabel, kapasitasi,
dan resistansi. Jumlah informasi fisik yang sangat terbatas ini menyebabkan perkiraan delay
menjadi sering error. Hal ini merupakan hal yang biasa jika diperoleh 50% error untuk desain
0.5μ dan 100% error untuk desain 0.25μ pada jumlah timing yang dihasilkan oleh synthesis
tools. Penting untuk dicatat bahwa error tersebut dapat terjadi pada masing-masing arah. Sebagai
contoh, estimasi pewaktuan bisa lebih besar dari pewaktuan yang sebenarnya. Hal ini akan
menghasilkan sistem yang overdesign. Desain yang mengikuti aturan diatas 0.7μ, derajat error
ini dapat dikompensasi untuk placing dan routing secara otomatis. sedangkan desain yang
mengikuti aturan di bawah 0.7μ, derajat error ini secara signifikan mengurangi kemungkinan
untuk memperoleh performance maksimal.
Desain yang sulit dalam proses placing dan routing atau desain yang mempunyai masalah
timing yang signifikan yang disebabkan oleh interconnect delay bisa menghasilkan desain yang
mahal jika error tersebut tidak ditemukan sampai seluruh desain telah melalui tahap placing dan
routing. Strategi yang digunakan untuk mengatasi masalah ini adalah dengan menggunakan
floorplanning tool untuk melakukan persiapan penempatan gerbang-gerbang logika dan untuk
memperkirakan interconnect delay pada sebuah IC. Selain itu, floorplanning tool digunakan juga
untuk memperkirakan interconnect delay berdasarkan penempatan gerbang logika yang telah
dilakukan. Informasi timing ini selanjutnya dapat digunakan untuk menentukan sintesis front-
end, simulasi, dan timing tool untuk hasil yang lebih akurat.
I.2 Paket IC
Beberapa hal yang harus diperhatikan dalam pendesainan suatu IC diantaranya adalah
sebagai berikut :
1. Pemilihan kemasan (packaging)
Pemilihan kemasan sangat dibutuhkan oleh perancang IC. Beberapa hal yang harus
diperhatikan dalam pemilihan package ini diantaranya jumlah pin I/O, jumlah daya yang
didisipasikan oleh rangkaian, space yang dibutuhkan jika IC tersebut dipasang dalam
sebuah board (dimensi), harga kemasan, frekuensi kerja maksimum, dan ketahanan
(reliability). Masalah packaging ini akan terus mendominasi aktivitas floorplanning
3
mulai dari level microarchitectural refinements, detailed modeling sampai high level
floorplans.
2. High frequency switching
Switching frekuensi tinggi dari input dan output dapat dihasilkan oleh pemisahan power
dan ground untuk input, clock, output, inti logika untuk mengeliminasi switching yang
salah dari bouncing ground. Desain frekuensi tinggi juga menghasilkan masalah
integritas sinyal lain yang berhubungan dengan induktansi kemasan dan beban piranti.
Pengetahuan tentang spesifikasi rangkaian resistansi, induktansi dan konduktansi (RLC)
tertentu untuk pin sinyal, pin power, dan pin ground, sangat membantu untuk
menentukan frekuensi maksimum dari suatu IC dalam suatu lingkungan.
3. Jumlah pin
Masalah sistem integrasi suatu IC kedalam board juga merupakan suatu masalah yang
tidak kalah penting dalam mendesain suatu IC. Jumlah pin IC berbanding lurus dengan
tingkat kesulitan routing. Makin banyak jumlah pin IC, maka semakin padat routing yang
akan dihasilkan, dan sebaliknya. Penempatan lokasi pin perlu ditentukan diawal proses
desain suatu IC untuk memastikan bahwa nantinya IC tersebut akan terintegrasi dengan
baik dalam suatu board. Proses awal dari sistem floorplanning dimulai dengan proses
penempatan pin-pin dari IC tersebut.
Pada akhirnya, daya dan bahan kemasan dari suatu IC (plastik, keramik, dan sebagainya)
merupakan dua hal yang mengambil porsi paling besar dalam menentukan harga dari suatu IC.
Konsumsi daya terbesar didasarkan pada distribusi clock. Beban kapasitif yang besar dan
frekuensi tinggi dapat memakan 40-50% dari konsumsi daya. Untuk itu, perencanaan daya awal
dari microarchitecture pada sistem tingkat tinggi merupakan suatu hal yang krusial.
Estimasi daya merupakan suatu hal yang penting untuk menentukan package alternatif
yang masih diizinkan dan alokasi tempat pada board yang dibutuhkan. Pemilihan kemasan
alternatif ini sebagai akibat dari kondisi suhu yang berbeda yang harus dipahami dengan baik
karena hal ini berhubungan dengan dimensi fisik dari kemasan, persyaratan pendingin, dan
penggunaan heat sink. Ketahanan IC juga didasarkan pada kondisi suhu kondisi operasi.
II. Tujuan dari Timing-Driven Design Methodology
Tujuan dari timing-driven design methodology adalah untuk menghasilkan struktur netlist
HDL (Hardware Description Language) yang dapat dengan mudah di tempatkan dan di-route
oleh vendor dan sesuai dengan persyaratan timing yang diinginkan setelah placing dan routing.
Tujuan tersebut harus tercapai untuk menggunakan floorplanning tingkat tinggi untuk
menghasilkan parasitic delay yang terukur, mengendalikan sintesis dengan parasitic terukur,
melakukan estimasi delay diawal untuk timing-critical blocks dan melakukan analisis timing
dinamis dan statis.
II.1 Floorplanning dan Placement
Floorplanning tools adalah sebuah graphical tools (alat yang bersifat grafik) yang
memungkinkan desainer untuk melakukan desain fisik tingkat tinggi dengan penempatan blok
logika di area tertentu di dalam IC, perencanaan sistem clock dan distribusi daya, penempatan sel
I/O dan pin blok internal, routing tingkat bus atas dan membangkitkan model kabel yang sesuai
pesanan (custom).
Floorplanning menyediakan informasi yang berguna tentang desain fisik pada semua
tingkat proses desain top-down. Floorplanning juga bisa melakukan analisis termasuk analisis
4
tree timing dan analisis routability (kemampuan untuk melakukan routing). Perancang akan
memulai dengan mengembangkan partisi fungsional dan paket rencana inisial IC. Selain itu,
perancang juga akan melihat persyaratan driving chip, untuk memastikan gabungan dalam desain
floorplan. Tahap floorplanning harus dimulai pada awal subsistem pengembangan model yang
mengikuti fungsional unit partisi.
Desain floorplan dan hasil analisis langkah-langkah dalam menghasilkan file kontrol atau
script file yang diperlukan akan digunakan untuk otomasi dan mengendalikan placement dan
routing untuk mencapai persyaratan yang diinginkan, yaitu persyaratan ukuran Die, pemanfaatan
baris, pemetaan halangan dan kemacetan, ketidakleluasaan file (crosstalk, path, net), sinyal kabel
lebar routing kendali, persyaratan clock tree, power, distribusi ground, routing kendali, dan
persyaratan teknologi / kecepatan. Hal tersebut penting bagi perancang untuk
mempertimbangkan semua faktor, dalam rangka mewujudkan tujuan dari desain tersebut,
kecepatan rancangan, kepadatan (density), pilihan teknologi, atau konsumsi power
II.2 High-Level Floorplans
Sebuah sistem akan diimplementaikan dalam sebuah IC atau multiple-chip module
(MCM), perancang bisa menggunakan high-level floorplans yang dihasilkan dengan floorplaning
tools untuk menyelidiki lebih jauh tentang paket IC yang diperlukan serta pembagian sistem
pada physical domain. High-level floorplans menetapkan letak blok desain, global routing
resource termasuk clock domain, lokasi pin I/O, distribusi daya dan ground, pemisahan area dan
pengaturan timing (waktu), membuat model untuk estimasi interkoneksi, dan ringkasan informasi
batas kondisi. Blok bisa berupa analog dan digital macros, jalur data (datapath), cell khusus atau
cell standar. Perancang memakai informasi ini untuk memperoleh sintesis waktu dan batas
muatan.
Tujuan high-level floorplanning untuk meningkatkan informasi estimasi interkoneksi
blok-level, bagian letak, dan segi perbandingan kedalam proses desain secepat mungkin.
Estimasi ini mengijinkan peralatan downstream untuk bekerja dengan lebih akurat dan informasi
yang layak daripada “guesswork”/ terkaan , yang bisa menyebabkan iterasi back-end berkali-
kali, atau estimasi/perkiraan terburuk, yang menyebabkan over desain. Gambar 2 menunjukkan
high level floorplan yang terdiri dari berbagai blok dari sebuah IC, terdiri dari blok kendali
(control), random-access memory (RAM), read-only memory (ROM) dan digital signal
processing (DSP).
Gambar 2. High-Level Floorplan (Browy, C., et.al., 1997)
5
II.3 Floorplanning terperinci
Sebelum estimasi delay dan verifikasi timing, harus dibuat floorplan yang detail untuk
keseluruhan desain. Minimal pihak penyedia memberi alat pemisah yang menetapkan logika
pada wilayah/bagian untuk estimasi interkoneksi yang lebih akurat. Tipe algoritma pemisah
(clustering) ini menjadi tidak memadai untuk desain yang terlalu kecil karena akurasi informasi
delay tidak diketahui sampai penempatan dan global route dilakukan. Tanpa tingkat akurasi ini
dari awal, analisis waktu dan pengecekan aturan desain bisa menyesatkan, menyebabkan iterasi
yang mahal pada saat placement dan routing.
Kesulitan dengan placement requirement adalah rencana dasar secara detail harus dibuat
sebelum estimasi delay dan verifikasi waktu (saat akurasi < 5%). Sehingga sangat dianjurkan
bagi para perancang melakukan penempatan dengan cepat dan analisis waktu untuk menentukan
wilayah timing-critical dan kemudian iterasi sepanjang sintesis jika diperlukan koreksi pada
wilayah ini.
Beberapa alat vendor sudah termasuk perencanaan dasar dalam penafsir delay dan alat
pengecek aturan desain. Ini membuat delay yang lebih akurat dan prediksi load. Pada hal ini,
lokasi pin I/O seharusnya juga diketahui dan termasuk sebagai bagian dari floorplan (lihat
gambar 3).
Gambar 3. Detailed Chip Floorplan (Browy, C., et.al., 1997)
II.4 Timing-Driven Synthesis
Untuk memperoleh hasil pewaktuan yang akurat dari sintesis memerlukan beberapa hal
antara lain: melakukan pengaturan yang akurat terhadap batasan pewaktuan, memakai
pemodelan yang tepat, mengatur batas pengisian yang akurat dan mengunakan perkiraan dari
data yang ada.
Batas pewaktuan terdiri dari waktu mulainya sinyal, waktu yang diperlukan, dan waktu
yang ingin ditetapkan, periode clock, kesalahan nilai clock. Mulainya sinyal sekuensial dan
waktu yang diperlukan diatur sesuai dengan clock pertama. Dengan kata lain masukan sekuensial
dihasilkan dari clock pertama dan dimulai setelah beberapa perambatan delay. Keluaran
sekuensial juga diatur oleh clock pertama dan baru muncul setelah beberapa delay. Batasan
waktu yang dibutuhkan memerlukan alat sinteis untuk memastikan nilai perambatan delay tidak
6
melebihi waktu yang dibutuhkan. Kombinasi dari waktu kedatangan dan waktu yang dibutuhkan
diatur saling berhubungan satu sama lain.
Gambar 4. Jalur Pewaktuan Dasar Melalui Modul (Browy, C., et.al., 1997)
Alat sintesis menghitung waktu pewaktuan dengan cara sebagai berikut, jalur dicari
menggunakan informasi pengkutuban (polarity) cell (cell pembalik/bukan pembalik), jalur
dimulai pada alat penyimpan termasuk delay clock yang menghasilkan keluaran, jalur clock
diasumsikan ideal (tidak ada delay penyimpanan yang disertakan). Nilai perhitungan pengaturan
dan penahanan didasarkan diagram pada gambar 5.
Gambar 5. Pengecekan Pewaktuan (Browy, C., et.al., 1997)
Batasan nilai clock harus diatur di setiap node clock. Ini bisa jadi masukan dari modul
atau node internal. Batasan clock harus diatur sehingga nilai pertama adalah satu. Hal tersebut
menyederhanakan pengaturan waktu datang. Nilai kesalahan (skew) bisa ditambahkan sebelum
atau sesudah batasan nilai clock. Penting untuk mengetahui makna dari skew dalam konteks alat
sintesis. Untuk mengerti maksudnya dapat dimulai dari dua diagram pada gambar 6 dan 7.
Gambar 6. Distribusi clock (Browy, C., et.al., 1997)
7
Gambar 7. Bentuk gelombang clock (Browy, C., et.al., 1997)
Skew adalah kondisi terburuk dari perbedaan waktu datang flip-flop chip sejenis yang
mengendalikan satu sama lain dengan cycle waktu yang sama. Pada gambar 6, distribusi clock
dapat dilihat bahwa FFA mengendalikan FFB melalui beberapa kombinasi awan logika. Yang
bisa disederhanakan dengan kabel. Probenya terletak pin masukan clock dari FF. Nilai perbedaan
skew ditandai pada kotak yang bertuliskan “On-chip clock network differences”. Idealnya skew
digunakan pada nilai minimum perhitungan jalur pewaktuan, namun fungsi ini biasanya tidak
selalu didukung oleh alat sintesis.
Pada kasus perbedaan nilai waktu datang antara chip flip-flop yang sejenis yang
mengendalikan satu sama lain selama satu clock cycle berlawanan dengan waktu clock cycle. Hal
tersebut ditunjukkan pada gambar 7. Skew ini yang digunakan oleh alat sintesis. Skew atau suatu
pergeseran fase adalah suatu keadaan yang berbeda dari clock yang datang berkali-kali diantara
kebanyakan dari dua sistem flip-flop yang saling memicu satu sama lainnya di dalam siklus clock
yang berbeda dikurangi waktu siklus clock. Hal ini merupakan pergeseran clock yang seharusnya
digunakan ketika menghitung suatu sistem timing. Sistem timing itu akan memasukkan
skew/pergeseran dari board-level clock distribution network, perbedaan dalam clock distribution
delay on-chip sebagai referensi dari clock input pin, dan banyaknya komponen clock dimasukkan
kedalam salah satu dari on-chip dan/atau dari board.
II.5 Model Pengkabelan
Synthesis tool yang secara umum memilih dasar model kabel pada ukuran dari blok arus
yang digabung. Hal ini direkomendasikan untuk kepastian satu model kabel spesifik untuk tiap
dasar menjalankan sintesis di dalam ukuran pada sasaran daerah penempatan physical. Hal ini
membutuhkan pengetahuan dari vendor perencanaan tool dan metodologi desain physical.
Synthesis tool melakukan atau atau lebih dari aturan desain untuk melakukan pengecekan selama
proses optimisasi :
Maxload <= Cout + + Cwire
Maxfanout <=
Maxtransition <= [Cout + + Cwire]*DriveFactorMaximum
Secara khusus, salah satu atau keduanya dari maxload atau maxfanout digunakan salah satunya
(tidak keduanya). Maxtransition merupakan suatu pilihan. Sintesis diujikan untuk memenuhi
semua aturan pengecekan jika dimungkinkan. Untuk menjamin hasil sintesa akhir melewati
aturan pengecekan desain dari vendor, ini sangat dibutuhkan bahwa batas modul yang tepat
untuk memasukkan suatu kondisi dan model kabel yang digunakan. Sebagai contohnya, jika
perencana / vendor membagi desain ke dalam 5 K blok gerbang di sebuah base array 100 K,
8
pengisian kabel dari top level block interconnect harus dimasukkan ke dalam batas pembacaan
dari tingkat modul yang lebih rendah.
Gambar 8. ASIC Gate Array Floorplan (Browy, C., et.al., 1997)
Model-model pengkabelan model worst-case routing, menandakan bahwa keluaran dari
modul-modul yang melintasi partisi desain fisik harus dapat digunakan paling sedikit untuk men-
drive sebuah beban worst-case. Oleh karena itu, keluaran beban paksaan harus disesuaikan
ketika blok-blok tersebut disintesis. Hal tersebut memastikan bahwa buffer dapat dimasukkan
pada top-level pada waktu drive optimization. Pembebanan paksa menentukan kondisi batas dari
modul. Perancang dapat menentukan kekuatan drive (tahanan) dari sebuah masukan mendekati
maksimum beban dari gerbang yang mengendalikan masukan. Pendekatan ini memungkinkan
masukan dengan internal fanouts yang besar untuk sewajarnya ditahan dan dihitung untuk
pengkabelan dan pembebanan delay dari port masukan ke fanout. Dengan cara yang sama, pada
keluaran, pembebanan paksa menjamin bahwa output modul disangga dengan baik.
Beberapa garis pedoman untuk menetapkan paksaan tersebut adalah tahanan masukan
harus diatur untuk tahanan dari sebuah gerbang dasar (NAND2, dan sebagainya), maksimum
masukan beban harus diatur leih kecil dari maksimum beban dari gerbang dasar (NAND2, dan
sebagainya) ditambah beban kabel dari perkiraan jumlah fanouts, keluaran beban harus diatur
lebih besar dari satu pengkabelan beban (gunakan model pengkabelan yang tepat) ditambah
dengan satu standar beban, dengan library yang sesuai, hal ini dapat ditingkatkan.
Modul A, B, dan C dimana setiap pensintesisan secara terpisah dengan sebuah keluaran
beban paksaan dari 120pF digunakan, sehingga setiap modul keluaran dapat memicu paling
sedikit sebuah beban kabel (diestimasikan menggunakan model pengkabelan 100K ) antara blok-
blok pada tingkat atas (top-level). Sebagai hasilnya, sebuah 2X penyangga dimasukkan
(maksimum beban = 128pF) untuk memicu keluaran. Sebuah model kabel 5K digunakan
sehingga internal interconnect dari setiap blok dapat dipicu dengan baik.
Tingkat netlist yang lebih rendah digabungan dan sebuah top-level yang
mengoptimisasikan jalannya proses dengan menggunakan model pengkabelan 100K. Karena CW
memiliki sebuah dua fanout, diperkirakan mencapai 200pF. Ketika buffer 2X mengalami
overload, sebuah buffer 4X dimasukkan ke pemicu beban 200pF (CW2). Ketika buffer 2X
sedang memicu keluaran dari modul A, hal tersebut cukup dapat memicu CW1 dan beban
standar dari penyangga 4X (121 < 128) (lihat gambar 9).
9
Gambar 9. Drive Optimization
Hal ini sangat penting untuk memahami bahwa jika output modul A dipicu oleh sebuah
gerbang standar dengan beban maksimum dari 32, penempatan dari buffer 4X tidak dapat
dilakukan tanpa menyebabkan DRC menjadi error dalam modul A, sehingga akan dibutuhkan
iterasi lain untuk memecahkan. Perkiraan ini diharuskan untuk memicu sintesis dengan parasitic
(perkiraan kapasitansi dan resistansi dari perencanaan), jika informasi itu tersedia. Tool sintesa
dapat dibaca dalam sebuah file Standart Parasitics Format (SPF) untuk sintesis pemicu timing.
Sintesis ini membutuhkan interconnect capacitance yang telah diekstrak dari SPF dan
penempatan sebuah constraint di dalam port keluaran dari cell yang terpilih.
III. Placement and Route
Keberhasilan dari suatu penempatan tergantung dari dua faktor, yaitu kualitas dari suatu
perencanaan dan akurasi dari pembatas file. Floorplan pada setiap pengalamatan harus
memenuhi syarat untuk menjalankan disain pada urutan untuk mencapai penempatan jalur yang
akan memenuhi tujuan yang diharapkan dalam desain. File pembatas harus membatasi dengan
pembatas yang tepat tanpa terlalu tegang/sempit penggunaan tools penempatan. Histogram dari
net delay dihasilkan setelah perpaduan (sintesis) atau pemeriksaan pewaktuan harus terlebih
dahulu menentukan persentase dari jarring total yang dibutuhkan untuk membatasi dan dan apa
10
yang bisa dibatasi. Beberapa penempatan dapat dijalankan secara simultan dengan pengaturan
pembatasan yang berbeda untuk mendapatkan desain terbaik. Setelah penempatan dapat
mencapai hal yang diinginkan, pengendali khusus file menyebabkan floorplaning dapat
dieksekusi. Lalu, file ini akan menjadi otomatis dan pengendali clock pohon sintesis, jarring
kabel lebar dan syarat khusus lainnya. Setelah setiap langkah pada proses penempatan,
pemampatan dan anotasi (catatan) balik pada sintesis dan verifikasi pewaktuan dapat bekerja.
Akurasi dari keduanya diperkirakan dan pemanfaatan data sangat penting sebagai jaminan
mudahnya pendeteksian dan kemungkinan adanya masalah pewaktuan. Rekomendasi ini sebagai
catatan balik hirarki tingkat blok gerbang logika pada pasangan logika yang disimulasikan. Hal
tersebut akan memasukan netlist baru, sebagai contoh, penerapan clock pohon sintesis.
Pada proses, semua floorplaning yang telah lengkap, macro block dan cell standar
mendapat kedudukan. Selama fase routing pada proses desain, perancang akan membutuhkan
untuk melengkapi setiap routing khusus bahwa sebelum menyalurkan selama floorplaning.
Pengendali routing khusus secara khas diperlukan untuk routing tegangan, daya, dan clock-net.
Konfigurasi clock-net tree akan melewati pembuatan dan kedudukan atau setiap otomasi clock
tree synthesis. Hasil routing menyeimbangkan untuk memenuhi target tunda dan meminimalkan
kesalahan diantara lembaran cell pada setiap tingkat clock dan diantara tingkatnya. Kesuksesan
pada langkah-langkah routing tergantung pada kualitas dari sebelum langkah tersebut.
Penempatan dapat membuat sumber routing dan kemacetan dalam banyak pertimbangan akan
menjadi masalah dalam desain route. Beberapa fakta menunjukan laporan dalam setiap tingkatan
routing mempertahankan syarat untuk desain. Sebagai contohnya pada variable crosstalk,
kesalahan pengkabelan, critical nets, logika phantom, dan clock tree buffering.
Routing daya sebelum diaplikasikan pada setiap floorplaning akan memasukan setiap
jaringan daya diantara disain input/output (IO) dan melewati jalur-jalur daerah penempatan cell.
Block macro dan cell standar akan dibutuhkan agar mempunyai koneksi pada daya sebelum di-
route. Hal ini akan berupa kombinasi dari automasi dan manual routing dengan mempertahankan
jenis pin-pin daya dan menunjuk koneksi yang diinginkan. Setelah aplikasi route khusus telah
lengkap, global routing akan menjalankan jaringan sinyal pada penempatan sumber routing
yang ada pada disain. Fungsi routing secara umum dapat membuat layout dasar pengkabelan
secara kasar dan menghasilkan halangan dari pengkabelan khusus, pengkabelan clock dan
penempatan. Fungsi global routing dapat terlihat pada seluruh desain dan bekerja untuk
menyeimbangkan gangguan pengkabelan dengan meminimalisasi panjang pengkabelan. Pada
akhir routing akan membuat dasar sinyal nets pada perencanaan oleh global routing. Lapisan
logam dan sambungan akan menugaskan pada setiap jaringan dasar pada perencanaan dengan
deskripsi lapisan logam pada teknologi terlebih dahulu oleh perancang.fungsi route akhir dan
percobaan untuk melengkapi semua koneksi sinyal, mengubah route sementara dimana
pengkabelan direduksi banyaknya sambungan dan optimalisasi panjangnya kabel, pengecekan
pada pin dengan multiple port dan pengubahan route pengkabelan sebagai pengganti port untuk
memperbaiki hasilnya, pemindahan kabel untuk halangan pada cell atau cover macro dan
kesalahan routing untuk menghindari halangan floorplan.
Detailed routing menjalankan status perbaikan untuk menghapus setiap pelanggaran
penyambungan selama routing akhir. Final clean-up dapat digunakan untuk mengoptimalkan
hasil dari final route oleh penghapusan sambungan yang tidak dibutuhkan dan routing yang tidak
diperlukan.
Setelah masing-masing langkah dalam proses routing dilakukan, ekstraksi dan annotation
kembali akan ditampilkan dalam penempatannya. Akurasi dari ekstraksi data sangat penting
11
untuk pencocokan simulasi silicon sebaik alur waktu yang diperlukan untuk rancangan.
Mengingat tempat dan aliran route akan berbeda untuk masing-masing IC, bergantung pada
tujuan dari percobaan yang ingin dicapai. Metode ekstraksi harus cukup fleksibel untuk
memblok ekstraksi interkoneksi parasitic dan peningkatan ekstraksi sebagaimana flat chip atau
peralatan dan interkoneksi ekstraksi parasitic. Selama ekstraksi sebuah net tunggal akan diubah
ke dalam sebuah jaringan R/C. Jaringan R/C ini harus digabungkan dengan baik untuk
membentuk sebuah elemen R/C tunggal antara terminal dari net tersebut. Pergerakan ke dalam
daerah router memerlukan ekstraksi interkoneksi untuk diambil sebagai bahan pertimbangan atas
routing cell sebagai lawan channel routing. Topologi yang dihadapi dengan routing cell lebih
sulit dan hasil dalam peningkatan pada struktur kapasitansi parasitic diujikan dan jumlah yang
sedikit dari elemen pada interkoneksi yang diberikan menjadi bertambah.
Proses feedback merupakan elemen penting dalam perluasan ketepatan delay
interkoneksi. Ketebalan oxide harus digunakan untuk ekstraksi nilai kapasitansi. Ketebalan dan
lebar rata-rata material interkoneksi actual juga penting. Hal ini tidak lebih lama penerimaannya
untuk extractor untuk menggambar lebar ukuran area kapasitor sebagai nilai yang diyakini.
Sebagaimana telah disebutkan bahwa database harus mempunyai akses untuk proses generasi
data. Proses mengukur lebar garis, ketebalan oxide dan ketebalan material sebagaiman tingkat
doping dan hasil ukuran elektrik.
IV. Synthesis Back-Annotation
Rancangan harus dijalankan melalui vendor dan placement tool, kabel mengambil
informasi yang dapat dicatat kembali secara sintesis untuk optimasi waktu dan pengecekan akhir
rancangan.
Gambar 10. Buffer Resizing
Bergantung pada piranti vendor untuk memperkirakan delay sebelum bagian dalam chip
berada pada tingkat gate. Jika hal ini memungkinkan, maka perancang seharusnya menunjukkan
perkiraan delay untuk blok timing-critical design. Langkah ini menyediakan sebuah tambahan
yang meyakinkan bahwa rangkaian akan bekerja dengan cepat. Delay interkoneksi adalah tipe
estimasi yang berdasar pada sebuah algoritma yang menggunakan teknologi resistansi dan nilai
kapasitansi khusus. Dalam beberapa kasus rencana persiapan dibuat untuk mengidetifikasi
12
cluster gate dan penempatan area untuk prediksi delay yang lebih tepat. Selain itu, lokasi pin I/O
piranti, dan lapisan informasi harus digunakan untuk ketepatan yang lebih jauh lagi. Informasi
delay ditulis dalam sebuah file Standard Delay Format (SDF), yang dapat dibaca pada simulasi
gate level atau analisis waktu.
V. Timing Verification
Timing verification dapat digunakan untuk seluruh proses perancangan. Tujuan utama
dari timing verification adalah untuk membuktikan semua syarat timing design telah memenuhi
static timing analysis dan timing-based simulation. kedua hal tersebut digunakan untuk
memastikan keberhasilan analisis dan pembuktian yang telah berjalan. Kedua metode tersebut
harus memeriksa jangkauan operasi secara keseluruhan pada sebuah rangkaian. Analisis statis
meliputi banyak hal analisis. Special timing mode cases adalah sebuah pembuktian yang lebih
akurat untuk sifat-sifat rancangan seperti logical false paths, multiple-cycle paths, dan
sebagainya. Pada simulasi timing-based, simulasi ganda akan berjalan untuk menutupi proses
sudut. Simulasi Timing based mempunyai sifat simulasi single delay mode sehingga beberapa
pengerjaan tetap dibutuhkan untuk menghitung jarak operasi secara keseluruhan pada sebuah
rangkaian. Seperti pada simulasi yang salah, pengembangan vektor simulasi yang dilingkupi oleh
operasi pada keseluruhan jangkauan diperlukan untuk mendapatkan hasil yang lebih akurat.
Analisa timing terdiri dari data kritis yang digunakan dalam proses concurrent synthesis,
floorplanning, dan placement process. Secara spesifik analisa timing akan menghasilkan nilai
pembatas yang lebih baik secara langsung dan akan memanfaatkan secara keseluruhan proses
yang meliputi maximum frequency calculation, Slack/bottleneck analysis, dan I/O timing reports.
Analisis gerbang tingkat timing diperlukan setelah proses floorplanning, placement, routing,
netlist translation, dan layout translation (mengubah dari satu aturan rancangan ke aturan
rancangan lainnya). Analisis timing digunakan untuk memeriksa bahwa rancangan pada system
timing objective selama perpaduan porsi logika dari proses rancangan setiap area permasalahan
waktu kritis yang nyata harus tidak dilakukan. Persoalan timing tersebut telah digunakan selama
fase penggabungan dan rancangan tersebut harus bebas dari kesalahan selama penggabungan
perspective timing tool. Setelah tiap tahap dari proses tersebut selesai proses floorplanning,
placement dan routing, netlist translation, dan layout translation dari waktu tunda harus
beranotasi kembali pada timing analysis tool.
Synthesis tools akan membuat Standard Delay Format (SDF) file setiap dijalankan. SDF
file memuat informasi tunda dari garis kritis di pengumpulan rancangan untuk mendapatkan
simulasi timing yang akurat dan hasil analisis timing dari model implementasi tingkat gerbang,
terutama sekali sewaktu model kritis. Para perancang harus membaca SDF file sampai kepada
simulasi atau menjalankan timing analisis. Akan tetapi, setiap rancangan yang telah mengalami
floorplanned, atau pernah diganti oleh tingkat yang baru dapat dihubungkan dengan interkoneksi
dan piranti timing. Oleh karena itu, dianjurkan untuk menghitung waktu tunda menjadi anotasi
kembali dan analisis waktu chip secara keseluruhan yang akan berjalan. Hal ini disarankan untuk
menggunakan simulasi dan analisis statis untuk analisis timing dengan tingkat keakuratan yang
sangat tinggi. Analisis statis digunakan untuk menemukan kecepatan dan presisi waktu min/max
pada alat penyimpanan input.
Simulasi akan menambahkan tingkat keakuratan dari analisis dibandingkan dengan
algoritma statis murni. Kemampuan ini biasanya digunakan untuk mensimulasi sistem clock dari
suatu rancangan, yang akan memungkinkan waktu analisis untuk mengeloloa rancangan dalam
bentuk apapun dari sistem clock seperti even asymmetrical, multi-phase, dan gated clocks.
13
Simulasi akhir harusnya juga mencakup uji yang diperlukan oleh silicon vector timing AC. Setiap
uji yang akan disimulasikan dengan HDL simulator harus dibuktikan dengan masukan penguji
dan keluaran vektor. Hal ini akan membuktikan hasil dari pengujian vektor dan menghemat
waktu yang diperlukan
Daftar Pustaka
Browy, C., Gullikson G., Indovina M., 1997, A Top-Down Approach Design to IC Design, Free
published.
Pratt, G. and Jarett, J., 2001, Top-Down Design Methods Bring Back The Useful Schematic
Diagram, Mentor Graphics Corp.
Stan, M., Cabe, A., Ghosh, S., Qi Z., 2007, Teaching Top-Down ASIC/SoC Design vs Bottom-Up
Custom VLSI, IEEE International Conference on Microelectronic Systems Education
(MSE’07)