laporan kerja praktek · web viewlaporan kerja praktek ini adalah hasil dari kegiatan yang...

80
LAPORAN KERJA PRAKTIK Error: Reference source not found PADA DEVELOPMENT BOARD SPARTAN 3E STARTER

Upload: ledang

Post on 17-Mar-2019

227 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

LAPORAN KERJA PRAKTIK

Error: Reference source not found PADA DEVELOPMENT

BOARD SPARTAN 3E STARTER

Page 2: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis
Page 3: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

Disusun oleh :

Error: Reference source not found10/305234/TK/37425

PROGRAM STUDI TEKNIK ELEKTROJURUSAN TEKNIK

ELEKTRO DAN TEKNOLOGI INFORMASI

FAKULTAS TEKNIK UNIVERSITAS GADJAH MADA

YOGYAKARTA

Error: Reference source not found

Page 4: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

ii

HALAMAN PENGESAHAN

Error: Reference source not found PADA DEVELOPMENT

BOARD SPARTAN 3E STARTER

LAPORAN KERJA PRAKTIK

Diajukan Sebagai Salah Satu Syarat untuk Memperoleh

Gelar Sarjana Teknik Program S-1

Pada Jurusan Teknik Elektro dan Teknologi Informasi Fakultas Teknik

Universitas Gadjah Mada

Disusun oleh :

Error: Reference source not found10/305234/TK/37425

Telah disetujui dan disahkan

pada tanggal 8 Mei 2014

Dosen Pembimbing Kerja Praktik

Bondhan Winduratna, Ir., M.EngNIP 196210151989031001

Page 5: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

iii

[bukti pelaksanaan kerja praktik]

Page 6: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

iv

KATA PENGANTAR

Laporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di

Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis mendesain

sebuah controller untuk komponen ADC dan DAC.

Alasan penulis mengambil tema ini adalah karena sedikitnya minat

Mahasiswa terhadap desain perangkat keras. Dengan contoh desain yang dibuat

penulis untuk Kerja Praktek ini maka penulis berharap dapat menarik minat

Mahasiswa terhadap desain perangkat keras.

Ucapan terima kasih kepada:

1. Bapak Sarjiya, S.T., M.T., Ph.D., selaku Ketua Jurusan Teknik Elektro dan

Teknologi Informasi Fakultas Teknik Universitas Gadjah Mada.

2. Bapak Bondhan Winduratna, Ir., M.Eng selaku dosen pembimbing kerja praktik

Yogyakarta, 8 April 2014

Penulis

Page 7: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

v

DAFTAR ISI

HALAMAN PENGESAHAN......................................................................................ii

KATA PENGANTAR..................................................................................................iv

DAFTAR ISI.................................................................................................................v

DAFTAR GAMBAR..................................................................................................vii

DAFTAR TABEL......................................................................................................viii

1.1. Latar Belakang Masalah.................................................................................1

1.2. Perumusan Masalah........................................................................................3

1.3. Pembatasan Masalah.......................................................................................3

1.4. Maksud dan Tujuan.........................................................................................3

2.1. Jurusan Teknik Elektro dan Teknologi Informasi...........................................4

2.2. Laboratorium Pengolahan Isyarat...................................................................5

3.1. Protokol SPI....................................................................................................6

3.1.1. Antar Muka........................................................................................6

3.1.2. Metode Operasi..................................................................................7

3.1.3. Polaritas dan Fase Clock....................................................................8

3.1.4. Pengkawatan......................................................................................9

3.2. Development Board Spartan 3E Starter........................................................11

3.2.1. ADC LTC 1407................................................................................12

3.2.2. DAC LTC2624.................................................................................15

3.2.3. PGA LTC6912..................................................................................17

4.1. Konsep Rancangan........................................................................................19

4.1.1. Kompatibilitas Mode Operasi..........................................................21

Page 8: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

vi

4.2. Implementasi Kode Verilog..........................................................................21

4.2.1. Inisialisasi I/O Dan Register............................................................22

4.2.2. Rutin Reset.......................................................................................24

4.2.3. Inisialisasi Amplifier........................................................................26

4.2.4. Rutin ADC/DAC..............................................................................27

4.3. Simulasi dan Pengujian.................................................................................29

4.3.1. Simulasi............................................................................................29

4.3.2. Pengujian..........................................................................................33

5.1. Kesimpulan...................................................................................................37

5.2. Saran.............................................................................................................38

LAMPIRAN A :Kode Verilog SPI Controller

LAMPIRAN B : Kode Stimulus Simulasi

LAMPIRAN C : Kode UCF (User Constraint File)

LAMPIRAN D : Device Utilization Summary

Page 9: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

vii

DAFTAR GAMBAR

Gambar 3-1. Register geser pada protokol SPI......................................................8

Gambar 3-2. Mode operasi SPI..............................................................................9

Gambar 3-3. Mode independent slave...................................................................10

Gambar 3-4. Mode daisy chain..............................................................................11

Gambar 3-5 Sinyal pada protokol SPI...................................................................12

Gambar 3-6. Board Spartan 3E Starter..................................................................13

Gambar 3-7. Skematik LTC 1407..........................................................................14

Gambar 3-8. Timing diagram LTC 1407 bagian 1.................................................15

Gambar 3-9. Timing Diagram LTC 1407 bagian 2.

Gambar 3-10. Skematik LTC 2624........................................................................18

Gambar 3-11. Timing diagram LTC 2624..............................................................19

Gambar 3-12. Daftar command dan address..........................................................20

Gambar 3-13.Timing diagram LTC 6912..............................................................20

Gambar 4-14. Pembagian waktu akses ADC dan DAC.........................................22

Gambar 4-15. Pemakaian kanal oleh ADC dan DAC............................................23

Gambar 4-16. Transmisi tergabung ADC/DAC.....................................................23

Gambar 4-17. Blok diagram kode Verilog.............................................................25

Gambar 5-18. Simulasi inisialisasi amplifier.........................................................35

Gambar 5-19. Simulasi transisi amplifier ke ADC/DAC.......................................36

Gambar 5-20. Simulasi kecepatan sample rate dari controller..............................37

Gambar 4-21. Pengujian dengan sinus 1Khz.........................................................39

Gambar 4-22. Pengujian dengan sinus 10 Khz......................................................40

Gambar 4-23. Pengujian dengan sinus 100Khz.....................................................41

Page 10: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

viii

DAFTAR TABEL

Tabel 3-1. Sinyal pada protokol SPI......................................................................7

Page 11: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

1

BAB 1.

PENDAHULUAN

1.1. Latar Belakang Masalah

FPGA adalah IC yang memungkinkan seseorang mengimplementasikan

perangkat digital custom dengan mudah. Dengan FPGA, sebuah desain rangkain

digital tidak perlu diproduksi dengan mesin fabrikasi semikonduktor akan tetapi

cukup diprogram ulang ditempat. Dengan kemampuan reprogrammability seperti ini,

maka FPGA dapat menggantikan fungsi microcontroller untuk beberapa aplikasi.

Kemampuan reprogrammability FPGA didapat dari Look Up Table (LUT).

LUT pada dasarnya adalah sebuah memori dengan input berupa alamat dan output

berupa nilai yang tersimpan di dalamnya. Dengan mengubah-ubah nilai yang

tersimpan di LUT maka LUT dapat berperan sebagai berbagai macam gerbang

digital. Banyaknya variasi yang bisa direalisasikan dengan sebuah LUT tergantung

besar LUT itu sendiri.

Untuk membuat suatu rangkaian digital yang lebih kompleks, maka beragam

LUT dihubungkan. Banyaknya LUT dalam sebuah FPGA menentukan seberapa

kompleks rangkaian yang bisa tersimpan dalam sebuah FPGA.

Pada mikrokontroller, reprogrammability didapat dari memori yang bisa

ditulis ulang dan prosesor yang dapat mengartikan beragam perintah. Perintah yang

dimengerti prosesor disusun untuk menjadi suatu perintah yang lebih kompleks.

Semakin kompleks suatu algoritma yang diimplementasikan maka dibutuhkan

Page 12: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

2

semakin banyak perintah penyusun sehingga waktu eksekusi menjadi lebih lama.

Perbedaan diatas menjadikan pemrograman untuk FPGA memiliki paradigma

yang berbeda dengan pemrograman untuk prosesor. Perbedaannya yaitu algoritma

yang dikerjakan oleh mikrokontroller dieksekusi bersifat sekuensial, sedangkan yang

dikerjakan oleh FPGA dikerjakan secara concurrent. Sehingga sekalipun keduanya

dapat diprogram dengan bahasa level tinggi, pemrograman untuk FPGA lebih sulit.

Salah satu cara untuk memudahkan pemrograman FPGA adalah dengan

menggunakan modul siap pakai. Modul tersebut berupa desain rangkain digital yang

menjalankan fungsi tertentu. Modul dapat sesederhana shift register atau bisa juga

lebih kompleks seperti multiplier.

Di Laboratorium Pengolahan Isyarat di Jurusan Teknik Elektro dan Teknologi

Informasi, praktikum pengolahan isyarat umumnya hanya dilakukan dengan simulasi

software. Hal ini sangat disayangkan karena terdapat fasilitas perangkat keras seperti

FPGA yang bisa digunakan untuk menguji coba suatu algoritma.

Tidak dipakainya FPGA dalam praktikum bisa dipahami karena tidak adanya

modul mendukung yang bisa memudahkan praktikum. Padahal development board

FPGA yang dimiliki laboratorium memiliki komponen ADC dan DAC yang tentu

dapat digunakan untuk menguji suatu algoritma pengolahan isyarat. Akan tetapi

ketidak adaan modul library untuk mengakses ADC dan DAC membuat FPGA sulit

digunakan.

Oleh karena itu, pada Kerja Praktek ini akan dibuat suatu modul yang dapat

memudahkan akses ke ADC dan DAC. Modul tersebut bertujuan mengabstraksi

detail perangkat keras yang digunakan. Dengan begitu seseorang bisa menguji coba

algoritma tanpa mempedulikan komponen ADC dan DAC yang digunakan.

Page 13: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

3

1.2. Perumusan Masalah

Tidak adanya modul pendukung pada FPGA di Laboratorium Pengolahan

Isyarat Jurusan Teknik Elektro dan Teknologi Informasi mengakibatkan FPGA tidak

dipakai untuk praktikum.

1.3. Pembatasan Masalah

Controller yang didesain adalah khusus untuk development board Spartan 3E

Starter. Template kode yang dibuat adalah filter FIR 8 tap dengan konstanta bilangan

bulat. Perangkat seperti multiplier untuk filter FIR , akurasi ADC/DAC serta error

yang ditimbulkan oleh proses quantisasi tidak dibahas.

1.4. Maksud dan Tujuan

Kegiatan kerja praktek ini memiliki tujuan yang ingin dicapai antara lain

Dapat mempelajari protokol komunikasi SPI dan berbagai variasinya

Dapat mempelajari IC ADC dan DAC pada development board Spartan 3E

Starter serta metode komunikasinya.

Dapat mengimplementasikan suatu controller untuk berkomunikasi dengan IC

ADC dan DAC tersebut.

Dapat membuat template kode untuk mempermudah implementasi algoritma.

Page 14: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

4

BAB 2.

PROFIL INSTITUSI

2.1. Jurusan Teknik Elektro dan Teknologi Informasi

Jurusan Teknik Elektro dan Teknologi Informasi adalah salah satu dari

delapan jurusan di Fakultas Teknik Universitas Gadjah Mada. Jurusan yang memiliki

program pendidikan dari S1 hingga S3 ini dipimpin oleh seorang ketua jurusan yang

pada tahun 2013 ini dijabat oleh Sarjiya, ST., MT., Ph.D.

Tanggal 17 Februari 1946 didirikan Sekolah Tinggi Teknik (Bandoeng) di

Yogyakarta. Bagian-bagian yang ada yaitu adalah Kimia, Mesin-Listrik, dan Sipil.

Namun pada tahun 1950 Bagian Mesin Listrik terpaksa ditutup, karena kekurangan

pengajar seiring pindahnya ibukota RI kembali ke Jakarta. Barulah tahun 1963

Bagian Teknik Listrik didirikan lagi setelah sebelumnya pada tahun 1959 Bagian

Teknik Mesin didirikan. Tahun 1976 secara administratif bagian Teknik Listrik dan

Bagian Teknik Mesin dipisah, tahun 1980 diganti menjadi Jurusan Teknik Listrik dan

kemudian tahun 1983 menyesuaikan SK Menteri Pendidikan dan Kebudayaan RI

No.0174/0/1983 tentang Penataan Jurusan pada Fakultas di Lingkungan

Universitas/Institut Negeri, nama jurusan berubah menjadi Jurusan Teknik Elektro.

Hingga pada tahun 2009 seiring dengan didirikannya program studi Teknologi

Informasi, nama Jurusan Teknik Elektro berganti menjadi Jurusan Teknik Elektro dan

Teknologi Informasi (JTETI).

Page 15: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

5

2.2. Laboratorium Pengolahan Isyarat

Laboratorium Pengolahan Isyarat berdiri sejak pertengahan tahun 2010 dan

sebelumnya bernama laboratorium elektronika lanjut. Pergantian nama dan fungsi

laboratorium ini berdasar pada kebutuhan yang muncul akibat diselenggarakannya

sub konsentrasi baru, pengolahan isyarat, dalam prodi Teknik Elektro di JTETI.

Fasilitas dan Peralatan Utama

DSP development kit

FPGA development kit

Osiloskop

PC

Peralatan akuisisi isyarat

Peralatan Audio-Visual

Page 16: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

6

BAB 3.

LANDASAN TEORI

3.1. Protokol SPI

SPI (Standard Peripheral Interface) adalah standar komunikasi serial sinkron

yang beroperasi secara full duplex. Sistem ini menggunakan model master / slave

dalam berkomunikasi. Perangkat yang berperan sebagai master bertugas menginisiasi

transfer data dan menentukan pesat data. Sebuah sistem dimungkinkan memiliki

banyak slave, dimana masing-masing slave memiliki suatu jalur slave select.

3.1.1. Antar Muka

Protokol SPI terdiri dari 4 sinyal digital, yaitu SCLK, MISO, MOSI dan SS.

Sinyal MOSI dan MISO adalah sinyal yang membawa data dan masing-masing

bersifat unidirectional. Sinyal SCLK adalah sinyal sinkronisasi sedangkan SS adalah

sinyal slave select. Slave select berfungsi memilih slave yang aktif pada konfigurasi

multi-slave

Sistem penamaan yang lain menggunakan nama SDI dan SDO untuk

menggantikan nama MISO dan MOSI. Pin dengan nama SDO selalu berfungsi

sebagai output dan pin dengan nama SDI selalu berfungsi sebagai input. Sedangkan

pin dengan nama MOSI dan MISO bisa berfungsi sebagai input atau output

tergantung modenya. Nama-nama sinyal dan fungsinya dirangkum pada Tabel 3-1.

Page 17: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

7

Tabel 3-1. Sinyal pada protokol SPI

No Nama sinyal Fungsi

1 SCLK Clock sinkronisasi

2 MISO Jalur input master (SDI) / jalur output slave (SDO)

3 MOSI Jalur input slave (SDI) / jalur output master (SDO)

4 SS Pemilih slave

5 SDI

Jalur input. Sama dengan MISO jika sebagai master atau

MOSI jika sebagai slave

6 SDO

Jalur output. Sama dengan MISO jika sebagai slave atau

MOSI jika sebagai master

3.1.2. Metode Operasi

Seperti telah disebutkan di subbab sebelumnya, SPI menggunakan mode

master / slave dan master bertugas menginisiasi transmisi serta mengatur pesat data.

Artinya slave tidak bisa mengirim data ke master tanpa master memulai transmisi.

Transmisi dimulai dengan master membuat jalur SS dari slave yang ingin dialamati

bernilai LOW kemudian membangkitka sinyal SCLK.

Saat suatu slave aktif dan terdapat sinyal clock di jalur SCLK maka baik slave

maupun master akan menyampling data di pin SDI dan mengeluarkan data di SDO.

Slave yang tidak aktif akan mengabaikan sinyal clock dan tidak akan mengeluarkan

data di SDO.

Register SPI di master dan slave membentuk suatu circular buffer seperti

ditunjukkan pada Gambar 3-1. Jumlah periode clock yang dibutuhkan tergantung

Page 18: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

8

panjang register . Setelah transfer selesai, masing-masing master dan slave dapat

menggunakan data tersebut. Jika terdapat data yang perlu ditransfer lagi maka

register diisi data baru dan proses transmisi diulang lagi.

Gambar 3-1. Register geser pada protokol SPI

3.1.3. Polaritas dan Fase Clock

SPI memiliki 4 mode operasi yang berkaitan dengan polaritas dan fase clock.

Mode polaritas diatur oleh register CPOL. CPOL = 0 berarti level logika pada jalur

SCLK saat idle adalah LOW, sedangkan CPOL = 1 berarti level logika bernilai

HIGH. Mode fase diatur dengan register CPHA. CPHA = 0 berarti nilai pada SDI

disampling pada leading edge clock dan nilai pada SDO dikeluarkan pada trailing

edge clock, sedangkan CPHA = 1 berarti SDI disampling pada trailing edge clock

dan SDO di-drive pada leading edge clock. Gambaran ke-4 mode operasi dapat

dilihat pada Gambar 3-2.

Page 19: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

9

Gambar 3-2. Mode operasi SPI

3.1.4. Pengkawatan

Perangkat SPI dapat dihubungkan dalam mode independent slave atau daisy

chain. Mode independent slave mirip seperti topologi star, dengan master sebagai

pusatnya, sedangkan mode daisy chain mirip dengan topologi ring.

Pada mode independent slave, baik jalur MOSI maupun MISO terhubung di

satu titik yaitu di master. Mode ini menggunakan 1 jalur slave select untuk masing-

masing slave. Jika terdapat 3 slave maka dibutuhkan 3 buah jalur slave select. Mode

pengkawatan ini ditunjukkan oleh Gambar 3-3.

Page 20: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

10

Gambar 3-3. Mode independent slave

Pada mode daisy chain, semua perangkat SPI dihubungkan secara back-to-

back. Maksudnya pin SDO dari suatu slave dihubungkan dengan pin SDI dari slave

lainnya. SDO dari slave paling ujung dihubungkan dengan MISO dari master dan

SDI dari slave di ujung satunya dihubungkan ke MOSI dari master. Dengan

pengkawatan seperti ini, maka seluruh perangkat SPI akan menjadi suatu circular

buffer yang panjangnya adalah total panjang register masing-masing perangkat.

Mode daisy chain ditunjukkan oleh Gambar 3-4.

Page 21: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

11

Gambar 3-4. Mode daisy chain

Mode daisy chain lebih menghemat track pada PCB karena hanya

membutuhkan 1 jalur slave select, sedangkan mode independent slave membutuhkan

jalur slave select sebanyak jumlah slave. Kekurangan dari daisy chain adalah

kecepatan transfer lebih lambat karena panjang register menjadi panjang.

Jika hanya terdapat 1 slave maka jalur slave select bisa dihilangkan. Sebagai

gantinya pin SS pada slave dihubungkan permanen ke nilai tegangan logika LOW.

Sehingga total jalur yang dihubungkan hanya 3, yaitu SCK, MISO dan MOSI.

3.1.4.1 Pengkawatan Tidak Standar

Beberapa IC yang menggunakan protokol SPI juga menggunakan sinyal

diluar standar SPI untuk berkomunikasi.

Page 22: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

12

Gambar 3-5 Sinyal pada protokol SPI

3.2. Development Board Spartan 3E Starter

Development Board / Papan Pengembangan Spartan 3E Starter adalah alat

pengembangan dari Digilent. Board ini memiliki komponen utama FPGA Xilinx

Spartan 3E . Selain itu terdapat komponen-komponen pendukung seperti memori,

LCD, IC periferal seperti LAN, ADC, DAC dan lain-lain. Board dapat dilihat pada

Gambar 3-6.

Page 23: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

13

Gambar 3-6. Board Spartan 3E Starter

Komponen pendukung yang akan digunakan pada Kerja Praktek ini adalah

ADC LTC 1407, DAC LTC 2624 dan PGA LTC 6912. Komponen-komponen

tersebut adalah Analog to Digital Converter, Digital to Analog Converter dan

Programmable Gain Amplifier. Semua komponen tersebut menggunakan protokol

SPI untuk berkomunikasi dengan FPGA.

3.2.1. ADC LTC 1407

LTC 1407 adalah ADC dengan tipe SAR (Successive Aproximation Register )

yang memiliki kecepatan sampling maksimal 3 Msps. IC ini memiliki 2 kanal input

sehingga kecepatan sampling masing-masing kanal adalah 1,5Msps. Proses sampling

Page 24: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

14

yang dilakukan pada kedua kanal dilakukan secara simultan.

LTC 1407 menggunakan tipe input differential dengan rentang ± 1,25V

terhadap tegangan referensi. Pada board Spartan 3 E Starter, tegangan referensi

adalah 1,65V. Artinya rentang tegangan input adalah 0,4V hingga 2,9V. Konfigurasi

pengkawatan LTC 1407 pada board Spartan 3 E Starter ditunjukkan oleh Gambar 3-

7.

Gambar 3-7. Skematik LTC 1407.

LTC 1407 menggunakan 3 jalur sinyal untuk berkomunikasi, yaitu SCK,

SDO dan CONV. SCK dan SDO adalah bagian dari standar SPI, sedangkan CONV

adalah jalur yang digunakan untuk memulai proses konversi. Timing diagram dari

Page 25: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

15

ketiga sinyal tersebut ditunjukkan oleh Gambar 3-8 dan Gambar 3-9.

Gambar 3-8. Timing diagram LTC 1407 bagian 1

Page 26: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

16

Gambar 3-9. Timing Diagram LTC 1407 bagian 2.

Proses akuisisi data dimulai dengan membangkitkan sinyal CONV. Rising

edge pada jalur CONV mengisyaratkan agar ADC menghentikan proses akuisisi dan

memulai proses konversi. Hal ini dilakukan dengan membuka saklar input pada

Page 27: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

17

modul sample and hold dan menahan nilai tegangan pada kapasitor S/H.

Setelah sinyal CONV muncul, maka setiap rising edge pada SCK akan

menjalankan proses konversi. Karena ADC yang digunakan adalah tipe SAR, maka

data yang dikeluarkan pertama kali adalah MSB. Setelah proses konversi selesai

akan dilanjutkan proses konversi untuk kanal selanjutnya. Setelah kedua kanal

selesai dikonversi , ADC akan memulai proses akuisisi selanjutnya dan menunggu

muncul sinyal CONV selanjutnya.

Total siklus SCK yang dibutuhkan adalah 32 buah. Artinya panjang register

LTC 1407 adalah 32 bit. Data yang ditransfer berisi nilai konversi untuk kedua kanal

dalam bentuk 2’s complement. Transfer sebanyak 16 bit tidak dimungkinkan

sekalipun yang dibutuhkan hanya hasil konversi satu kanal. Hal ini disebabkan

proses akuisisi baru akan dimulai setelah 32 bit data selesai ditransfer. Sehingga jika

sinyal CONV dibangkitkan di pertengahan transfer maka sinyal tersebut akan

diabaikan.

3.2.2. DAC LTC2624

LTC 2624 adalah chip DAC yang digunakan di board Spartan 3 Starter. Chip

ini memiliki 4 kanal keluaran bertipe differential. Pada implementasi rangkaian LTC

2624 di board Spartan 3E Starter, referensi tegangan terendah adalah 0V, sedangkan

referensi tegangan tertinggi untuk kanal A dan B adalah 3,3V dan untuk kanal C serta

D adalah 2,5 V. Rangkain LTC 2624 ditunjukkan oleh Gambar 3-10.

Page 28: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

18

Gambar 3-10. Skematik LTC 2624

LTC 2624 menggunakan 4 sinyal untuk berkomunikasi, yaitu SCK, SDI, CS

dan SDO. Ke empat sinyal tersebut adalah standar sinyal pada protokol SPI. Sinyal

SDO pada LTC 2624 hanya digunakan jika chip dirangkai dalam mode daisy chain,

sehingga pada implementasi pada development board sinyal SDO dapat diabaikan.

Sinyal CS adalah sinyal slave select. Sinyal ini perlu diaktifkan agar DAC bisa

menerima data dari FPGA. Hal ini berbeda dengan ADC yang tidak memiliki sinyal

slave select, sebaliknya digunakan pulsa CONV dengan cara kerja yang berbeda.

Chip ini menggunakan panjang register 24 atau 32 bit. Panjang data yang

ditransfer sebenarnya hanya 24 bit. Mode 32 bit digunakan jika master hanya bisa

mengirim data dengan kelipatan 16 bit. Chip ini mensampling data pada pin SDI

pada rising edge clock, artinya data harus dikirim pada falling edge. Timing diagram

sinyal untuk LTC 2624 ditunjukkan oleh Gambar 3-11.

Page 29: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

19

Gambar 3-11. Timing diagram LTC 2624

Format data LTC 2624 terdiri dari 4 bit command, 4 bit address dan 16 bit

data.LTC 2624 sebenarnya hanya lah DAC 12 bit, sehingga 4 bit dari data diisi bit

don’t care. Command berisi perintah mengenai apa yang akan dilakukan DAC

dengan data yang diterima, sedangkan address adalah kanal DAC yang menjadi

tujuan. Penjelasan nilai bit command dan address ditunjukkan oleh Gambar 3-12.

Page 30: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

20

Gambar 3-12. Daftar command dan address

3.2.3. PGA LTC6912

Pada board Spartan 3E Starter ,pin header input analog tidak terhubung

langsung ke ADC melainkan di buffer terlebih dahulu oleh PGA (Programmable

Gain Amplifier). PGA adalah amplifier dengan gain yang bisa diubah-ubah. PGA

yang digunakan pada board Spartan 3E Starter adalah LTC 6912. PGA ini

berkomunikasi menggunakan protokol SPI.

LTC 6912 memiliki pilihan gain 0,1,2,5,10,20 dan 50 dalam konfigurasi

inverting amplifier. Gain PGA hanya perlu di atur sekali saat inisialisasi dan dapat

diabaikan setelahnya. Hal ini berarti keberadaan PGA tidak berpengaruh signifikan

terhadap desain controller untuk ADC/DAC.

Gambar 3-13.Timing diagram LTC 6912

Mengkonfigurasi PGA dilakukan dengan mengirim nilai kode gain lewat jalur

Page 31: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

21

SDI/MOSI. Timing diagram PGA ditunjukkan oleh Gambar 3-13 .Panjang data

adalah 8 bit yang memuat kode gain untuk kedua channel. Pada pemakaian

normal ,jalur SDO bisa diabaikan. PGA menyampling nilai pin SDI pada positive

edge clock, artinya FPGA mengirim data saat negative edge clock.

Page 32: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

22

BAB 4.

PERANCANGAN DAN PENGUJIAN

4.1. Konsep Rancangan

Sebuah SPI master yang terhubung ke banyak slave perlu membagi-bagi

waktu akses bus untuk masing-masing slave. Pada implementasi ADC/DAC

controller ini, jalur SPI dipakai bergantian antara berkomunikasi dengan ADC dan

DAC. Diagram dari proses ini ditunjukkan oleh Gambar 4-14.

Gambar 4-14. Pembagian waktu akses ADC dan DAC.

ADC dan DAC sendiri pada dasarnya adalah komponen yang hanya

membutuhkan komunikasi simplex. Misalnya sebuah ADC hanya perlu mengirim

data ke master, sedangkan DAC hanya perlu menerima data dari master. Artinya ada

kanal yang selalu kosong sepeti ditunjukkan pada Gambar 4-15.

Page 33: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

23

Gambar 4-15. Pemakaian kanal oleh ADC dan DAC.

Gambar diatas menunjukkan bahwa dengan pembagian waktu akses yang

dilakukan oleh SPI controller standar mengakibatkan ketidakefisiensian pemakaian

kanal. Solusi untuk hal tersebut adalah dengan melakukan transmisi yang digabung.

Metode ini ditunjukkan oleh Gambar 4-16. Transmisi ini tidak akan mengakibatkan

collision pada jalur data karena masing-masing transmisi terjadi pada jalur yang

berbeda.

Gambar 4-16. Transmisi tergabung ADC/DAC

Transmisi dengan cara seperti ini baru benar-benar bisa diimplementasikan

jika ADC maupun DAC yang digunakan benar-benar hanya memakai komunikasi

simplex. ADC LTC 1407 menggunakan jalur CONV untuk menerima perintah dari

FPGA, akan tetapi jalur ini diluar standar SPI dan tidak dibagi dengan komponen

lain. Artinya sinyal CONV ke ADC tidak akan bertabrakan dengan sinyal MOSI ke

DAC.

DAC LTC 2624 selain memiliki jalur terima (MOSI) juga memiliki jalur

kirim (MISO). Sehingga ada kemungkinan MISO dari DAC bertabrakan dengan

Page 34: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

24

MISO dari ADC. Akan tetapi DAC hanya akan menggunakan jalur MISO jika

digunakan dalam konfigurasi daisy chain ,sehingga dalam konfigurasi yang

digunakan di development board jalur MISO tidak perlu digunakan.

4.1.1. Kompatibilitas Mode Operasi

ADC LTC1407 mengirim data pada rising edge clock. LTC1407 sendiri tidak

membedakan apakah rising edge clock terjadi saat leading edge atau trailing edge.

Hal disebabkan ADC hanya melakukan proses pengiriman data tanpa menerima data.

Karena ADC mengirim pada rising edge , maka FPGA harus melakukan sampling

pada falling edge. Sedangkan LTC2624 melakukan sampling pada rising edge tidak

perduli apakah merupakan leading edge atau trailing edge. Artinya FPGA harus

mengirim data saat falling edge.

Mengkombinasikan kedua slave menjadi satu berarti membuat FPGA harus

mengirim dan menyampling data saat falling edge clock. Sebuah SPI controller yang

standar selalu menyampling dan mengirim pada clock edge yang berlawanan. Hal ini

menjadikan controller yang akan didesain tidak mengikuti standar SPI. Pada desain

ini proses mengirim dan menyampling terjadi pada clock edge yang sama.

Ketidakcocokan antara desain controller yang dibutuhkan dengan SPI

controller standar menjadikan metode ini tidak bisa diimplementasikan dengan

perangkat SPI standar.Akan tetapi masih mungkin diimplementasikan dengan

membuat custom controller dengan FPGA

4.2. Implementasi Kode Verilog

Struktur kode HDL untuk controller dapat digambarkan dengan blok diagram pada

Gambar 4-17. Seluruh sistem dibuat sinkron dengan clock utama termasuk rutin reset. Modul

Page 35: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

25

top level diberi nama fastADCDAC. Pada bagian ini I/O port dan register yang digunakan di

inisialisasi.

Gambar 4-17. Blok diagram kode Verilog.

Kode diatas dapat dibagi menjadi 3 bagian utama. Pertama adalah kode yang

dijalankan saat sinyal reset aktif atau disebut reset handler. Kedua adalah saat sinyal

reset tidak aktif dan PGA belum dikonfigurasi dan ketiga adalah saat reset tidak aktif

dan PGA telah dikonfigurasi.

Page 36: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

26

4.2.1. Inisialisasi I/O Dan Register

Pada bagian ini input dan output dari controller dideskripsikan. Controller

memiliki input clock utama (clk), tombol reset (rst_n) dan jalur MISO (MISO).

Output yang dibutuhkan adalah jalur MOSI (MOSI), clock SPI (SCK), sinyal kontrol

ADC (AD_CONV) , slave select PGA (AMP_CS) dan slave select DAC (DA_CS).

Selain itu output tambahan yang diperlukan adalah deretan led untuk debugging

(led_array) dan sinyal kendali untuk men-disable chip lain yang berbagi jalur SPI

(SPI_SS_B,SF_CE0, FPGA_INIT_B). Kode yang digunakan adalah dibawah

ini.

module fastDACADC(input clk,input rst_n,input MISO,output reg MOSI,output reg SCK,output reg AD_CONV,output reg AMP_CS,output reg DA_CS,output DAC_CLR,output reg [7:0] led_array,output SPI_SS_B, output SF_CE0,output FPGA_INIT_B);

Register yang di inisialisasi adalah spi_clock_counter digunakan

untuk mendapatkan clock SCK dengan membagi clock utama, spi_clock_comp

berfungsi menyimpan nilai pembagian dan edge_counter yang menghitung

jumlah clock edge SCK yang telah dilewat. Register ini digunakan untuk

menentukan tindakan yang dilakukan controller untuk berbagai keadaan nilai pulsa

clock. Kode yang digunakan adalah sebagai berikut.

reg [2:0] spi_clock_counter;reg [2:0] spi_clock_comp;reg [7:0] edge_counter;

Register lain yang di inisialisasi berhubungan dengan transfer data itu sendiri.

Page 37: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

27

AD_rx dan DA_tx adalah register buffer untuk transmit dan receive . AD_rx_ch1

dan AD_rx_ch2 menyimpan nilai konversi ADC kanal 1 dan kanal 2 yang diekstrak

dari register receive AD_rx. DA_tx_ch1 adalah nilai digital yang akan di-

concatenate dengan register DA_tx_ch1 untuk dikirim ke DAC. Kode yang

digunakan adalah sebagai berikut.

reg [31:0] AD_rx;reg [31:0] DA_tx;reg [13:0] AD_rx_ch1;reg [13:0] AD_rx_ch2;reg [11:0] DA_tx_ch1;

Register yang berhubungan dengan proses transformasi data kemudian

diinisialisasi. Pada contoh ini 8 buah register diinisialisasi untuk membuat delay

sebanyak 8 kali. Kode yang digunakan adalah sebagai berikut.

reg [13:0] tap1;reg [13:0] tap2;reg [13:0] tap3;reg [13:0] tap4;reg [13:0] tap5;reg [13:0] tap6;reg [13:0] tap7;reg [13:0] tap8;reg [31:0] sum;

wire spi_clock_enable;wire filter_clock_enable;reg AMP_ready;

4.2.2. Rutin Reset

Rutin reset berisi pernyataan untuk memberi nilai awal semua register.

Setelah power up ,nilai register pada rangkaian logika memiliki nilai yang tidak bisa

Page 38: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

28

ditentukan. Rutin reset pada dasarnya menginisiasi register dengan nilai yang pasti.

Jika nilai register dibiarkan tidak terinisialisasi maka perilaku rangkaian logika bisa

tidak terduga..

Rutin reset paling sederhana adalah memasukkan nilai 0 ke semua register.

Beberapa register yang tidak diinisialisasi dengan nilai 0 antara lain register

spi_clock_comp. Register ini diinisialisasi dengan nilai 7 untuk menghasilkan

pembagian clock yang besar sehingga periode clock SPI menjadi panjang. Hal ini

diperlukan karena komunikasi pertama kali yang dilakukan controller adalah dengan

PGA. PGA yang digunakan pada board Spartan 3E Starter memiliki spesifikasi clock

maksimum yang lebih rendah dibanding ADC dan DAC. Kode yang digunakan

adalah sebagai berikut.

always @(posedge clk) //syncrhonous system

Begin

//put register init here

spi_clock_counter <= 3'b000;

spi_clock_comp <= 3'b111;

edge_counter <= 8'b0000000;

SCK <= 0;

AD_CONV <= 0;

AMP_ready <= 0;

AMP_CS <= 1;

DA_CS <= 1;

DA_tx <= 32'b00010001000000010000000100000001;

AD_rx_ch1 <= 14'b00000000000000;

AD_rx_ch2 <= 14'b00000000000000;

DA_tx_ch1 <= 12'b000000000000;

AD_rx <= 32'b00000000000000000000000000000000;

Page 39: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

29

end //end reset

Beberapa teknologi FPGA sebenarnya mengimplementasikan rangkaian reset

dedicated dan atau memiliki kemampuan menginisialisasi register dengan nilai yang

tersimpan ke bitstream konfigurasi FPGA. Hal ini mengeliminasi rutin reset yang

harus ditambahkan ke dalam kode HDL akan tetapi metode ini umumnya bersifat

FPGA dependent. Hal ini mengakibatkan kode HDL harus disesuaikan untuk setiap

FPGA yang berbeda.

4.2.3. Inisialisasi Amplifier

Rutin inisialisasi amplifier adalah kode yang bertugas menginisialisasi IC

PGA. PGA diinisialisasi dengan mengirim 8 bit data lewat jalur MOSI. Data yang

dikirim telah dimasukkan ke register DA_tx pada rutin reset handler. Register

transmit yang digunakan sama dengan register yang digunakan untuk mengirim data

ke DAC yaitu DA_tx. Register tersebut memiliki panjang 32 bit sedangkan kode

konfigurasi amplifier hanya membutuhkan 8 bit sehingga hanya 8 bit paling

signifikan yang dipakai. Bit sisanya bisa diabaikan.

Rutin ini dijalankan secara sinkron dengan sinyal spi_clock_enable.

Register AMP_ready berfungsi sebagai flag yang menandakan status amplifier. Saat

FPGA baru saja dinyalakan, register ini diinisiasi dengan nilai 0 oleh rutin reset.

Nilai 0 berarti amplifier belum dikonfigurasi. Kode sensitivity list yang digunakan

adalah sebagai berikut.

if(spi_clock_enable && !(AMP_ready))beginedge_counter <= edge_counter +1;

Page 40: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

30

Rutin transmisi terdiri dari satu blok if().Blok ini berisi kode yang

melakukan pergeseran register transmit dan clock toggling. Saat nilai

edge_counter bernilai genap (LSB nya bernilai 0) SCK dibuat menjadi high,

saat edge_counter bernilai ganjil (LSB nya bernilai 1) SCK dibuat low dan isi

register digeser keluar. Setelah semua bit selesai digeser komunikasi ke amplifier di

disable dengan mengeset register AMP_CS menjadi 1 dan membuat register

AMP_ready menjadi 1. Register edge_counter di reset menjadi 0 dan nilai

spi_clock_comp diberi nilai minimum (1) untuk mendapat frekuensi SCK

maksimum. Setelah rutin ini selesai, akan diambil alih oleh rutin komunikasi

ADC/DAC dan tidak akan aktif kecuali jka FPGA direset. Kode yang digunakan

adalah sebagai berikut

if(edge_counter[0]) //edge_counter odd, rising edge SCKbeginSCK <= 1;end //else //edge_counter even, falling edge SCK or right after reset deassertedbeginSCK <= 0;MOSI <= DA_tx[31];DA_tx <= {DA_tx[30:0],1'b0};end

4.2.4. Rutin ADC/DAC

Blok komunikasi ADC/DAC bekerja dengan prinsip yang sama dengan blok

inisialisasi amplifier. Setiap falling edge SCK data di MISO di-sample dan disimpan

Page 41: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

31

di register AD_rx dan data di DA_tx digeser ke MOSI. Saat rising edge , controller

tidak melakukan apa-apa.

Sinyal SCK dibangkitkan berdasarkan nilai register edge_counter. Jika

nilai register ini ganjil atau LSB nya bernilai 1 maka sinyal SCK dibuat 1. Hal ini

berartinya rising edge SCK dihasilkan. Jika LSB bernilai genap maka dihasilkan

falling edge serta nilai register SPI digeser. Rutin ini diimplementasikan dengan kode

berikut

if(edge_counter[0]) //edge_counter odd, rising edge SCKbeginSCK <= 1;end //else //edge_counter even, falling edge SCK or right after reset deassertedbeginSCK <= 0;AD_rx <= {AD_rx[30:0],MISO};MOSI <= DA_tx[31];DA_tx <= {DA_tx[30:0],1'b0}; end

Pada blok if() ini beragam tindakan dilakukan berdasarkan nilai register

edge_counter. Jika nilai edge_counter adalah 0 atau awal dari transmisi

maka pulsa CONV aktifkan dan DA_CS di buat low. Kode ini berfungsi

memperintahkan ADC untuk mengirim hasil konversi dan DAC agar menerima data

baru dari FPGA. Data hasil konversi ADC sebelumnya kemudian diambil sekaligus

dikonversi ke format biner biasa. Kode yang digunakan adalah sebagai berikut.

if(edge_counter==0)beginAD_CONV <= 1;DA_CS <= 0;

Page 42: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

32

AD_rx_ch1 <= AD_rx[29:16] + 14'b10000000000000;AD_rx_ch2 <= AD_rx[13:0] + 14'b10000000000000;end

Jika edge_counter bernilai 2 maka sinyal CONV dinonaktifkan. Kode

yang digunakan adalah sebagai berikut

else if(edge_counter == 2)beginAD_CONV <= 0;end

Jika edge_counter bernilai 48 atau akhir dari transmisi ke DAC maka

sinyal DA_CS dibuat high. Artinya DAC tidak akan menerima data lagi dari FPGA.

DAC baru akan aktif lagi setelah proses transfer data dari ADC selesai. Kode yang

digunakan adalah sebagai berikut.

else if(edge_counter == 48)beginDA_CS <= 1;end

Jika edge_counter bernilai 64 atau akhir dari transmisi maka

edge_counter diubah menjadi bernilai 0. Kemudian data baru dimasukkan ke register

kirim DA_tx untuk dikirim ke DAC pada siklus transfer selanjutnya. Kode yang

digunakan adalah sebagai berikut

else if(edge_counter == 64)beginedge_counter <= 0;DA_tx <= {4'b0011,4'b1111,DA_tx_ch1,4'b0000,8'b00000000};

Page 43: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

33

4.3. Simulasi dan Pengujian

4.3.1. Simulasi

Simulasi dilakukan dengan Isim yang merupakan perangkat lunak yang

termasuk di dalam paket software Xilinx ISE. Sebelum dilakukan simulasi maka

perlu dibuat stimulus/test bench.Stimulus adalah sinyal yang akan mensimulasikan

input bagi sistem. Pada sistem ini, stimulus bertugas membangkitkan clock utama,

sinyal reset dan MISO.

Stimulus pada dasarnya juga sebuah kode verilog dengan input dan output.

Input output yang dideklarasikan untuk stimulus ini adalah sebagai berikut.

module fastADCDACstim;

// Inputsreg clk;reg rst_n;reg MISO;

// Outputswire MOSI;wire SCK;wire AD_CONV;wire AMP_CS;wire DA_CS;wire DAC_CLR;wire [7:0] led_array;wire SPI_SS_B;wire SF_CE0;wire FPGA_INIT_B;

Stimulus kemudian meng-instantiate Unit Under Test (UUT). UUT yang

dimaksud disini adalah SPI controller itu sendiri. Karena stimulus meng-instantiate,

maka stimulus yang menjadi top level module. Saat UUT di-instantiate, input/output

stimulus dihubungkan dengan input/output UUT sehingga stimulus dapat

mengendalikan UUT. Kode yang digunakan adalah sebagai berikut.

Page 44: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

34

// Instantiate the Unit Under Test (UUT)fastDACADC uut ( .clk(clk),.rst_n(rst_n),.MISO(MISO), .MOSI(MOSI),.SCK(SCK),.AD_CONV(AD_CONV),.AMP_CS(AMP_CS), .DA_CS(DA_CS),.DAC_CLR(DAC_CLR),.led_array(led_array), .SPI_SS_B(SPI_SS_B),.SF_CE0(SF_CE0),.FPGA_INIT_B(FPGA_IN

IT_B) );

Kode selanjutnya adalah kode yang membangkitkan sinyal stimulus. Stimulus

yang digunakan hanya perlu membangkitkan sinyal clock dan sinyal reset. Sinyal

reset yang digunakan adalah sinyal yang aktif sejak t=0 kemudian dinonaktifkan

setelah lewat 40ns. Sedangkan sinyal clock adalah sinyal free running yang otomatis

melakukan toggling nilai setiap 10ns sehingga dihasilkan clock dengan frekuensi

50Mhz. Kode yang digunakan adalah sebagai berikut.

initial begin// Initialize Inputsclk = 0;rst_n = 0;MISO = 1;#40 rst_n = 1;

endalways begin

#10 clk = ~clk;end

endmodule

Controller kemudian disimulasi dengan software Isim. Saat simulator

dijalankan stimulus akan otomatis membangkitkan sinyal-sinyal kontrol. Hasil

Simulasi ditunjukkan oleh Gambar 5-18, dan Error: Reference source not found.

Page 45: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

35

Gambar 5-18. Simulasi inisialisasi amplifier

Gambar 5-18 menunjukkan simulasi inisialisasi amplifier. Gambar diatas

adalah potongan simulasi dari t=0ns hingga t=600ns. Dapat dilihat dari gambar

tersebut adalah 1 siklus SCK memiliki periode 320ns atau sama dengan 16 siklus

clock utama. Sinyal SCK didapat dengan membagi clock utama . Nilai pembagian

Page 46: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

36

disimpan di register spi_clock_comp yang pada gambar diatas berisi nilai 111b.

Nilai ini adalah nilai yang dimasukkan ke register spi_clock_comp oleh reset

handler. Dapat dilihat pula isi register DA_tx digeser tepat pada falling edge SCK.

DA_tx mulai digeser sejak AMP_CS bernilai low.

Gambar 5-19. Simulasi transisi amplifier ke ADC/DAC

Page 47: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

37

Gambar 5-19 menunjukkan hasil simulasi dari t=2000ns hingga t= 3500ns.

Hal yang ditunjukkan dari potongan simulasi tersebut adalah saat amplifier selesai

dikonfigurasi dan berganti ke rutin ADC/DAC. Bisa dilihat setelah amplifier selesai

dikonfigurasi register AMP_ready berubah menjadi high. Frekuensi SCK juga

menjadi lebih tinggi. Hal ini dilakukan dengan cara mengubah nilai didalam register

spi_clock_comp menjadi 1b. Jika saat melakukan transfer ke PGA, 1 siklus SCK

terdiri dari 16 siklus clock utama maka saat transfer ke ADC/DAC 1 siklus SCK

terdiri dari 4 siklus clock utama.

Gambar 5-20. Simulasi kecepatan sample rate dari controller

Page 48: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

38

Gambar 5-20 menunjukkan sample rate controller yang dibuat. Terlihat blok

filter dijalankan setiap 2,6us untuk nilai clock utama 50Mhz artinya sample rate dari

controller adalah sekitar 384ksps.

4.3.2. Pengujian

Pengujian yang dilakukan adalah dengan menghubungkan data dari ADC

langsung ke DAC di dalam FPGA. Data dari register terima AD_rx_ch2 ditunda

sebanyak 8 kali sampling dengan register tap1 hingga tap8 kemudian dimasukkan

ke register kirim DA_tx_ch1d. Dengan ini nilai analog dari ADC akan tampil di

DAC tanpa perubahan bentuk. Kode yang digunakan adalah sebagai berikut.

if(filter_clock_enable && AMP_ready)begintap1 <= AD_rx_ch2[13:0];tap2 <= tap1;tap3 <= tap2;tap4 <= tap3;tap5 <= tap4;tap6 <= tap5;tap7 <= tap6;tap8 <= tap7;

//sum <= (tap1*2 + tap2*2 + tap3*2 + tap4*2 + tap5*2 + tap6*2 + tap7*2 + tap8*2);sum[17:4] <= tap8;DA_tx_ch1 <= sum[17:6];//led_array <= sum[17:10];

endPengujian dilakukan dengan bantuan perangkat signal generator dan

osiloskop. Signal generator diatur untuk menghasilkan sinyal sinus dengan

amplitudo 2,5V dan offset sebesar 1,65 V. Nilai tegangan ini adalah rentang

maksimal dari ADC. Output dari DAC kemudian dihubungkan ke osiloskop. Sinyal

input dan output kemudian dibandingan.

Page 49: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

39

Pengujian pertama menggunakan sinyal sinus dengan frekuensi 1Khz. Hasil

pengujian dapat dilihat pada Error: Reference source not found. Sinyal bagian atas

adalah keluaran DAC dan memiliki amplitudo peak to peak sebesar 3,3V. Sinyal

dibagian bawah adalah input ADC dan memiliki amplitudo peak to peak sebesar

2,5V.

Gambar 4-21. Pengujian dengan sinus 1Khz.

Pada Gambar 4-21 dapat dilihat bahwa sinyal input berbentuk sama dengan

sinyal output. Artinya data yang dibaca oleh ADC persis sama dengan data yang

dikirim ke DAC. Pada gambar tersebut sinyal output memiliki perbedaan fase

sebesar 180o. Pergeseran fase ini disebabkan oleh PGA yang berupa inverting

amplifier.

Page 50: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

40

Gambar 4-22. Pengujian dengan sinus 10 Khz

Gambar 4-22 adalah hasil pengujian untuk sinyal input sinus 10Khz.Bisa

dilihat bahwa pergeseran fase yang ditimbulkan oleh register delay mulai tampak.

Berdasarkan gambar waktu tunda adalah sekitar 20us.

Bila dilihat di kode filter yang diimplementasikan, register AD_rx_ch2

digeser sebanyak 8 kali oleh register tap1 hingga tap8. Dengan nilai tunda 1

register 2,6us maka tunda oleh 8 register adalah 20,8us. Perlu diperhatikan tunda

tersebut untuk transfer dari register AD_rx_ch2 hingga register tap8. Tunda

sebenarnya dari input amplifier hingga output DAC bisa lebih lama akan tetapi tunda

oleh 8 register paling signifikan. Sehingga bisa diasumsikan group delay adalah

sebesar 20,8us.

Page 51: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

41

Gambar 4-23. Pengujian dengan sinus 100Khz.

Gambar 4-23 menunjukkan hasil pengujian untuk sinyal input sinus 100Khz.

Bisa dilihat sinyal output telah mengalami distorsi.

Page 52: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

42

BAB 5.

PENUTUP

5.1. Kesimpulan

Berdasarkan simulasi dan pengujian yang dilakukan dapat disimpulkan :

1) Pengujian terhadap ADC/DAC beserta controllernya memberikan hasil seperti

yang diharapkan. FPGA berhasil berkomunikasi dengan ADC dan DAC secara benar.

2) Dengan menggabung transfer ke DAC dan transfer ke ADC sample rate bisa

dimasimalkan. Controller yang didesain memiliki periode sample 2,6us untuk clock

utama 50Mhz atau sample rate sebesar 384ksps. Sedangkan jika menggunakan

metode komunikasi SPI standar maka sample rate menjadi setengahnya.

3) Pada pengujian dengan frekuensi 100Khz, sinyal sinus yang dibangkitkan mulai

terdistorsi. Hal ini disebabkan oleh sinyal frekuensi tinggi yang disebabkan oleh

proses sampling . Distorsi bisa dikurangi dengan memberi low pass filter pada output

DAC.

4) Dari hasil pengujian dengan sinyal sinus 100Khz, sinyal keluaran tidak tampak

memiliki step yang diskrit. Hal ini disebabkan DAC memiliki slew rate yang terbatas

yaitu sebesar 0,8V/us.

Page 53: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

43

5.2. Saran

Beberapa pengembangan yang bisa dilakukan terhadap controller ini antara

lain

1) Meningkatkan sample rate hingga mendekati kemampuan maksimum chip

ADC/DAC. Peningkatan dapat dilakukan dengan memperbesar clock utama. Clock

utama bisa diperbesar dengan menggunakan PLL yang terdapat di dalam FPGA.

Peningkatan dengan cara lain adalah dengan mendesain ulang bagian clock

enable .Pada desain ini, clock SCK adalah 1/4 dari clock utama, peningkatan menjadi

1/2 clock utama masih bisa dilakukan

2) Membuat low pass filter untuk mengurangi distorsi DAC. Akan tetapi karena

keterbatasan respon frekuensi filter yang bisa direalisasikan maka pengurangan

distorsi juga harus dilakuakn dengan cara oversampling.

3) Menambah jumlah kanal output controller. Desain yang ini hanya memakai 1

kanal dari DAC. Sehingga masih memungkinkan dikembangkan desain dengan

keluaran 4 kanal. Akan tetapi karena data untuk 4 kanal perlu ditransfer dalam 96

siklus SCK maka sample rate akan turun.

Page 54: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

44

DAFTAR PUSTAKA

Anonim.2006,Spartan-3E Starter Kit Board User Guide, [pdf],

(http://www.xilinx.com/support/documentation/boards_and_kits/ug130.pdf)

Anonim.2004,LTC1407-1/LTC1407A-1,[pdf],

http://cds.linear.com/docs/en/datasheet/14071fb.pdf

Anonim.2004,LTC2604/LTC2614/LTC2624,[pdf],

http://cds.linear.com/docs/en/datasheet/2604fd.pdf

Anonim.2004,LTC6912,[pdf],

http://cds.linear.com/docs/en/datasheet/6912fa.pdf

Bhasker,J.1998, Verilog HDL Syhthesis a Practical Primer.Allentown : Star

Galaxy Publishing

Palnitkar,Samir.1996, Verilog HDL A guide to Digital Design and Synthesis,

______:Sunsoft Press

Page 55: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

1

LAMPIRAN A

Kode Verilog SPI Controller

`timescale 1ns / 1ns

//SPI mode:

//idle clock : LOW

//leading edge : positive going

//trailing edge : negative going

//sampling and propagating at trailing edge

module fastDACADC(input clk,input rst_n,input MISO,output

reg MOSI,output reg SCK,output reg AD_CONV,output reg

AMP_CS,output reg DA_CS,output DAC_CLR,output reg [7:0]

led_array,output SPI_SS_B, output SF_CE0,output

FPGA_INIT_B);

reg [2:0] spi_clock_counter;

reg [2:0] spi_clock_comp;

reg [7:0] edge_counter;

reg [31:0] AD_rx;

reg [31:0] DA_tx;

reg [13:0] AD_rx_ch1;

reg [13:0] AD_rx_ch2;

reg [11:0] DA_tx_ch1;

reg [13:0] tap1;

reg [13:0] tap2;

reg [13:0] tap3;

reg [13:0] tap4;

reg [13:0] tap5;

reg [13:0] tap6;

reg [13:0] tap7;

reg [13:0] tap8;

reg [31:0] sum;

Page 56: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

2

wire spi_clock_enable;

wire filter_clock_enable;

reg AMP_ready;

always @(posedge clk) //syncrhonous system

begin

if(!rst_n) //reset asserted (low value)

begin //begin reset handler

//put register init here

spi_clock_counter <= 3'b000;

spi_clock_comp <= 3'b111;

edge_counter <= 8'b0000000;

SCK <= 0;

AD_CONV <= 0;

AMP_ready <= 0;

AMP_CS <= 1;

DA_CS <= 1;

DA_tx <= 32'b00010001000000010000000100000001;

AD_rx_ch1 <= 14'b00000000000000;

AD_rx_ch2 <= 14'b00000000000000;

DA_tx_ch1 <= 12'b000000000000;

AD_rx <= 32'b00000000000000000000000000000000;

end //end reset handler

else //reset deasserted (high value)

begin //normal program,everything that

happen on posedge of clk

//normal program should:

//generate clock enable for spi derived from main clock

//and clock enable for filter derived from spi clock

spi_clock_counter <= spi_clock_counter + 1; //free

running counter, overflow return to zero

if(spi_clock_counter == spi_clock_comp)

Page 57: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

3

begin

spi_clock_counter <= 3'b000;

end

if(spi_clock_enable && AMP_ready) //everything happen on

posedge clk enabled by spi_clock_enable signal

begin

//things should happen here : and AD_CONV generation

//,SCK generation, capture MISO

edge_counter <= edge_counter +1; //free running

counter, overflow return to zero

if(edge_counter[0]) //edge_counter odd, rising edge SCK

begin

SCK <= 1;

end //

else //edge_counter even,

falling edge SCK or right after reset deasserted

begin

SCK <= 0;

AD_rx <= {AD_rx[30:0],MISO};

MOSI <= DA_tx[31];

DA_tx <= {DA_tx[30:0],1'b0};

end

if(edge_counter==0)

begin

AD_CONV <= 1;

DA_CS <= 0;

AD_rx_ch1 <= AD_rx[29:16] + 14'b10000000000000;

AD_rx_ch2 <= AD_rx[13:0] + 14'b10000000000000;

Page 58: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

4

end

else if(edge_counter == 2)

begin

AD_CONV <= 0;

end

else if(edge_counter == 48)

begin

DA_CS <= 1;

end

else if(edge_counter == 64)

begin

edge_counter <= 0;

DA_tx <= {4'b0011,4'b1111,DA_tx_ch1,4'b0000,8'b00000000};

//DA_tx register itself is 32 bit long, but only 24 bit

is

//sampled by DAC due to DA_CS pullled high at

edge_counter=48

//Even if DA_CS pulled high at edge_counter = 32, the

rest bit

//is don't care which won't give any different effect.

end

end

if(spi_clock_enable && !(AMP_ready))

begin

edge_counter <= edge_counter +1;

if(edge_counter[0]) //edge_counter odd, rising edge SCK

begin

SCK <= 1;

end //

Page 59: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

5

else //edge_counter even,

falling edge SCK or right after reset deasserted

begin

SCK <= 0;

MOSI <= DA_tx[31];

DA_tx <= {DA_tx[30:0],1'b0};

end

if(edge_counter==0)

begin

AMP_CS <= 0;

end

else if(edge_counter==16)

begin

AMP_CS <= 1;

AMP_ready <= 1;

DA_tx <= 32'b10110011100011110000111110000010;

edge_counter <= 0;

spi_clock_comp <= 3'b001;

end

end

if(filter_clock_enable && AMP_ready) //everything happen

on posedge clk enabled by filter_clock_enable signal

begin

tap1 <= AD_rx_ch2[13:0];

tap2 <= tap1;

tap3 <= tap2;

tap4 <= tap3;

tap5 <= tap4;

tap6 <= tap5;

tap7 <= tap6;

Page 60: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

6

tap8 <= tap7;

//sum <= (tap1*2 + tap2*2 + tap3*2 + tap4*2 + tap5*2 +

tap6*2 + tap7*2 + tap8*2);

sum[17:4] <= tap8;

DA_tx_ch1 <= sum[17:6];

//led_array <= sum[17:10];

end

end //end normal program

end //end synchronous system

assign spi_clock_enable = (spi_clock_counter == 1)?1:0;

assign filter_clock_enable = (edge_counter == 1)?1:0;

assign SPI_SS_B = 1;

assign FPGA_INIT_B = 1;

assign SF_CE0 = 1;

assign DAC_CLR = 1;

endmodule

Page 61: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

1

LAMPIRAN BKode Stimulus Simulasi

module fastADCDACstim;

// Inputs

reg clk;

reg rst_n;

reg MISO;

// Outputs

wire MOSI;

wire SCK;

wire AD_CONV;

wire AMP_CS;

wire DA_CS;

wire DAC_CLR;

wire [7:0] led_array;

wire SPI_SS_B;

wire SF_CE0;

wire FPGA_INIT_B;

// Instantiate the Unit Under Test (UUT)

fastDACADC uut (

.clk(clk),

.rst_n(rst_n),

.MISO(MISO),

.MOSI(MOSI),

.SCK(SCK),

.AD_CONV(AD_CONV),

.AMP_CS(AMP_CS),

.DA_CS(DA_CS),

.DAC_CLR(DAC_CLR),

.led_array(led_array),

Page 62: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

2

.SPI_SS_B(SPI_SS_B),

.SF_CE0(SF_CE0),

.FPGA_INIT_B(FPGA_INIT_B)

);

initial begin

// Initialize Inputs

clk = 0;

rst_n = 0;

MISO = 1;

#40 rst_n = 1;

end

always begin

#10 clk = ~clk;

end

endmodule

Page 63: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

1

LAMPIRAN CKode UCF (User Constraint File)

NET "led_array[7]" LOC = F9;

NET "led_array[6]" LOC = E9;

NET "led_array[5]" LOC = D11;

NET "led_array[4]" LOC = C11;

NET "led_array[3]" LOC = F11;

NET "led_array[2]" LOC = E11;

NET "led_array[1]" LOC = E12;

NET "led_array[0]" LOC = F12;

NET "AD_CONV" LOC = P11;

NET "SCK" LOC = U16;

NET "AMP_CS" LOC = N7;

NET "MOSI" LOC = T4;

NET "MISO" LOC = N10;

NET "clk" LOC = C9;

NET "clk" PERIOD = 20.0ns HIGH 40%;

NET "rst_n" LOC = L13;

NET "DAC_CLR" LOC = P8;

NET "rst_n" PULLUP;

# PlanAhead Generated physical constraints

NET "DA_CS" LOC = N8;

NET "FPGA_INIT_B" LOC = T3;

NET "SPI_SS_B" LOC = U3;

NET "SF_CE0" LOC = D16;

Page 64: LAPORAN KERJA PRAKTEK · Web viewLaporan kerja praktek ini adalah hasil dari kegiatan yang dilaksanakan di Laboratorium Pengolahan Isyarat. Pada kegiatan Kerja Praktek ini penulis

1

LAMPIRAN DDevice Utilization Summary