PSD 2005

50
PRAKTIKUM PERANCANGAN SISTEM DIGITAL BAB I PENDAHULUAN Xilinx Foundation Series menyediakan tiga jenis alat memasukkan desain (design entry tools), masing-masing mendukung suatu tipe khusus deskripsi desain dan bekerja dengan dokumen dengan tipe tertentu : 1. Schematic Editor Editor Skematik (Schematic Editor) mendukung desain berdasarkan skematik hirarkis dengan banyak sheet. Skematik, yang merupakan metode deskripsi desain yang paling umum, didukung pada setiap tipe project. Schematic Editor adalah satu-satunya tool yang memungkinkan pencampuran semua tipe desain dengan kemampuannya untuk menerima macro yang berasal dari deskripsi desain non- schematic. 2. HDL Editor Editor HDL (HDL Editor) adalah editor teks untuk menangani HDL. Secara khusus, editor ini mendukung dua macam language : - ABEL - VHDL 93 HDL Editor menyediakan interface untuk alat sintesis eksternal untuk mensintesis kode HDL menjadi gate-level netlist. Kode HDL dapat mensubstitusi beberapa bagian dari skematik atau bahkan keseluruhan skematik project. 3. State Editor Editor State (State Editor) mendukung pemasukan desain dalam bentuk diagram state machine dan mempunyai kemampuan translasi otomatis dari diagram tersebut menjadi kode HDL. Desain dengan State-Diagram lebih sering digunakan untuk mendeskripsikan bagian kecil dari desain daripada untuk mendeskripsikan keseluruhan desain. LABORATORIUM TEKNIK ELEKTRONIKA ITN MALANG

Transcript of PSD 2005

Page 1: PSD 2005

PRAKTIKUM PERANCANGAN SISTEM DIGITAL

BAB I

PENDAHULUAN

Xilinx Foundation Series menyediakan tiga jenis alat memasukkan desain

(design entry tools), masing-masing mendukung suatu tipe khusus deskripsi desain

dan bekerja dengan dokumen dengan tipe tertentu :

1. Schematic Editor Editor Skematik (Schematic Editor) mendukung desain berdasarkan skematik

hirarkis dengan banyak sheet. Skematik, yang merupakan metode deskripsi desain

yang paling umum, didukung pada setiap tipe project. Schematic Editor adalah

satu-satunya tool yang memungkinkan pencampuran semua tipe desain dengan

kemampuannya untuk menerima macro yang berasal dari deskripsi desain non-

schematic.

2. HDL Editor Editor HDL (HDL Editor) adalah editor teks untuk menangani HDL. Secara

khusus, editor ini mendukung dua macam language :

- ABEL- VHDL 93

HDL Editor menyediakan interface untuk alat sintesis eksternal untuk mensintesis

kode HDL menjadi gate-level netlist. Kode HDL dapat mensubstitusi beberapa

bagian dari skematik atau bahkan keseluruhan skematik project.

3. State Editor Editor State (State Editor) mendukung pemasukan desain dalam bentuk diagram

state machine dan mempunyai kemampuan translasi otomatis dari diagram tersebut

menjadi kode HDL. Desain dengan State-Diagram lebih sering digunakan untuk

mendeskripsikan bagian kecil dari desain daripada untuk mendeskripsikan

keseluruhan desain.

LABORATORIUM TEKNIK ELEKTRONIKA ITN MALANG

Page 2: PSD 2005

PRAKTIKUM PERANCANGAN SISTEM DIGITAL

BAB II

COUNTER BCD ( BINARY CODED DESIMAL )

2.1. Tujuan

Memahami cara pemrograman IC Xilinx CPLD XC95108-PC84 dengan

menggunakan software Xilinx Foundation 2.1i

2.2. Peralatan Yang Digunakan

- IC XILINX XC95108

- Satu buah PC (Personal Computer)

- Software XILINX Foundation F2.1i

- Power Supply

- XS-95 Board

- Xstend Board

2.3. Program Aplikasi

Berikut ini akan dirancang sebuah counter BCD menggunakan IC CPLD

XILINX XC95108-PC84, dimana merancangnya menggunakan Software Xilinx

Foundation 2.1i dengan menggunakan Hierarchial Desain atau Macro Level Desain.

Counter ini akan ditampilkan langsung dalam sebuah 7-segmen LED common

katoda, melalui sebuah macro decoder 7-segment. Dimana sebuah 7-segmen ini akan

menampilkan angka hasil counter dari 0,1,2,… sampai dengan 9 dalam bentuk

desimal. Sebagai masukan clock dan reset dari counter digunakan fasilitas PC

parallel port melalui software GXSPORT.

LABORATORIUM TEKNIK ELEKTRONIKA ITN MALANG

Page 3: PSD 2005

PRAKTIKUM PERANCANGAN SISTEM DIGITAL

Maka blok rangkaian yang akan dirancang adalah sebagai berikut :

Untuk mewujukan hal tersebut, karena akan didesain dengan menggunakan metode

Hierarchial desain maka dalam desain akan dibuat 2 buah macro yaitu:

- macro counter BCD

- macro decoder BCD to 7 Segment

a. Macro counter BCD

Komponen ini terdiri dari 2 inputan yaitu :

- CLOCK adalah inputan clock untuk bekerjanya counter

- RESET adalah inputan reset untuk mereset counter kekondisi “0000”

Dan sebuah output OUTS yang berisikan data biner 4 bit

LABORATORIUM TEKNIK ELEKTRONIKA ITN MALANG

Page 4: PSD 2005

PRAKTIKUM PERANCANGAN SISTEM DIGITAL

Counter akan mengcounter mengeluarkan data 4 bit pada output OUTS,

mula-mula semua output OUTS adalah nol, hingga pin RESET di trigger, dan

CLOCK diberikan, rangkaian akan mengcounter hingga bit “1001” dan akan

kembali kenilai awal “0000”.

b. Macro Decoder BCD to 7 Segment

Komponen ini terdiri dari 2 inputan, yaitu :

- RST adalah inputan reset untuk mereset kekondisi output “0” desimal

- INP adalah inputan biner 4-bit dimana kita memasukkan data biner 4-bit.

Dan 1 buah output, yaitu :

- OUTS adalah output data biner 7-bit yang dimasukkan ke 7 segmen

Komponen akan mendekodekan masukan 4-bit kedalam keluaran desimal yang akan

ditampilkan dalam sebuah 7 segment LED.

2.4. Langkah Percobaan

Untuk membuat program tersebut akan digunakan Software XILINX

Foundation 2.1i, berikut ini adalah langkahnya :

1. Membuka program Foundation 2.1i dengan cara mengklik icon Project

Manager

LABORATORIUM TEKNIK ELEKTRONIKA ITN MALANG

Page 5: PSD 2005

PRAKTIKUM PERANCANGAN SISTEM DIGITAL

2. Membuat projek baru (Create New Project) dengan nama Project1, letakkan

pada folder direktori D:\P1. Kolom isian sesuaikan dengan gambar berikut:

Pilihlah Schematic Flow, Family XC9500, Device 95108PC84 dengan Speed

Grade 20. Hal ini dilakukan untuk menentukan jenis IC yang akan kita pakai.

3. Kemudian pada Project Manager di bagian desain entry klik HDL Editor

LABORATORIUM TEKNIK ELEKTRONIKA ITN MALANG

Page 6: PSD 2005

PRAKTIKUM PERANCANGAN SISTEM DIGITAL

4. Pada dialog box HDL Editor memilih Create Empty

5. Setelah muncul window HDL Editor maka bisa diketikkan program

DEC7SEG untuk membuat macro yang pertama. Sehingga hasilnya seperti

berikut :

LABORATORIUM TEKNIK ELEKTRONIKA ITN MALANG

Page 7: PSD 2005

PRAKTIKUM PERANCANGAN SISTEM DIGITAL

6. Kemudian menyimpan dengan mengklik File Save, simpanlah dengan

nama file dec7seg.vhd

7. Untuk mengoreksi apakah dalam pengetikan program terjadi kesalahan

susunan maka lakukan Chek Syntax dengan mengklik Synhesize Chek

Syntax

8. Setelah muncul pesan Successful, lakukan Synthesize dengan cara mengklik

Synthesize Synthesize

9. Setelah muncul pesan Successful, buatlah Macro dari HDL yang telah

disynthesize dengan cara mengklik Project Create Macro

LABORATORIUM TEKNIK ELEKTRONIKA ITN MALANG

Page 8: PSD 2005

PRAKTIKUM PERANCANGAN SISTEM DIGITAL

10. Setelah macro terbentuk (ditandai dengan pesan Successful) berarti macro

sudah terbentuk.

11. Kemudian pada Project Manager di bagian desain entry klik FSM Editor

12. Pada dialog box HDL Editor pilihlah Create Empty

13. Setelah muncul window Window Editor maka buatlah State diagram untuk

membuat macro yang kedua. Sehingga hasilnya seperti berikut :

LABORATORIUM TEKNIK ELEKTRONIKA ITN MALANG

Page 9: PSD 2005

PRAKTIKUM PERANCANGAN SISTEM DIGITAL

14. Setelah selesai simpanlah file tersebut dengan nama file CNTBCD, kemudian

lakukan step seperti pada pembuatan macro yang pertama, Synthesize,

Create Macro. Sehingga macroyang kedua ini terbentuk.

15. Setelah macro kedua terbentuk, kemudian kembali ke Project Manager pada

Desain Entry klik Schematic Editor, kemudian akan muncul schematic

editor.

LABORATORIUM TEKNIK ELEKTRONIKA ITN MALANG

Page 10: PSD 2005

PRAKTIKUM PERANCANGAN SISTEM DIGITAL

16. Mengklik symbol toolbox pada bagian sebelah kiri . Akan muncul

kumpulan Macro Schematic Symbol. Kedua buah macro yang telah dibuat

terletak paling atas pada window.

17. Meletakkan kedua macro tersebut dalam schematic kemudian dirangkaian.

Setelah itu tambahkanlah IPAD dan OBUF pada semua bagian input (sebelah

kiri macro) serta OPAD dan OBUF pada semua bagian output (sebelah kanan

macro) yang diambil dari window SC Symbol pada library XC9500.

Sehingga hasilnya sebagai berikut :

LABORATORIUM TEKNIK ELEKTRONIKA ITN MALANG

Page 11: PSD 2005

PRAKTIKUM PERANCANGAN SISTEM DIGITAL

18. Untuk selanjutnya akan ditentukan pin mana pada CPLD yang akan

terhubung dengan rangkaian luar. Pertama-tama kita harus melihat data sheet

dari IC CPLD yang kita pakai.

LABORATORIUM TEKNIK ELEKTRONIKA ITN MALANG

Page 12: PSD 2005

PRAKTIKUM PERANCANGAN SISTEM DIGITAL

19. Kita dapat menentukan kaki-kaki sesuai yang kita inginkan. Dengan cara

mengklik dua kali IPAD/OPAD pada schematik. Pada Parameter pilih LOC,

lalu di Description isikan nomor pinnya (diawali dengan huruf P). Kemudian

klik ADD dan nomor pin akan muncul seperti contoh dibawah ini :

LABORATORIUM TEKNIK ELEKTRONIKA ITN MALANG

Page 13: PSD 2005

PRAKTIKUM PERANCANGAN SISTEM DIGITAL

20. Lengkapi untuk semua input dan output, dan bila telah lengkap akan terlihat

seperti gamabar berikut ini :

- Kemudian akan dilakukan simulasi Fungsional dengan cara mengklik

icon Simulation pada Project Manager .

LABORATORIUM TEKNIK ELEKTRONIKA ITN MALANG

Page 14: PSD 2005

PRAKTIKUM PERANCANGAN SISTEM DIGITAL

21. Kemudian akan muncul Window Logic Simulator, kemudian klik icon

Select Component . Selanjutnya akan muncul 3 sub window.

22. Pada sub window paling kanan, klik kanan pada sub window tersebut dan

pilih Add All. Setelah itu tekan Close dibagian bawah, jelasnya terlihat pada

gambar dibawah ini :

23. Selanjutnya pada window Waveform Viewer pada Logic Simulator akan kita

lihat keseluruhan input dan output dari macro counter. Untuk melakukan

simulasi, pada bagian input akan kita beri stimulan (sinyal) lalu kita amati

hasilnya pada output. Untuk melihat mana input dan mana output dapat

kembali melihat macro di schematik.

LABORATORIUM TEKNIK ELEKTRONIKA ITN MALANG

Page 15: PSD 2005

PRAKTIKUM PERANCANGAN SISTEM DIGITAL

24. Langkah berikutnya adalah memberikan stimulan (sinyal) pada input, ini

dilakukan dengan memilih sinyal input mana yang akan diberi stimulan,

(ditandai dengan blok pada input yang bersangkutan) lalu klik Select

Stimulator . Akan muncul window sebagai berikut :

25. Kita pilih tombol mana pada keyboard yang akan memberikan stimulan yaitu

berupa input logika ‘0’ atau ‘1’. Penekanan pada tombol akan mengakibatkan

peruabahn sinyal input secara toggle dari ‘0’ atau ‘1’. Hal ini berguna pada

saat simulasi dimana kita akan mengamati perubahan output dikarenakan

perubahan input. Untuk input yang berupa bus, pemberian stimulan dilakukan

dengan mengklik icon Logical States . Kemudian kita akan

masukkan nilai yang akan kita berikan pada bus tersebut.

LABORATORIUM TEKNIK ELEKTRONIKA ITN MALANG

Page 16: PSD 2005

PRAKTIKUM PERANCANGAN SISTEM DIGITAL

26. Setelah semua input siap, simulasi dilakukan dengan mengklik tombol Power

On dan Simulation Step . Amati hasil output untuk logika input yang

berbeda.

27. Setelah proses simulasi selesai selanjutnya kita lakukan implementasi dati

desain ini sebelum kita downloadkan ke hardware. Lakukan penyimpanan

pada file schematik kemudian klik IMPLEMENTATION di Project

Manager.

LABORATORIUM TEKNIK ELEKTRONIKA ITN MALANG

Page 17: PSD 2005

PRAKTIKUM PERANCANGAN SISTEM DIGITAL

28. Selanjutnya akan muncul dialog box sebagai berikut :

kemudian klik Run. Dan proses Implementasi akan berjalan.

29. Setelah implementasi selesai dengan ditandai pesan Successful

30. Lakukan simulasi timing untuk melihat adanya delay internal dari CPLD

dengan mengklik Timing Simulation di VERIFICATION di Project

Manager.

Langkah simulasi sama dengan Simulasi Functional.

LABORATORIUM TEKNIK ELEKTRONIKA ITN MALANG

Page 18: PSD 2005

PRAKTIKUM PERANCANGAN SISTEM DIGITAL

31. Untuk memprogram IC CPLD XC95108-PC84 adalah dengan memasukkan

file *.svf. Sekarang harus dibuat file *.svf dengan cara mengklik

PROGRAMMING pada Project Manager.

32. Sehingga akan muncul window JTAG Programmer seperti berikut ini.

33. Kemudian untuk membuat file *.svf kliklah pada Output Create SVF

kemudian akan muncul dialog box sebagai berikut :

Kemudian klik OK.

34. Sehingga akan muncul dialog box save. Simpanlah dengan nama file yang

diinginkan.

LABORATORIUM TEKNIK ELEKTRONIKA ITN MALANG

Page 19: PSD 2005

PRAKTIKUM PERANCANGAN SISTEM DIGITAL

35. Setelah kembali ke window JTAG Programmer kemudian klik Operation

Program. Dan akan muncul dialog box Options. Pastikan Box Erase

Before Programming sudah di chek. Klik OK

36. Berikutnya kan muncul dialog box seperti berikut, kemudian tunggu sampai

successful.

LABORATORIUM TEKNIK ELEKTRONIKA ITN MALANG

Page 20: PSD 2005

PRAKTIKUM PERANCANGAN SISTEM DIGITAL

37. Setelah itu simpanlah dengan nama file yang diinginkan. Tutuplah window

JTAG Programmer. Dan siap di downloadkan.

38. Pasangkan XS95 board pada Xstend board dan tancapkan kabel download di

paralel PC. Masukkan tegangan 9VDC melalui jack J9 XS95.

39. Kemudian menjalankan program GSXLOAD dari XSTOOLS. Kemudian

lakukan drag and drop file *.svf lewat software tersebut yang akan

mendownload konfigurasi CPLD kekombinasi board XS95/Xstend.

LABORATORIUM TEKNIK ELEKTRONIKA ITN MALANG

Page 21: PSD 2005

PRAKTIKUM PERANCANGAN SISTEM DIGITAL

2.5. Tugas

• Buatlah laporan secara lengkap mengenai seluruh percobaan yang telah

dilakukan baik dari HDL Editor sampai dengan implementasi pada hardware

• Buatlah perbandingan antara hasil simulasi dengan hasil implementasi pada

hardware.

• Jelaskan antara Counter Biner, Counter BCD dan Decoder BCD to 7

segment.

LABORATORIUM TEKNIK ELEKTRONIKA ITN MALANG

Page 22: PSD 2005

PRAKTIKUM PERANCANGAN SISTEM DIGITAL

BAB III

MENAMPILKAN SETTING DIP SWITCH

KE BARGRAPH LED DAN DIGIT LED

PADA BOARD XTEND/XS95

3.1. Tujuan

• Dapat menggunakan komponen DIP switch dan 2 buah push button (berlabel

SPARE dan RESET) di XStend board.

• Dapat menggunakan komponen LED bargraph dan 2 buah LED 7 segment di

XStend board.

• Mengetahui metode desain dengan HDL editor.

• Mengetahui proses implementasi dari desain ke hardware CPLD XILINX

XC95108-PC84.

3.2. Peralatan Yang Digunakan

• 1 Unit PC (Optimum 355 MHz, 64M RAM).

• Software Xilinx Foundation 2.1

• 1 unit board XS95

• Manual dari Board XS95

• 1 unit board XStend

• Manual dari XStend Board

• Program XStools dari XESS

LABORATORIUM TEKNIK ELEKTRONIKA ITN MALANG

Page 23: PSD 2005

PRAKTIKUM PERANCANGAN SISTEM DIGITAL

3.3. Program Aplikasi

a. LED

Board XStend menyediakan LED bargraph dengan delapan LED (D1-D8) dan dua

buah LED 7 segment (U1 dan U2) untuk dipakai XS Board. Kesemua LED ini

bertipe active-low yang berarti LED ini akan menyala jika logika 0 diterima. LED-

LED ini di-enable/disable oleh jumper pada tabel 1 di bawah ini :

Jumper Setting

J8 Melepas jumper ini akan men-disconnect supply ke LED bargraph D1-D8. Jika terpasang akan meng-enable-kan bargraph.

J4 Melepas jumper ini akan men-disconnect supply ke LED digit 7 segmen U1. Jika terpasang akan meng-enable-kan LED digit.

J7 Melepas jumper ini akan men-disconnect supply ke LED digit U2 . Jika terpasang akan meng-enable-kan LED digit.

J13 Penempatan jumper akan meng-enable LED jika pada Board XStend dipasang board XS95. Jumper harus dilepas ketika digunakan Board XS40!

Board XStend mempunyai 8 buah DIP switch dan 2 buah pushbutton

(berlabel SPARE dan RESET) yang dapat diakses melalui XS Board. ( Ada push

button ketiga yang diberi label PROGRAM, yang digunakan untuk inisialisasi

program pada Board XS40. Tombol ini tidak dimaksudkan untuk penggunaan dalam

desain secara umum).

Jika switch tertutup atau ON, tiap-tiap DIP switch yang terhubung pada pin

XS Board akan terkoneksi ke GND. Jika DIP switch terbuka atau OFF, pada pin

tersebut akan terhubung pada resistor pullup 10Kohm.

Jika tidak dipakai, DIP switch sebaiknya dibiarkan terbuka atau pada konfigurasi

OFF sehingga pin di XS Board tidak terhubung pada GND dan dapat bebas

berubah antara logic low atau high.

Pada saat tertekan, tiap-tiap pushbutton akan mengkoneksikan pin yang

terhubung dengannya ke ground. Dan jika sebaliknya, akan terhubung ke resistor

pullup 10Kohm.

LABORATORIUM TEKNIK ELEKTRONIKA ITN MALANG

Page 24: PSD 2005

PRAKTIKUM PERANCANGAN SISTEM DIGITAL

Contoh desain ini akan membuat rangkaian yang menampilkan setting dari

DIP switch pada Bargraph LED dan LED digit pada XStend dan XSBoard. LED

yang akan diaktifkan dipilih dengan tombol SPARE dan RESET.

3.4. Langkah Percobaan

Untuk membuat program tersebut akan digunakan Software XILINX

Foundation 2.1i, berikut ini adalah langkahnya :

1. Membuka program Foundation 2.1i dengan cara mengklik icon Project

Manager

2. Membuat project baru (Create New Project) dengan nama Project2, letakkan

pada folder direktori D:\P2. Pilihlah HDL Flow. Kolom isian sesuaikan

dengan gambar berikut:

3. Kemudian pada Project Manager di bagian desain entry klik HDL Editor

LABORATORIUM TEKNIK ELEKTRONIKA ITN MALANG

Page 25: PSD 2005

PRAKTIKUM PERANCANGAN SISTEM DIGITAL

4. Pada dialog box HDL Editor pilihlah Create Empty

5. Setelah muncul window HDL Editor kemudian ketikkan program bargraph

led sebagai berikut :

LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY switches IS PORT ( dipsw : IN STD_LOGIC_VECTOR(8 DOWNTO 1); -- DIP switches spareb : IN STD_LOGIC; -- SPARE pushbutton resetb : IN STD_LOGIC; -- RESET pushbutton s: OUT STD_LOGIC_VECTOR(6 DOWNTO 0); -- XS Board LED digit lsb: OUT STD_LOGIC_VECTOR(7 DOWNTO 0); -- XStend left LED digit rsb: OUT STD_LOGIC_VECTOR(7 DOWNTO 0); -- XStend right LED digit db: OUT STD_LOGIC_VECTOR(8 DOWNTO 1); -- XStend bargraph LED oeb: OUT STD_LOGIC; -- output enable for all RAMs rst: OUT STD_LOGIC -- microcontroller reset ); END switches; ARCHITECTURE switches_arch OF switches IS BEGIN -- this prevents accidental activation of the RAMs or microcontroller oeb <= '1'; -- disable all the RAM output drivers rst <= '1'; -- disable the microcontroller -- light the XS Board LED digit with the pattern from the -- DIP switches if both pushbuttons are pressed. -- these LED segments are active-high. s<= dipsw(7 DOWNTO 1) WHEN (spareb='0' AND resetb='0') ELSE "0000000"; -- otherwise keep LED digit dark -- light the XStend left LED digit with the pattern from the -- DIP switches if the RESET pushbutton is pressed. -- these LED segments are active low. lsb <= NOT(dipsw) WHEN (spareb='1' AND resetb='0') ELSE "11111111"; -- otherwise keep the LED digit dark -- light the XStend right LED digit with the pattern from the -- DIP switches if the SPARE pushbutton is pressed. -- these LED segments are active low. rsb <= NOT(dipsw) WHEN (spareb='0' AND resetb='1') ELSE "11111111"; -- otherwise keep the LED digit dark -- light the XStend bargraph LED with the pattern from the -- DIP switches if neither pushbutton is pressed -- these LED segments are active low. db <= NOT(dipsw) WHEN (spareb='1' AND resetb='1') ELSE "11111111"; -- otherwise keep the bargraph LED dark END switches_arch;

LABORATORIUM TEKNIK ELEKTRONIKA ITN MALANG

Page 26: PSD 2005

PRAKTIKUM PERANCANGAN SISTEM DIGITAL

Setelah selesai simpan dengan nama Switch.vhd

6. Untuk mengoreksi apakah dalam pengetikan program terjadi kesalahan

susunan maka lakukan Chek Syntax dengan mengklik Synhesize Chek

Syntax

7. Setelah muncul pesan Successful, masukkan desain yang telah disynthesize

ke dalam project dengan cara mengklik Project Add To Project

8. Kembali ke Project Manager, kemudian buka file Project2.ucf dengan cara

mengklik View Files. Buka pada ditektori D:\P2\Project2\Project2.ucf.

LABORATORIUM TEKNIK ELEKTRONIKA ITN MALANG

Page 27: PSD 2005

PRAKTIKUM PERANCANGAN SISTEM DIGITAL

9. Kemudian akan muncul window Report Browser seperti berikut :

10. Ketikkan Pin and CLB location locking constraints berikut ini :

net s<0> loc=p21; #XS board LED segment net s<1> loc=p23; net s<2> loc=p19; net s<3> loc=p17; net s<4> loc=p18; net s<5> loc=p14; net s<6> loc=p15; net dipsw<1> loc=p6; #DIP Switch net dipsw<2> loc=p7; net dipsw<3> loc=p11; net dipsw<4> loc=p5; net dipsw<5> loc=p72; net dipsw<6> loc=p71; net dipsw<7> loc=p66; net dipsw<8> loc=p70; net spareb loc=p67; #Spare push button net resetb loc=p10; #Reset push button net lsb<0> loc=p1; #Xstend left LED segment net lsb<1> loc=p2; net lsb<2> loc=p3; net lsb<3> loc=p75; net lsb<4> loc=p79; net lsb<5> loc=p82; net lsb<6> loc=p83; net lsb<7> loc=p84; net rsb<0> loc=p58; #Xstend right LED segment net rsb<1> loc=p56; net rsb<2> loc=p54; net rsb<3> loc=p55; net rsb<4> loc=p53; net rsb<5> loc=p57;

LABORATORIUM TEKNIK ELEKTRONIKA ITN MALANG

Page 28: PSD 2005

PRAKTIKUM PERANCANGAN SISTEM DIGITAL

net rsb<6> loc=p61; net rsb<7> loc=p34; net db<1> loc=p44; #Xstend Bargraph LED net db<2> loc=p43; net db<3> loc=p41; net db<4> loc=p40; net db<5> loc=p39; net db<6> loc=p37; net db<7> loc=p36; net db<8> loc=p35; net oeb loc=p62; net rst loc=p45;

11. Setelah selesai di-save, kembali ke Project Manager pilih Synthesis

Options… pilih Binary pada FSM Synthesis : Default encoding

12. Kemudian lakukan proses sintesis dengan memilih icon SYNTHESIS pada

Project Manager. . Kemudian akan muncul window

Synthesis/Implementation settings. Pastikan pilihan pada window sama

seperti pada gambar berikut, kemudian tekan RUN.

LABORATORIUM TEKNIK ELEKTRONIKA ITN MALANG

Page 29: PSD 2005

PRAKTIKUM PERANCANGAN SISTEM DIGITAL

8. Akan dilakukan simulasi fungsional untuk rangkaian, pertama dengan

mengklik ikon simulasi pada bagian kanan atas dari window Schematic

Editor . Akan muncul window Logic Simulator, kemudian klik icon

Select Component : . Selanjutnya akan muncul 3 sub window,

double klik mouse pada U1 - Switch yang terletak pada sub window Chip

Selection di bagian tengah. Kemudian akan muncul Pin-pin U1 pada sub

window paling kanan. klik kanan pada window tersebut dan pilih Add All.

Setelah itu tekan tombol Close dibagian bawah. Jelasnya terlihat pada gambar

dibawah :

LABORATORIUM TEKNIK ELEKTRONIKA ITN MALANG

Page 30: PSD 2005

PRAKTIKUM PERANCANGAN SISTEM DIGITAL

Selanjutnya pada window Waveform Viewer pada Logic simulator akan kita lihat

keseluruhan input dan output dari Macro Switch. Untuk melakukan simulasi, pada

bagian input akan kita beri stimulan (sinyal) lalu kita amati hasilnya pada output.

LABORATORIUM TEKNIK ELEKTRONIKA ITN MALANG

Page 31: PSD 2005

PRAKTIKUM PERANCANGAN SISTEM DIGITAL

9. Langkah berikutnya adalah memberikan stimulan (sinyal) pada input, ini

dilakukan dengan memilih sinyal input mana yang akan diberi stimulan

(ditandai dengan blok pada input yang bersangkutan) lalu klik Select

Stimulator . Akan muncul window sebagai berikut :

10. Kita pilih tombol mana pada keyboard yang akan memberikan stimulan yaitu

berupa input logika '0' atau '1' . Penekanan pada tombol akan mengkibatkan

perubahan sinyal input secara toggle dari '0' atau '1'. Hal ini berguna pada saat

simulasi dimana kita akan mengamati perubahan output dikarenakan

perubahan input. Untuk input yang berupa bus, pemberian stimulan dilakukan

dengan mengklik ikon Logical States . Kemudian kita masukkan

nilai yang akan kita berikan pada bus tersebut.

11. Setelah semua input siap simulasi dilakukan dengan mengklik tombol Power

ON lalu Simulation Step . Amati hasil output untuk nilai logika input

yang berbeda.

LABORATORIUM TEKNIK ELEKTRONIKA ITN MALANG

Page 32: PSD 2005

PRAKTIKUM PERANCANGAN SISTEM DIGITAL

12. Setelah proses simulasi selesai selanjutnya akan kita lakukan implementasi

dari desain ini sebelum kita download-kan ke hardware. Lakukan

penyimpanan pada file skematik, kemudian klik IMPLEMENTATION di

Project Manager .

Selanjutnya akan muncul dialog box sebagai berikut : klik RUN.

LABORATORIUM TEKNIK ELEKTRONIKA ITN MALANG

Page 33: PSD 2005

PRAKTIKUM PERANCANGAN SISTEM DIGITAL

13. Setelah implementasi selesai dengan ditandai pesan Successful

14. Lakukan simulasi timing untuk melihat adanya delay internal dari CPLD

dengan mengklik Timing Simulation di VERIFICATION di Project Manager.

Langkah simulasi sama dengan Simulasi Functional.

40. Untuk memprogram IC CPLD XC95108-PC84 adalah dengan memasukkan

file *.svf. Sekarang harus dibuat file *.svf dengan cara mengklik

PROGRAMMING pada Project Manager.

LABORATORIUM TEKNIK ELEKTRONIKA ITN MALANG

Page 34: PSD 2005

PRAKTIKUM PERANCANGAN SISTEM DIGITAL

41. Sehingga akan muncul window JTAG Programmer seperti berikut ini.

42. Kemudian untuk membuat file *.svf kliklah pada Output Create SVF

kemudian akan muncul dialog box sebagai berikut :

Kemudian klik OK.

43. Sehingga akan muncul dialog box save. Simpanlah dengan nama file yang

diinginkan.

LABORATORIUM TEKNIK ELEKTRONIKA ITN MALANG

Page 35: PSD 2005

PRAKTIKUM PERANCANGAN SISTEM DIGITAL

44. Setelah kembali ke window JTAG Programmer kemudian klik Operation

Program. Dan akan muncul dialog box Options. Pastikan Box Erase

Before Programming sudah di chek. Klik OK

45. Berikutnya kan muncul dialog box seperti berikut, kemudian tunggu sampai

successful.

LABORATORIUM TEKNIK ELEKTRONIKA ITN MALANG

Page 36: PSD 2005

PRAKTIKUM PERANCANGAN SISTEM DIGITAL

46. Setelah itu simpanlah dengan nama file yang diinginkan. Tutuplah window

JTAG Programmer. Dan siap di downloadkan.

47. Pasangkan XS95 board pada Xstend board dan tancapkan kabel download di

paralel PC. Masukkan tegangan 9VDC melalui jack J9 XS95.

48. Kemudian menjalankan program GSXLOAD dari XSTOOLS. Kemudian

lakukan drag and drop file *.svf lewat software tersebut yang akan

mendownload konfigurasi CPLD kekombinasi board XS95/Xstend.

24. Atur posisi DIP switch dan tekan tombol SPARE atau RESET. Amati

hasilnya pada LED. Ulang untuk beberapa posisi DIP switch.

LABORATORIUM TEKNIK ELEKTRONIKA ITN MALANG

Page 37: PSD 2005

PRAKTIKUM PERANCANGAN SISTEM DIGITAL

3.5. Tugas

• Buatlah laporan secara lengkap mengenai seluruh percobaan yang telah

dilakukan baik dari HDL Editor sampai dengan implementasi pada hardware

• Buatlah perbandingan antara hasil simulasi dengan hasil implementasi pada

hardware.

LABORATORIUM TEKNIK ELEKTRONIKA ITN MALANG

Page 38: PSD 2005

PRAKTIKUM PERANCANGAN SISTEM DIGITAL

BAB IV PEMBACAAN SCANCODE KEYBOARD MELALUI

INTERFACE PS/2 PADA BOARD XTEND/XS40

4.1. Tujuan

• Dapat menggunakan interface PS/2 di XStend board.

• Mengetahui proses transmisi data pada keyboard.

• Mengetahui proses implementasi dari desain ke hardware FPGA XILINX

XC4005XL

4.2. Peralatan Yang Digunakan

• 1 Unit PC (Optimum 355 MHz, 64M RAM).

• Program Synopsis (FPGA Express/Active HDL) yang tersedia pada paket

software Xilinx Foundation 2.1

• 1 unit board XS40

• Manual dari Board XS40

• 1 unit board XStend

• Manual dari XStend Board

• Program XStools dari XESS

• 1 buah keyboard PS/2

LABORATORIUM TEKNIK ELEKTRONIKA ITN MALANG

Page 39: PSD 2005

PRAKTIKUM PERANCANGAN SISTEM DIGITAL

4.3. Program Aplikasi

Contoh desain ini akan membuat rangkaian yang mennerima scan code dari

keyboard yang terpasang pada interface PS/2 dari XStend Board. Pola biner dari

scan code akan ditampilkan ke LED bargraph. Sebagai tambahan, jika scan code

untuk salah satu tombol '0' dan '9' diterima, maka angkanya akan ditampilkan pada

display LED sebelah kanan dari XStend Board.

Format dari transmisi scan code dari keyboard ditunjukkan pada gambar

dibawah ini. Rangakaian elektronik dari keyboard mengendalikan sinyal clock dan

data. Awal dari transmisi scancode diindikasikan dengan logic low di jalur data pada

falling edge dari clock. Data 8 bit dari scancode mengikuti (diawali dengan LSB)

urutan falling edge dari clock. Hal ini diawali dengan bit parity odd dan logic high

stop bit. Ketika jalur clock menjadi high setelah stop bit, receiver (dalam hal ini

FPGA/CPLD yang ditancapkan diatas XStend board) dapat menjadikan clock

berlogika low utuk menghambat transmisi yang akan datang. Setelah jalur clock

dikembalikan ke logic high maka, keyboard dapat mengirim scancode selanjutnya,

jika ada penekanan.

4.4. Langkah Percobaan

Untuk membuat program tersebut akan digunakan Software XILINX

Foundation 2.1i, berikut ini adalah langkahnya :

1. Membuka program Foundation 2.1i dengan cara mengklik icon Project

Manager

LABORATORIUM TEKNIK ELEKTRONIKA ITN MALANG

Page 40: PSD 2005

PRAKTIKUM PERANCANGAN SISTEM DIGITAL

2. Membuat project baru (Create New Project) dengan nama Project3, letakkan

pada folder direktori D:\.P3. Kolom isian sesuaikan dengan gambar berikut :

Pilihlah Schematic Flow, Family XC4000XL, Device 4005XLPC84 dengan

Speed Grade 3. Hal ini dilakukan untuk menentukan jenis IC yang akan kita

pakai.

3. Kemudian pada Project Manager di bagian desain entry klik HDL Editor

4. Pada dialog box HDL Editor pilihlah Create Empty

5. Setelah muncul window HDL Editor sebagai berikut :

LABORATORIUM TEKNIK ELEKTRONIKA ITN MALANG

Page 41: PSD 2005

PRAKTIKUM PERANCANGAN SISTEM DIGITAL

kemudian ketikkan program scankeyboard berikut ini:

LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY kbd_read IS PORT ( rst: OUT STD_LOGIC; -- uC reset oeb: OUT STD_LOGIC; -- RAM output enable kb_data: IN STD_LOGIC; -- serial data from the keyboard kb_clk: IN STD_LOGIC; -- clock from the keyboard db: OUT STD_LOGIC_VECTOR(8 DOWNTO 1); -- bargraph LED rsb: OUT STD_LOGIC_VECTOR(6 DOWNTO 0) -- right LED digit ); END kbd_read; ARCHITECTURE kbd_read_arch OF kbd_read IS SIGNAL scancode: STD_LOGIC_VECTOR(9 DOWNTO 0); COMPONENT ibuf PORT(i: IN STD_LOGIC; o: OUT STD_LOGIC); END COMPONENT; COMPONENT bufg PORT(i: IN STD_LOGIC; o: OUT STD_LOGIC); END COMPONENT; SIGNAL buf_clk0, buf_clk1: STD_LOGIC; BEGIN rst <= '1'; -- keep the uC in the reset state oeb <= '1'; -- disable the RAM output drivers b0: ibuf PORT MAP(i=>kb_clk,o=>buf_clk0); -- buffer the clock from b1: bufg PORT MAP(i=>buf_clk0,o=>buf_clk1); -- the keyboard -- shift keyboard data into the MSb of the scancode register -- on the falling edge of the keyboard clock gather_scancode: PROCESS(buf_clk1,scancode) BEGIN IF(buf_clk1'EVENT AND buf_clk1='0') THEN scancode <= kb_data & scancode(9 DOWNTO 1); END IF; END PROCESS; db <= NOT(scancode(7 DOWNTO 0)); -- show the scancode on the bargraph -- display the key that was pressed on the right LED digit rsb <= "1101101" WHEN scancode(7 DOWNTO 0)="00010110" ELSE -- 1 "0100010" WHEN scancode(7 DOWNTO 0)="00011110" ELSE -- 2 "0100100" WHEN scancode(7 DOWNTO 0)="00100110" ELSE -- 3 "1000101" WHEN scancode(7 DOWNTO 0)="00100101" ELSE -- 4

LABORATORIUM TEKNIK ELEKTRONIKA ITN MALANG

Page 42: PSD 2005

PRAKTIKUM PERANCANGAN SISTEM DIGITAL

"0010100" WHEN scancode(7 DOWNTO 0)="00101110" ELSE -- 5 "0010000" WHEN scancode(7 DOWNTO 0)="00110110" ELSE -- 6 "0101101" WHEN scancode(7 DOWNTO 0)="00111101" ELSE -- 7 "0000000" WHEN scancode(7 DOWNTO 0)="00111110" ELSE -- 8 "0000100" WHEN scancode(7 DOWNTO 0)="01000110" ELSE -- 9 "0001000" WHEN scancode(7 DOWNTO 0)="01000101" ELSE -- 0 "0010010"; -- E END kbd_read_arch;

6. Kemudian menyimpan dengan mengklik File Save, simpanlah dengan

nama file keyboard.vhd

7. Untuk mengoreksi apakah dalam pengetikan program terjadi kesalahan

susunan maka lakukan Chek Syntax dengan mengklik Synhesize Chek

Syntax

8. Setelah muncul pesan Successful, lakukan Synthesize dengan cara mengklik

Synthesize Synthesize

9. Setelah muncul pesan Successful, buatlah Macro dari HDL yang telah

disynthesize dengan cara mengklik Project Create Macro

LABORATORIUM TEKNIK ELEKTRONIKA ITN MALANG

Page 43: PSD 2005

PRAKTIKUM PERANCANGAN SISTEM DIGITAL

10. Setelah macro terbentuk (ditandai dengan pesan Successful) berarti macro

keyboard sudah terbentuk.

11. Kemudian pada Project Manager di bagian desain entry klik Schematic

Editor , sehingga akan muncul window Schematic seperti

berikut ini.

12. Klik symbol toolbox pada bagian sebelah kiri . Akan muncul kumpulan

Macro Schematic Symbol. Kedua buah macro yang telah diibuat terletak

paling atas pada window.

13. Letakkan macro keyboard tersebut dalam schematic kemudian dirangkaian.

Setelah itu tambahkanlah IPAD dan OBUF pada semua bagian input (sebelah

kiri macro) serta OPAD dan OBUF pada semua bagian output (sebelah kanan

macro) yang diambil dari window SC Symbol pada library XC4000X.

Sehingga hasilnya sebagai berikut :

LABORATORIUM TEKNIK ELEKTRONIKA ITN MALANG

Page 44: PSD 2005

PRAKTIKUM PERANCANGAN SISTEM DIGITAL

14. Kita dapat menetukan kaki-kaki sesuai yang kita inginkan. Dengan cara

mengklik dua kali IPAD/OPAD pada schematik. Pada Parameter pilih LOC,

lalu di Description isikan nomor pinnya (diawali dengan huruf P). Kemudian

klik ADD dan nomor pin akan muncul seperti contoh dibawah ini :

LABORATORIUM TEKNIK ELEKTRONIKA ITN MALANG

Page 45: PSD 2005

PRAKTIKUM PERANCANGAN SISTEM DIGITAL

15. Lengkapi untuk semua input dan output, sesuai dengan daftar berikut :

net rst loc=p36; net oeb loc=p61; net kb_data loc=p69; net kb_clk loc=p68; net rsb<0> loc=p59; net rsb<1> loc=p57; net rsb<2> loc=p51; net rsb<3> loc=p56; net rsb<4> loc=p50; net rsb<5> loc=p58; net rsb<6> loc=p60; net db<1> loc=p41; net db<2> loc=p40; net db<3> loc=p39; net db<4> loc=p38; net db<5> loc=p35; net db<6> loc=p81; net db<7> loc=p80; net db<8> loc=p10;

16. Klik icon Save, untuk menyimpan file schematik.

17. Lakukan langkah berikut secara berurutan sampai berhasil untuk menguji

schematic yang telah dibuat.

i. Option >> Create Netlist

ii. Option >> Integrity Test

iii. Option >> Export Netlist

18. Kemudian akan dilakukan simulasi Fungsional dengan cara mengklik icon

Simulation pada Project Manager .

19. Kemudian akan muncul Window Logic Simulator, kemudian klik icon

Select Component . Selanjutnya akan muncul 3 sub window.

20. Pada sub window paling kanan, klik kanan pada sub window tersebut dan

pilih Add All. Setelah itu tekan Close dibagian bawah, jelasnya terlihat pada

gambar dibawah ini :

LABORATORIUM TEKNIK ELEKTRONIKA ITN MALANG

Page 46: PSD 2005

PRAKTIKUM PERANCANGAN SISTEM DIGITAL

21. Selanjutnya pada window Waveform Viewer pada Logic Simulator akan kita

lihat keseluruhan input dan output dari macro counter. Untuk melakukan

simulasi, pada bagian input akan kita beri stimulan (sinyal) lalu kita amati

hasilnya pada output. Untuk melihat mana input dan mana output dapat

kembali melihat macro di schematik.

22. Langkah berikutnya adalah memberikan stimulan (sinyal) pada input, ini

dilakukan dengan memilih sinyal input mana yang akan diberi stimulan,

(ditandai dengan blok pada input yang bersangkutan) lalu klik Select

Stimulator . Akan muncul window sebagai berikut :

LABORATORIUM TEKNIK ELEKTRONIKA ITN MALANG

Page 47: PSD 2005

PRAKTIKUM PERANCANGAN SISTEM DIGITAL

23. Memilih tombol mana pada keyboard yang akan memberikan stimulan yaitu

berupa input logika ‘0’ atau ‘1’. Penekanan pada tombol akan mengakibatkan

peruabahn sinyal input secara toggle dari ‘0’ atau ‘1’. Hal ini berguna pada

saat simulasi dimana kita akan mengamati perubahan output dikarenakan

perubahan input. Untuk input yang berupa bus, pemberian stimulan dilakukan

dengan mengklik icon Logical States . Kemudian kita akan

masukkan nilai yang akan kita berikan pada bus tersebut.

24. Setelah semua input siap, simulasi dilakukan dengan mengklik tombol Power

On dan Simulation Step . Amati hasil output untuk logika input yang

berbeda.

LABORATORIUM TEKNIK ELEKTRONIKA ITN MALANG

Page 48: PSD 2005

PRAKTIKUM PERANCANGAN SISTEM DIGITAL

25. Setelah proses simulasi selesai selanjutnya kita lakukan implementasi dati

desain ini sebelum kita downloadkan ke hardware. Lakukan penyimpanan

pada file schematik kemudian klik IMPLEMENTATION di Project

Manager.

26. Selanjutnya akan muncul dialog box sebagai berikut :

kemudian klik Run. Dan proses Implementasi akan berjalan.

LABORATORIUM TEKNIK ELEKTRONIKA ITN MALANG

Page 49: PSD 2005

PRAKTIKUM PERANCANGAN SISTEM DIGITAL

27. Setelah implementasi selesai dengan ditandai pesan Successful

28. Melakukan simulasi timing untuk melihat adanya delay internal dari CPLD

dengan mengklik Timing Simulation di VERIFICATION di Project

Manager.

Langkah simulasi sama dengan Simulasi Functional.

29. Memasangkan board XS40 pada XStend board dan tancapkan kabel

download dari pararel PC. Masukkan tegangan 9VDC melalui jack J9 XS40.

Pasangkan jumper J4,J7,J8 dari XStend Board untuk men-enable-kan display

LED. Lepaskan jumper pada J17 untuk menjaga agar serial output codec

tidak masuk ke DIP switch.

30. Memasangkan keyboard ke konektor PS/2 pada XStend board.

31. Menjalankan Program GSXLOAD dari XSTOOLS. Lakukan 'Drag and

Drop' file KEYBOARD.BIT atau P3.BIT lewat software tersebut yang akan

men-download konfigurasi FPGA ke kombinasi board XS40/XStend.

LABORATORIUM TEKNIK ELEKTRONIKA ITN MALANG

Page 50: PSD 2005

PRAKTIKUM PERANCANGAN SISTEM DIGITAL

32. Menekan tombol keyboard dan amati hasilnya pada LED. Ulang untuk

beberapa tombol angka dan huruf.

4.5. Tugas

• Buatlah laporan secara lengkap mengenai seluruh percobaan yang telah

dilakukan baik dari HDL Editor sampai dengan implementasi pada hardware

• Buatlah perbandingan antara hasil simulasi dengan hasil implementasi pada

hardware.

• Jelaskan antara scancode dan ASCII code pada keyboard serta carilah dasar

teori tentang keyboard.

LABORATORIUM TEKNIK ELEKTRONIKA ITN MALANG