Anda di halaman 1dari 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Melepas jumper ini akan men-disconnect supply ke LED
J8 bargraph D1-D8. Jika terpasang akan meng-enable-kan
bargraph.
Melepas jumper ini akan men-disconnect supply ke LED digit
J4 7 segmen U1. Jika terpasang akan meng-enable-kan LED
digit.
Melepas jumper ini akan men-disconnect supply ke LED digit
J7
U2 . Jika terpasang akan meng-enable-kan LED digit.
Penempatan jumper akan meng-enable LED jika pada Board
J13 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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

Anda mungkin juga menyukai