Anda di halaman 1dari 13

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
1

ferrywahyu@gmail.com

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 tarikmenarik 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.

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 frontend, 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
2

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
3

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 berkalikali, 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)


4

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

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) 6

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,
7

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 mendrive 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 blokblok 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).
8

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
9

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 diroute. 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
10

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
11

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.
12

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 (MSE07)

13

Anda mungkin juga menyukai