PSD 2005
-
Upload
dicky-cakcuk-cuy -
Category
Documents
-
view
117 -
download
1
Transcript of 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
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
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
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