BAB I
PENDAHULUAN
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.
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
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
Komponen akan mendekodekan masukan 4-bit kedalam keluaran desimal yang akan
ditampilkan dalam sebuah 7 segment LED.
Manager
2. Membuat projek baru (Create New Project) dengan nama Project1, letakkan
pada folder direktori D:\P1. Kolom isian sesuaikan dengan gambar berikut:
3. Kemudian pada Project Manager di bagian desain entry klik HDL Editor
9. Setelah muncul pesan Successful, buatlah Macro dari HDL yang telah
disynthesize dengan cara mengklik Project Æ Create Macro
10. Setelah macro terbentuk (ditandai dengan pesan Successful) berarti macro
sudah terbentuk.
11. Kemudian pada Project Manager di bagian desain entry klik FSM Editor
13. Setelah muncul window Window Editor maka buatlah State diagram untuk
membuat macro yang kedua. Sehingga hasilnya seperti berikut :
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.
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.
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.
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 :
20. Lengkapi untuk semua input dan output, dan bila telah lengkap akan terlihat
seperti gamabar berikut ini :
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.
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.
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.
30. Lakukan simulasi timing untuk melihat adanya delay internal dari CPLD
dengan mengklik Timing Simulation di VERIFICATION di 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 :
34. Sehingga akan muncul dialog box save. Simpanlah dengan nama file yang
diinginkan.
36. Berikutnya kan muncul dialog box seperti berikut, kemudian tunggu sampai
successful.
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.
2.5. Tugas
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.
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!
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.
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.
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
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;
-- 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;
10. Ketikkan Pin and CLB location locking constraints berikut ini :
12. Kemudian lakukan proses sintesis dengan memilih icon SYNTHESIS pada
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.
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.
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 .
14. Lakukan simulasi timing untuk melihat adanya delay internal dari CPLD
dengan mengklik Timing Simulation di VERIFICATION di Project Manager.
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 :
43. Sehingga akan muncul dialog box save. Simpanlah dengan nama file yang
diinginkan.
45. Berikutnya kan muncul dialog box seperti berikut, kemudian tunggu sampai
successful.
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.
3.5. Tugas
BAB IV
PEMBACAAN SCANCODE KEYBOARD MELALUI
INTERFACE PS/2 PADA BOARD XTEND/XS40
4.1. Tujuan
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.
Manager
2. Membuat project baru (Create New Project) dengan nama Project3, letakkan
pada folder direktori D:\.P3. Kolom isian sesuaikan dengan gambar berikut :
3. Kemudian pada Project Manager di bagian desain entry klik HDL Editor
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;
-- 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
9. Setelah muncul pesan Successful, buatlah Macro dari HDL yang telah
disynthesize dengan cara mengklik Project Æ Create Macro
10. Setelah macro terbentuk (ditandai dengan pesan Successful) berarti macro
keyboard sudah terbentuk.
11. Kemudian pada Project Manager di bagian desain entry klik Schematic
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.
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 :
15. Lengkapi untuk semua input dan output, sesuai dengan daftar berikut :
18. Kemudian akan dilakukan simulasi Fungsional dengan cara mengklik icon
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 :
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.
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.
28. Melakukan simulasi timing untuk melihat adanya delay internal dari CPLD
dengan mengklik Timing Simulation di VERIFICATION di Project
Manager.
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.
32. Menekan tombol keyboard dan amati hasilnya pada LED. Ulang untuk
beberapa tombol angka dan huruf.
4.5. Tugas