BAB 5 VERIFIKASI DAN IMPLEMENTASI FPGA
Bab ini membahas tentang proses verifikasi dan implementasi desain ke FPGA board. Proses verifikasi meliputi simulasi fungsional, simulasi gate-level, dan verifikasi visual dengan FPGA dengan metodologi yang ditunjukkan pada Gambar 5-1. Rancangan diimplementasikan pada XtremeDSP Development Kit-IV dengan FPGA Virtex-4 XC4VSX35-10FF668. Board ini memiliki PCI Port interface yang akan digunakan sebagai media komunikasi dengan PC. Selain itu juga memiliki 2 buah DAC 14-bit yang akan digunakan sebagai display untuk verfikasi visual[15].
Gambar 5-1 Metodologi implementasi desain menggunakan FPGA[16]
Sebelum dilakukan simulasi terlebih dahulu dibuat file testbench-nya. File ini berisi input dan output yang diharapkan. Keduanya dihasilkan dari model Matlab yang telah dibuat sebelumnya. Test vector untuk IFFT adalah satu simbol OFDM dengan panjang 2048 data 2x14 bit bilangan kompleks. Test vector untuk FFT adalah satu simbol OFDM yang telah ditransformasi ke domain waktu dengan panjang 2048 data 2x14 bit bilangan kompleks. Output dari masing-masing simulasi akan langsung dicocokkan dengan data keluaran yang diharapkan. 52
Desain dan Implementasi I 2k Pipeline FFT-IFFT F Corre untuk DVB-T - | 53
5.1 Sim mulasi Fun ngsional Simulasi fungsional fu diilakukan denngan mengg gunakan peraangkat lunakk Mentor Grraphic ModelSim m SE 6.2b. Siimulasi funggsional adalah simulasi yang dilakuukan kepadaa kode VHDL yanng dibuat unntuk mengettahui fungsiionalitas dessain apakah telah sesuaii dengan yang diharapkann atau tidakk. Simulasi dilakukan sebanyak ddua kali, maasingI masing sattu kali untukk mode FFT dan mode IFFT. •
Moode FFT
Gambar 5--2 menunjukkkan hasil simulasi s fun ngsional unttuk mode FFT. Gambaar atas menunjukkkan output FFT F (outi daan outq) telaah sesuai deengan ouputt dari modell Matlab (outi_m mat dan outtq_mat). Dissplay pada trranscript (bawah) juga menunjukkaan hal yang samaa.
Outtput FFT teelah sama deengann model Mattlabnya
Gambar 5-2 Hasil simula asi untuk modee FFT
Desain dan Implementasi I 2k Pipeline FFT-IFFT F Corre untuk DVB-T - | 54
•
Moode IFFT
Gambar 5--3 menunjukkkan hasil simulasi s fun ngsional untuuk mode IF FFT. Gambaar atas menunjukkkan output FFT F (outi daan outq) telaah sesuai deengan ouputt dari modell Matlab (outi_m mat dan outtq_mat). Dissplay pada trranscript (bawah) juga menunjukkaan hal yang samaa.
Outpuut IFFT telah t samaa dengaan model Maatlabnya
Gambar 5-33 Hasil simulassi untuk mode IFFT
Kedua sim mulasi menunnjukkan hassil yang sesu uai dengan model m Matlaab hingga tiingkat kepresisiann 10 bit. Peerbedaan 4 bit b LSB ini karena moddel Matlab yyang dibuat tidak benar-benaar menggunaakan kompuutasi fixed po oint 14 bit.
5.2 Sinttesis Sintesis dilakukan denngan menggunakan peraangkat lunakk Xilinx ISE E 9.1i. Prosees sindi 4 tahap yaitu y sintesiss, translate, map, tesis sendiiri pada Xiliinx ISE dibagai menjad dan PAR (Gambar ( 5-44). Setelah seluruh tahaap berhasil dilakukan taanpa error, maka proses teraakhir adalah mebuat bitffile yang akaan di downlooad ke FPGA A.
Desain dan Implementasi 2k Pipeline FFT-IFFT Core untuk DVB-T | 55
5.2.1
Proses Sintesis
Seperti telah dijelaskan, proses sistesis pada Xilinx ISE dibagi menjadi 4 tahap. Tahap pertama adalah sintesis. Sintesis adalah proses memetakan kode VHDL menjadi netlist dan memetakannya ke target divais yang diinginkan. Netlist merupakan deskripsi berbagai gerbang logika yang digunakan dalam desain dan bagaimana hubungan dan interkoneksi antar gerbang logika tersebut. Proses sintesis akan melaporkan beberapa hal, dua hal yang penting adalah Device Utilization Summary, dan Timing Summary seperti ditunjukkan pada Tabel 5-1. Keduanya menunjukkan dua performa divais, yaitu area yang diperlukan dan kecepatan maksimum divais. Kedua report ini menunjukkan bahwa 2k FFT-IFFT Core yang dibuat memerlukan 43% slice area FPGA dengan frekuensi kerja maksimum 61 MHz. Tabel 5-1 Laporan dari proses sintesis Device utilization summary: --------------------------Selected Device : 4vsx35ff668-10 Number of Number of Number of Number of Number of Number of Number Number of Number of
Slices: Slice Flip Flops: 4 input LUTs: IOs: bonded IOBs: FIFO16/RAMB16s: used as RAMB16s: GCLKs: DSP48s:
6672 5404 11563 64 64 20 20 1 20
out of out of out of
15360 30720 30720
43% 17% 37%
out of out of
448 192
14% 10%
out of out of
32 192
3% 10%
Timing Summary: --------------Speed Grade: -10 Minimum Minimum Maximum Maximum
period: 16.382ns (Maximum Frequency: 61.043MHz) input arrival time before clock: 5.233ns output required time after clock: 4.677ns combinational path delay: No path found
Tahap selanjutnya adalah Translate. Proses ini bertujuan mengidentifikasi file netlist FPGA hasil sintesis dan menggabungkan semua input netlist ke dalam file top level rancangan. Hasil proses Translate adalah netlist dalam format NGD (Native Generic Design). Pada tahap ini seluruh constraint diaplikasikan ke netlist. Setelah itu dilakukan proses Map. Proses Map melakukan optimasi gerbang-gerbang dan jalur-jalur yang tidak terpakai pada netlist NGD dan memetakan rancangan ke resource pada FPGA hasilnya dilaporkan kembali seperti pada Tabel 5-2. Selain itu juga dilakukan
Desain dan Implementasi I 2k Pipeline FFT-IFFT F Corre untuk DVB-T - | 56
pemeriksaaan design-rrule secara fisik pada devais d targeet serta mem metakan eleemenelemen dassar menjadi sel-sel Conffigurable Lo ogic Block (C CLB). Tabel 5-2 5 Laporan dari Proses Map p Design Summary S -------------Number of o errors: 0 Number of o warnings s: 2 Logic Ut tilization: Number r of Slice Flip Flops s: 4,862 out of f 30,720 15% 10,789 out of 35% Number r of 4 inpu ut LUTs: f 30,720 Logic Distribution n: Number r of occupi ied Slices: 8,110 out of 15,360 52% Total Nu umber of 4 input LUTs s: t of 30,72 20 37% 11,535 out Total eq quivalent gate g count for design n: 1,474,5 543 Addition nal JTAG ga ate count for f IOBs: 3,072
Proses teraakhir adalahh PAR (Plaace and Rou ute). Place merupakan proses peleetakan semua blokk logika term masuk strukktur CLB dan n IOB pada tempat terteentu pada arrsitektur devais target. Rouuting adalah proses mem mberikan pinn-pin pada bblok-blok lo ogika. j akan menghasilkan m n kode VHD DL model deesain yang ttelah selesain disProses ini juga intesis. Koode ini akan dikomparassi dengan ko ode VHDL sebelum s sinntesis untuk memm bandingkaan fungsionaalitas desain dan apakah h desain telaah benar-bennar dapat beekerja pada frekuuensi yang teelah ditentukkan. Desain yang mengalami perubbahan fungsii setelah sistesiss harus diperiksa ulang apakah kod de VHDL yaang dibuat synthesizablee atau tidak. Desaain yang tiddak dapat bekerja pada frekuensi f keerja yang telaah ditentukaan harus didesaiin ulang atauu disintesis dengan d efforrt yang lebihh tinggi.
Gambar 5-4 Urutan prosess pada Xilinx ISE I 9.1i
Desain dan Implementasi I 2k Pipeline FFT-IFFT F Corre untuk DVB-T - | 57
5.2.2 Sim mulasi Gatte Level Simulasi gate-level g dillakukan denngan menggu unakan peraangkat lunakk Mentor Grraphic ModelSim m SE 6.2b. Simulasi gatee-level adalaah simulasi yang dilakuukan kepadaa kode VHDL settelah sintesiss yang dihassilkan oleh Xilinx X ISE, untuk u mengetahui fungssionalitas desainn apakah maasih sama deengan desain n aslinya. Teest vector yaang sama digunakan kembaali untuk sim mulasi ini. •
Moode FFT
Output FFT telaah sama denns sebelu um sintesis gan sirkuit
Gam mbar 5-5 Hasil simulasi s gate-llevel (post PAR R) untuk FFT
Gambar 5--5 menunjukkkan hasil simulasi s Posst-PAR (Placce and Routte) dengan mengm gunakan simulator MoodelSim SE E6.2b untuk mode FFT.. Hasil simuulasi membeerikan hasil yang sama dengaan sirkuit sebbelum sintessis.
Desain dan Implementasi I 2k Pipeline FFT-IFFT F Corre untuk DVB-T - | 58
•
Moode IFFT
Outpput IFFT tellah sama deengan sirkuuit sebelum sintesis s
Gamb bar 5-6 Hasil simulasi s gate-leevel (post PAR R) untuk IFFT
Gambar 5--6 menunjukkkan hasil simulasi s Posst-PAR (Placce and Routte) dengan mengm gunakan siimulator MoodelSim SE E6.2b untuk mode IFFT. Hasil simuulasi membeerikan hasil yang sama dengaan sirkuit sebbelum sintessis. wa rancangan n telah berhaasil disintesiis dengan eq quivaHasil sinteesis menunjuukkan bahw lent gate count c sebesaar 1474543 gate. Selain n itu rancanngan mampuu bekerja deengan frekuensi maksimum hingga 61 MHz. Totaal latency koomputasi addalah 2063 clock s OFD DM dan frek kuensi cycle. Sehhingga dengan input 20048 simbol pada satu simbol kerja 40 MHz M didapattkan throughhput sistem sebesar 39.8 M simboll/s yang ditu unjukkan oleh persamaan (55.1). T Troughput 2048 40 4 2063 39.8 M sim mbol/s
(5.1)
Desain dan Implementasi 2k Pipeline FFT-IFFT Core untuk DVB-T | 59
5.3 Implementasi FPGA Rancangan 2k FFT-IFFT Core yang telah terverifikasi pada gate-level simulation telah siap untuk diimplementasikan ke FPGA. Namun, agar core tersebut dapat terlihat fungsionalitasnya, perlu dibuatkan modul-modul lainnya. Seluruh modul diletakkan pada top modul utama dan disintesis ulang menggunakan Xilinx ISE 9.1i.
5.3.1
Model Implementasi
Gambar 5-7 Model IFFT dan FFT pada OFDM diimplementasikan pada FPGA
Model implementasi adalah model sistem transmitter-receiver OFDM menggunakan 2k FFT-IFFT Core (Gambar 5-7). Random generator akan menghasilkan nilai random 4 bit yang akan dimodulasi dengan menggunakan modulator 16-QAM α=1. Hasil modulasi akan dimasukkan ke 2k FFT-IFFT Core pada mode IFFT. Hasil IFFT disimpan terlebih dahulu ke RAM untuk kemudian diurutkan (proses reordering). Hasil pengurutan dimasukkan kembali ke 2k FFT-IFFT Core, kali ini dalam mode FFT. Hasil FFT akan diteruskan ke DAC 14-bit yang akan mengubah sinyal digital menjadi analog. Sinyal inilah yang ditangkap oleh osiloskop dan hasilnya ditampilkan dalam mode XY untuk mendapatkan gambaran konstelasi 16-QAM (scatterplot). Seluruh proses ini menunjukkan sebuah model OFDM transmitter-receiver menggunakan FFT dan IFFT seperti yang ditunjukkan oleh Gambar 2-12. Perbedaannya adalah, tidak ada kanal antara sistem transmitter dan receiver. Data dari IFFT langsung diteruskan ke FFT tanpa melalui kanal analog.
Desain dan Implementasi 2k Pipeline FFT-IFFT Core untuk DVB-T | 60
5.3.2
Hasil Implementasi
Hasil implementasi diverifikasi secara visual dengan menggunakan osiloskop. Kedua output (real dan imajiner) di-plot dengan mode XY untuk mendapatkan konstelasi sinyal 16-QAM yang ditunjukkan pada Gambar 5-8. Karena tidak ada error dari kanal maka sinyal dapat direkonstruksi dengan baik. Hal ini menunjukkan 2k FFT-IFFT Core dapat bekerja dengan sempurna baik sebagai FFT Core maupun sebagai IFFT Core pada board XtremeDSP Virtex-4 XC4VSX35-10F668 (Gambar 5-9).
Gambar 5-8 Output konstelasi 16-QAM dari model sistem OFDM pada FPGA dilihat menggunakan osiloskop
Gambar 5-9 XTremeDSP-IV dengan FPGA Virtex-4 XC4VSX35-10F668