alur perancangan dalam field programmable gate array (fpga) dan application spesific integrated...

13

Click here to load reader

Upload: wahyan

Post on 28-Jul-2015

185 views

Category:

Documents


3 download

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

Page 1: Alur Perancangan dalam Field Programmable Gate Array (FPGA) dan Application Spesific Integrated Circuit (ASIC)

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

[email protected]

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.

Page 2: Alur Perancangan dalam Field Programmable Gate Array (FPGA) dan Application Spesific Integrated Circuit (ASIC)

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

Page 3: Alur Perancangan dalam Field Programmable Gate Array (FPGA) dan Application Spesific Integrated Circuit (ASIC)

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

Page 4: Alur Perancangan dalam Field Programmable Gate Array (FPGA) dan Application Spesific Integrated Circuit (ASIC)

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)

Page 5: Alur Perancangan dalam Field Programmable Gate Array (FPGA) dan Application Spesific Integrated Circuit (ASIC)

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

Page 6: Alur Perancangan dalam Field Programmable Gate Array (FPGA) dan Application Spesific Integrated Circuit (ASIC)

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)

Page 7: Alur Perancangan dalam Field Programmable Gate Array (FPGA) dan Application Spesific Integrated Circuit (ASIC)

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,

Page 8: Alur Perancangan dalam Field Programmable Gate Array (FPGA) dan Application Spesific Integrated Circuit (ASIC)

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

Page 9: Alur Perancangan dalam Field Programmable Gate Array (FPGA) dan Application Spesific Integrated Circuit (ASIC)

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

Page 10: Alur Perancangan dalam Field Programmable Gate Array (FPGA) dan Application Spesific Integrated Circuit (ASIC)

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

Page 11: Alur Perancangan dalam Field Programmable Gate Array (FPGA) dan Application Spesific Integrated Circuit (ASIC)

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

Page 12: Alur Perancangan dalam Field Programmable Gate Array (FPGA) dan Application Spesific Integrated Circuit (ASIC)

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.

Page 13: Alur Perancangan dalam Field Programmable Gate Array (FPGA) dan Application Spesific Integrated Circuit (ASIC)

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)