Modul Praktikum High Description Language - HDL

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 37

Modul praktikum High Description

Language membahas topik-topik dasar


yaitu: input output, gerbang logika,
decoder dan encoder, shift register, seven
segment, counter UP-DOWN, timer, SIPO,
general purposes input output, dan LCD.

Modul
Praktikum High
Description
Language (HDL)
Praktikum Pengenalan HDL tingkat
dasar

Disusun oleh: AtyantaNika Rumaksari


PROGRAM STUDI
TEKNIK KOMPUTER
UNIVERSITAS KRISTEN SATYA WACANA
2023

1
Daftar Isi

Contents
Daftar Isi .................................................................................................................................................. 2
Kata Pengantar........................................................................................................................................ 3
Tata Tertib Praktikum ............................................................................................................................. 4
Topik 1..................................................................................................................................................... 0
Topik 2..................................................................................................................................................... 2
Topik 3..................................................................................................................................................... 6
Topik 4..................................................................................................................................................... 8
Topik 5................................................................................................................................................... 10
Topik 6................................................................................................................................................... 12
Topik 7................................................................................................................................................... 14
Topik 8................................................................................................................................................... 16
Topik 9................................................................................................................................................... 18
Topik 10................................................................................................................................................. 22
Topik 11................................................................................................................................................. 24
Topik 12................................................................................................................................................. 26
Referensi ............................................................................................................................................... 31

2
Kata Pengantar

Modul praktikum High Description Language membahas sepuluh topik, yaitu input output,
gerbang logika, decoder dan encoder, shift register, seven segment, counter UP-DOWN, timer, SIPO,
general purposes input output, dan LCD. Pada topik input output, dibahas bagaimana cara
menghubungkan input output pada FPGA menggunakan bahasa VHDL. Selanjutnya, pada topik
gerbang logika, dijelaskan fungsi gerbang logika dan bagaimana mengimplementasikan gerbang logika
menggunakan VHDL. Topik decoder dan encoder membahas cara mengimplementasikan decoder dan
encoder menggunakan VHDL, sedangkan pada topik shift register, dijelaskan fungsi shift register dan
cara mengimplementasikannya menggunakan VHDL. Pada topik seven segment, dibahas bagaimana
cara menampilkan angka pada seven segment menggunakan VHDL. Selanjutnya, pada topik counter
UP-DOWN, dijelaskan cara membuat counter yang dapat menghitung naik dan turun menggunakan
VHDL. Topik timer membahas cara membuat timer dengan menggunakan VHDL, sementara pada
topik SIPO, dijelaskan bagaimana cara membuat SIPO (Serial In Parallel Out) menggunakan VHDL.
Sedangkan pada topik general purposes input output, dibahas bagaimana cara menggunakan input
output secara umum dengan VHDL, dan pada topik terakhir, yaitu LCD, dijelaskan cara
mengimplementasikan LCD menggunakan VHDL.

Salatiga, 10 Mei 2023

Salam

Atyanta Nika Rumaksari.

3
Tata Tertib Praktikum

1. Mahasiswa wajib hadir tepat waktu pada jadwal praktikum yang telah ditentukan. Mahasiswa
yang terlambat dapat diberikan sanksi seperti poin pengurangan nilai praktikum.
2. Mahasiswa wajib membawa buku praktikum, laptop atau komputer yang sudah terinstall
software Xilinx ISE, dan bahan praktikum lainnya yang telah ditentukan oleh dosen pengampu.
3. Mahasiswa harus mempersiapkan diri dengan mempelajari materi yang akan dipraktikkan
sebelum sesi praktikum dimulai.
4. Mahasiswa harus mematuhi tata tertib dan aturan keselamatan yang berlaku di laboratorium,
seperti tidak makan, minum, atau merokok di dalam laboratorium, serta menggunakan alat dan
bahan praktikum dengan hati-hati.
5. Mahasiswa wajib menyelesaikan tugas praktikum yang telah ditugaskan oleh dosen pengampu
dengan baik dan tepat waktu. Mahasiswa yang tidak dapat menyelesaikan tugas praktikum
dapat diberikan sanksi seperti pengurangan nilai praktikum.
6. Mahasiswa harus mengumpulkan laporan praktikum yang telah diselesaikan pada waktu yang
telah ditentukan. Laporan praktikum harus disusun dengan baik dan lengkap sesuai dengan
format yang telah ditentukan oleh dosen pengampu.
7. Mahasiswa wajib menjaga kebersihan dan kerapihan lingkungan laboratorium. Setelah selesai
praktikum, mahasiswa harus membersihkan tempat kerja dan menyimpan alat dan bahan
praktikum sesuai dengan tempatnya.
8. Mahasiswa yang terbukti melakukan kecurangan atau tindakan tidak terpuji lainnya selama
praktikum dapat dikenakan sanksi sesuai dengan peraturan yang berlaku di perguruan tinggi.
9. Mahasiswa wajib mengikuti arahan dan petunjuk dari dosen pengampu serta membuka
komunikasi secara aktif untuk memperoleh bantuan dan pemahaman yang lebih baik dalam
pelaksanaan praktikum.
10. Mahasiswa wajib bersikap sopan dan menghargai dosen pengampu serta teman-teman sesama
praktikan. Segala bentuk tindakan diskriminasi, pelecehan, atau tindakan tidak sopan lainnya
tidak diperbolehkan dan dapat dikenakan sanksi sesuai dengan peraturan yang berlaku di
perguruan tinggi

Penilaian Praktikum

• Nilai tugas pendahuluan (30%) • Nilai tugas modul (70%)


o Kelompok (25%) o Kelompok (60%)
▪ Responsi (20%)- ▪ Demo (40%)
▪ Tugas pendahuluan (5%) ▪ Laporan (20%)
o Perorangan (5%) o Perorangan (10%)

4
Topik 1
Petunjuk Instalasi Quartus II

A. Tujuan
1. Mahasiswa mempelajari cara menginstall quartus ii
2. Mahasiswa dapat menggunakan aplikasi quartus ii pada saat praktikum

B. Dasar Teori

1. Quartus
Quartus merupakan sebuah software yang digunakan untuk membuat simulasi
rangkaian logika secara digital dengan memanfaatkan bahasa deskripsi yaitu
VHDL ataupun Verilog.

2. Verilog
Verilog adalah sebuah bahasa yang termasuk Hardware Description Language
(HDL), dimana bahasa yang digunakan untuk menggambarkan sistem digital pada
suatu perangkat keras. verilog seperti bahasa deskiripsi perangakt keras lainnya,
memungkinkan desiner uintuk merancang sebuah desain dalam 2 metodelogi,
yaitu bottom-up dan top-down.

3. Altera
Altera Hardware Description Language (AHDL) adalah bahasa deskripsi
perangkat keras (HDL) berpemilik yang dikembangkan oleh Altera Corporation.
AHDL digunakan untuk entri desain logika digital untuk perangkat logika yang
dapat diprogram kompleks (CPLD) Altera dan array gerbang yang dapat
diprogram lapangan (FPGA).

Gambar 1. Altera DE1

C. Peralatan/Komponen

- PC/Laptop 64/32bit
- Koneksi Internet
D. Langkah Praktikum
1. Instalasi Quartus 2
Buka Link Google Drive dibawah ini
https://drive.google.com/drive/folders/1RfwrCAB_Fk-
pdeCmsBXw9QwoAXjdgcq5?usp=sharing
2. Instal Aplikasi
Ikuti link Tutorial dibwah ini
https://youtu.be/vtMEfCFEF8Y
3. Jika Sudah Maka tampilan Aplikasi akan seperti ini

E. Penutup
Dengan ini telas selesai sudah Petunjuk instalasi Quartus II untuk matakuliah HDL.
Semoga para praktikan bisa lancar dan semangat menjalani peraktikum kedepannya.

1
Topik 2
Input Output

B. Tujuan
1. Mahasiswa dapat mengoperasikan Button pada Altera
2. Mahasiswa dapat memahami penggunaan Button pada Altera

B. Dasar Teori

4. Module

Contoh Penulisan:

module NamaModule (Pin/Variable, Pin/Variable,…)


isi
endmodule

5. Register

Contoh Penulisan:

reg (nama Register);

6. Penulisan Input Output

Contoh Penulisan:

Input [ x : y ] Nama pin Input;


Output [ x : y ] Nama pin Output;

Misal kita ingin menggunakan led merah dari led 0-led 5 maka penulisannya:

output [0:5] LEDR;

C. Peralatan/Komponen

- PC/Laptop 64/32bit
- Altera DE1
- Software Quartus II

D. Langkah Praktikum
Buat Project Baru

2
Beri Nama project

Isi sesuai Altera yang di pakai

Buka Assignments lalu klik Import assignment

Masukan File pin assignment

3
Buka Pin Planer

Jika sudah tertampil pin pin seperti pada gambar, berarti import telah berhasil

Buat project Baru

Buat file Verilog HDL

4
Buat Program Sesuai dengan Soal

SOAL
1. Buatlah aplikasi sederhana menggunakan button sebagai input dan mengeluarkan
output
2. Buatlah aplikasi sederhana menggunakan button unutk gerbang AND dan OR (2 bit)

5
Topik 3
Gerbang Logika

C. Tujuan
1. Mahasiswa dapat mengoperasikan Button pada Altera
2. Mahasiswa dapat memahami penggunaan Button pada Altera

B. Dasar Teori

7. Assignmets

Sintaks assign dimulai dengan kata kunci assign, diikuti dengan nama
sinyal, yang dapat berupa sinyal atau kombinasi jaring sinyal yang berbeda.
Kekuatan dan penundaan drive bersifat opsional dan sebagian besar
digunakan untuk pemodelan aliran data daripada mensintesis menjadi perangkat
keras nyata.
Sinyal di sisi kanan dievaluasi dan ditetapkan ke jaring atau ekspresi jaring
di sisi kiri.

Contoh Penulisan:

assign <net_express> = [drive_strength] [delay] <expression of different signals o


r constant value>

Nilai delay berguna untuk menentukan penundaan untuk gerbang dan


digunakan untuk memodelkan perilaku pengaturan waktu dalam perangkat keras
nyata. Nilai menentukan kapan jaring harus ditetapkan dengan nilai yang
dievaluasi

8. Penulisan Operator

Oprasi Hitung

Operasi Logika

6
C. Peralatan/Komponen

- PC/Laptop 64/32bit
- Altera DE1
- Software Quartus II

D. Pedoman Praktikum
Contoh Soal:

Module pushButton berisi Keypad dan Led yaitu key0, key, key1, key2
sebagai inputnya dan Led0 sebagai outputnya. Lalu memanggil module gate. Dan
diidalam module gate terdapat fungsi gerbang logika untuk syarat menghidupkan led.
SOAL
1. Buatlah aplikasi perkalian (Multiplication) 4 bit
2. Buatlah aplikasi (Divider) 4 bit
3. Buatlah aplikasi (Modulus) 4 bit

7
Topik 4
Encoder Decoder

D. Tujuan
1. Mahasiswa dapat merangkai rangkaian decoder pada Altera
2. Mahasiswa dapat menerapkan rangkaian encoder pada Altera
B. Dasar Teori

a. Decoder
Decoder adalah kebalikan dari encoder, yaitu untai digital yang digunakan
untuk mengkonversikan beberapa masukan menajdi keluaran dengan jumlah
yang lebih banyak. Biasanya masukkannya berjumlah n dan keluarannya
berjumlah 2n.

Berikut ini contoh Decoder 2 to 4 :


• Tabel Kebenaran
INPUT OUTPUT
S0 S1 Y0 Y1 Y2 Y3
0 0 1 0 0 0
0 1 0 1 0 0
1 0 0 0 1 0
1 1 0 0 0 1

• Persamaan Boolean

Y0 =S0’S1’
Y1 =S0’S1
Y2 =S0S1’
Y3=S0S1

• Gambar Untai Gerbang

• Gambar Code pada Quartus

8
SOAL
Buatlah decoder 3 ke 8

9
Topik 5
Encoder Decoder

E. Tujuan
1. Mahasiswa dapat merangkai rangkaian encoder pada Altera
2. Mahasiswa dapat menerapkan rangkaian encoder pada Altera
B. Dasar Teori

b. Encoder
Encoder adalah rangkaian kombinasi yang mana merupakan operasi kebalikan
dari Decoder. Encoder memiliki maksimum 2n jalur input dimana “n” adalah jalur
output. Karena mengkode informasi dari input 2n menjadi kode nbit. Encoder akan
menghasilkan kode biner yang setara dengan input yang mana adalah “Aktif
Tinggi”. Oleh kerena itu ,encoder mengkodekan 2n jalur input dengan “n”bit.

Contoh aplikasi encoder adalah keyboard komputer. Kita hanya menekan satu
tombol, namun satu tombol tersebut memiliki code unik (kode ASCII) yang
selanjutnya akan dikirim kemikroprosesor.Encoder atau biasa disebut Binary
Encoder akan menghasilkan output yang sudah terencana dengan input tertentu
Berikut ini contoh Encoder 4 to 2 :
• Tabel Kebenaran
INPUT OUTPUT
S0 S1 S2 S3 Y0 Y1
1 0 0 0 1 0
0 1 0 0 0 1
0 0 1 0 1 0
0 0 0 1 0 1

• Persamaan Boolean
Y0 = A'B'C D' + A B'C'D'
Y1 = A'B'C'D + A'B C'D'
• Gambar Untai Gerbang

10
• Gambar Code in Quartus

SOAL
Buatlah ENCODER 8 ke 3

11
Topik 6
Shift Register

F. Tujuan
1. Mahasiswa dapat mengoperasikan Button pada Altera
2. Mahasiswa dapat memahami penggunaan Button pada Altera

B. Dasar Teori

9. Always

Di Verilog, blok always adalah salah satu blok prosedural. Pernyataan di dalam blok always
dieksekusi secara berurutan. Blok always selalu dieksekusi, tidak seperti blok awal yang hanya
dieksekusi sekali di awal simulasi. Blok always harus memiliki daftar sensitif atau penundaan
yang terkait dengannya. Daftar sensitif adalah daftar yang memberi tahu blok selalu kapan
harus mengeksekusi blok kode.

Simbol @ setelah kata yang dicadangkan selalu, menunjukkan bahwa blok akan
dipicu pada kondisi dalam kurung setelah simbol @.
10. Pengunaan percabangan di dalam always

Daftar sensitivitas adalah ekspresi yang menentukan kapan blok selalu dieksekusi,
dan ditentukan setelah operator @ di dalam tanda kurung ( ). Daftar ini mungkin berisi
salah satu atau sekelompok sinyal yang perubahan nilainya akan mengeksekusi blok
selalu.
C. Peralatan/Komponen

12
- PC/Laptop 64/32bit
- Altera DE1
- Software Quartus II

D. Pedoman Praktikum
Contoh Soal:

Module pushButton berisi Keypad dan Led yaitu key0, key1 sebagai inputnya
dan Led0 – Led3 sebagai outputnya. Lalu memanggil module gate. Dan diidalam
module gate terdapat fungsi menambah bit jika count di tekan dan akan menghidupkan
led.

13
Topik 7
Seven Segment

G. Tujuan
1. Mahasiswa dapat mengoperasikan Button pada Altera
2. Mahasiswa dapat memahami penggunaan Button pada Altera

B. Dasar Teori

11. Case

Untuk mengubah 4 bit data menjadi 7 bit data untuk menggerakan seven sement
di perlukan perubahan data, salah satunya yaitu menggunakan case
Contoh penggunaan case:

12. Pengunaan percabangan di dalam always

Daftar sensitivitas adalah ekspresi yang menentukan kapan blok selalu dieksekusi,
dan ditentukan setelah operator @ di dalam tanda kurung ( ). Daftar ini mungkin berisi
salah satu atau sekelompok sinyal yang perubahan nilainya akan mengeksekusi blok
selalu.
C. Peralatan/Komponen

- PC/Laptop 64/32bit
- Altera DE1
- Software Quartus II

14
D. Pedoman Praktikum
Contoh Soal:

Contoh membuat angka berurutan pada seven segment setiap kali tombol di
tekan. Memanfaatkan shift register dan conversi 4bit ke 7bit seven segment.

15
Topik 8
COUNTER UP

H. Tujuan
1. Mahasiswa dapat membuat counter up pada Altera
2. Mahasiswa dapat memahami penggunaan clock pada Altera

B. Dasar Teori

13. Clock

Clock adalah peristiwa sinkronisasi utama yang menjadi acuan semua sinyal lainnya.
Jika RTL dalam Verilog, generator clock ditulis dalam Verilog bahkan jika TestBench
ditulis dalam bahasa lain seperti Vera, Specman atau SystemC. Jam dapat dihasilkan
dengan banyak cara. Beberapa testbench membutuhkan lebih dari satu generator clock.
Pada altera de 1 terdapat 3 buah pin clock yaitu clock t 3 buah pin clock yaitu clock 27
MHz clock, 50 MHz clock, dan 24 MHz clock

14. Perbedaan posedge dan negedge

Posedge berarti transisi dari 0 ke 1. negedge transisi oposit dari 1 ke 0. biasanya jam
digunakan sebagai posedge, jadi setiap kali sinyal jam Anda beralih dari 0 ke 1.
menggunakan posedge atau negedge untuk kondisi reset tergantung pada level logika
Anda gunakan atau desain Anda.
C. Peralatan/Komponen

- PC/Laptop 64/32bit
- Altera DE1
- Software Quartus II

D. Pedoman Praktikum
Contoh Soal:

16
Dapat digunakan untuk membuat angka berurutan pada seven segment setiap
kali clock berubah. Memanfaatkan shift register dan conversi 4bit ke 7bit seven
segment.

17
Topik 9
Timer

I. Tujuan
1. Mahasiswa dapat membuat Timer pada Altera
2. Mahasiswa dapat memahami penggunaan Timer pada Altera

B. Dasar Teori

15. Timer

Untuk membuat timer pada 7-segment dibutuhkan percabangan untuk membatasi


value yang di print pada 7-Segment Berikut adalah contoh pembuatan timer 60 menit

16. Memberikan value Output

Untuk pemberian value pada output nya bisa dituliskan dengan menggunakan assign
sesuai dengan apa yang ingin di tampilkan di seven segment.

C. Peralatan/Komponen

- PC/Laptop 64/32bit
- Altera DE1

18
- Software Quartus II

D. Pedoman Praktikum
Contoh Soal:
module PushButton(input wire [1:0] CLOCK_24,output wire [6:0] HEX0,output wire
[6:0] HEX1,output wire [6:0] HEX2,output wire [6:0] HEX3);
reg [26:0] counter;
reg turn;
reg [3:0] tmp1;
reg [6:0] tmp;
reg [3:0] tmpul1;
reg [6:0] tmpul;
reg [3:0] mmp1;
reg [6:0] mmp;
reg [3:0] mmpul1;
reg [6:0] mmpul;
always @(posedge CLOCK_24[1]) begin
counter <= counter + 9;
if (counter[25]) begin
turn <= 1'b1;
end else begin
turn <= 1'b0;
end
end
always@(posedge turn)
begin
if(tmp1==4'b1010)
tmpul1 = tmpul1 + 1'b1;
if(tmp1==4'b1010)
tmp1= 4'b0000;
if(mmp1==4'b1010)
mmpul1 = mmpul1 + 1'b1;
if(mmp1==4'b1010)
mmp1= 4'b0000;

19
if(tmpul1==4'b0110)
mmp1 = mmp1 + 1'b1;
if(tmpul1==4'b0110)
tmpul1=4'b0000;
if(mmpul1==4'b0110)
mmpul1=4'b0000;
else
case(tmp1)
4'b0000:tmp = 7'b1000000;
4'b0001:tmp = 7'b1111001;
4'b0010:tmp = 7'b0100100;
4'b0011:tmp = 7'b0110000;
4'b0100:tmp = 7'b0011001;
4'b0101:tmp = 7'b0010010;
4'b0110:tmp = 7'b0000010;
4'b0111:tmp = 7'b1111000;
4'b1000:tmp = 7'b0000000;
4'b1001:tmp = 7'b0010000;
endcase
case(mmp1)
4'b0000:mmp = 7'b1000000;
4'b0001:mmp = 7'b1111001;
4'b0010:mmp = 7'b0100100;
4'b0011:mmp = 7'b0110000;
4'b0100:mmp = 7'b0011001;
4'b0101:mmp = 7'b0010010;
4'b0110:mmp = 7'b0000010;
4'b0111:mmp = 7'b1111000;
4'b1000:mmp = 7'b0000000;
4'b1001:mmp = 7'b0010000;
endcase
case(tmpul1)
4'b0000:tmpul = 7'b1000000;
4'b0001:tmpul = 7'b1111001;
20
4'b0010:tmpul = 7'b0100100;
4'b0011:tmpul = 7'b0110000;
4'b0100:tmpul = 7'b0011001;
4'b0101:tmpul = 7'b0010010;
4'b0110:tmpul = 7'b0000010;
4'b0111:tmpul = 7'b1111000;
4'b1000:tmpul = 7'b0000000;
4'b1001:tmpul = 7'b0010000;
endcase
case(mmpul1)
4'b0000:mmpul = 7'b1000000;
4'b0001:mmpul = 7'b1111001;
4'b0010:mmpul = 7'b0100100;
4'b0011:mmpul = 7'b0110000;
4'b0100:mmpul = 7'b0011001;
4'b0101:mmpul = 7'b0010010;
4'b0110:mmpul = 7'b0000010;
4'b0111:mmpul = 7'b1111000;
4'b1000:mmpul = 7'b0000000;
4'b1001:mmpul = 7'b0010000;
endcase
tmp1 = tmp1 + 1'b1;
end
assign HEX0[6:0] = tmp;
assign HEX1[6:0] = tmpul;
assign HEX2[6:0] = mmp;
assign HEX3[6:0] = mmpul;
endmodule
Dapat digunakan untuk membuat timer 60 menit pada seven segment setiap
kali clock berubah. Memanfaatkan shift register dan conversi 4bit ke 7bit seven
segment.

21
Topik 10
SIPO

A. Tujuan
1. Mahasiswa dapat membuat Timer pada Altera
2. Mahasiswa dapat memahami penggunaan Timer pada Altera

B. Dasar Teori

SIPO
Sesuai namanya input pada IC ini adalah data serial dan outputnya adalah data
parallel. Aplikasi sederhana dari IC ini bisa digunakan sebagai shift register
Berikut ini adalah konfigurasi dari pin – pin pada IC 74LS164

Gambaran Rangkaian Sipo

C. Peralatan/Komponen

- PC/Laptop 64/32bit
- Altera DE1
- Software Quartus II

22
D. Pedoman Praktikum
Contoh Program:

Seperti pada rangkaian di atas sipo 8bit mempuyai 2 inputan yaitu clock dan
Serial Input, pada rangkaian sipo LED menyala sesuai input yang di berikan, untuk
lebih jelasnya salin code di atas dan jalan kan pada altera

23
Topik 11
GPIO

J. Tujuan
1. Mahasiswa dapat menggunakan pin GPIO pada Altera
2. Mahasiswa dapat memahami penggunaan GPIO pada Altera
B. Dasar Teori

17. Pin GPIO

Dalam port GPIO setiap Port memiliki 40 pin yang terdiri dari 4 pin power dan 36 pin
sisanya adalah untuk Input/Output

18. Runing Led Sedehana

24
Pada gambar di atas adalah contoh penggunaan GPIO yang dapat di gunakan untuk
menghidupkan 4 buah LED.

C. Peralatan/Komponen

- PC/Laptop 64/32bit
- Altera DE1
- Software Quartus II
- Project Board
- LED
-Cable Jumper

D. Pedoman Praktikum
Contoh Pemasangan:

Pasang 4 buah LED ke dalam Project Board, sambungkan seluruh Catode dan
sambungkan ke GND pin GPIO.

Lalu sambungkan Anode ke pin GPIO yang tertulis pada program yang telah di buat.
Setelah semua tepasang, uploud program yang telah dibuat.

25
Topik 12
LCD (GPIO)

K. Tujuan
1. Mahasiswa dapat menggunakan pin GPIO pada Altera
2. Mahasiswa dapat memahami penggunaan GPIO pada Altera
B. Dasar Teori

19. LCD 16x2

LCD 16x2 adalah lcd yang dapat menampilkan 32 caracter yang dibagi dalam 16
caracter di baris pertama dan 16 caracter sisanya di baris ke 2.

20. Cara Penulisan pada LCD

Untuk inisialisasi awal, di tandai dengan pin RS yang di beri LOW dan pin D7-D4
di beri value seperti gambar di atas. Pada penulisan program di GPIO bisa di tuliskan
seperti contoh berikut.
RS E ASCII
1 0 0 0 0 1

Contoh di atas adalah Contoh untuk menuliskan huruf ‘H’ setiap kali ingin
memasukan data di perlukan clock pada pin eneble sebagai enter, berikut adalah contoh
pada penulisan program .

26
Gambar di atas menunjukan cara menuliskan huruf pada LCD dengan
menggunakan Pin GPIO.
C. Peralatan/Komponen

- PC/Laptop 64/32bit
- Altera DE1
- Software Quartus II
- Project Board
- LCD 16x2
-Cable Jumper

D. Pedoman Praktikum
Contoh Pemasangan:
GPIO 0
D7 D6
D5 D4
E RS

VCC GND

Pasang pin LCD ke pin GPIO 0 lalu beri power untuk LCD setelah semuanya
terpasang dengan baik uploud code di bawah ini.
Source Code:
module PushButton(
input wire [1:0] CLOCK_24,
output wire [5:0] GPIO_0);
reg [26:0] counter;

27
reg turn;
reg [5:0] tmp1;
reg [5:0] tmp;
always @(posedge CLOCK_24[1])
begin
counter <= counter + 15;
if(tmp1<6'b110101)begin
if (counter[25]) begin
turn <= 1'b1;
end else begin
turn <= 1'b0;
end
end
end
always@(posedge turn)
begin
case(tmp1)
//inisialisasi
6'b000000:tmp = 6'b000100;
6'b000001:tmp = 6'b010100;
6'b000010:tmp = 6'b000100;

6'b000011:tmp = 6'b000000;
6'b000100:tmp = 6'b010000;
6'b000101:tmp = 6'b000000;

6'b000110:tmp = 6'b001000;
6'b000111:tmp = 6'b011000;
6'b001000:tmp = 6'b001000;
6'b001001:tmp = 6'b000000;
6'b001010:tmp = 6'b010000;
6'b001011:tmp = 6'b000000;
6'b001100:tmp = 6'b000100;
6'b001101:tmp = 6'b010100;
28
6'b001110:tmp = 6'b000100;
6'b001111:tmp = 6'b000000;
6'b010001:tmp = 6'b010000;
6'b010010:tmp = 6'b000000;
6'b010011:tmp = 6'b000011;
6'b010100:tmp = 6'b010011;
6'b010101:tmp = 6'b000011;

//masukan char
6'b010111:tmp = 6'b100010;
6'b011000:tmp = 6'b110010;
6'b011001:tmp = 6'b100010;

6'b011010:tmp = 6'b100001;//H
6'b011011:tmp = 6'b110001;
6'b011100:tmp = 6'b100001;

6'b011101:tmp = 6'b100010;
6'b011110:tmp = 6'b110010;
6'b011111:tmp = 6'b100010;

6'b100000:tmp = 6'b101010;//E
6'b100001:tmp = 6'b111010;
6'b100010:tmp = 6'b101010;

6'b100011:tmp = 6'b100010;
6'b100100:tmp = 6'b110010;
6'b100101:tmp = 6'b100010;

6'b100110:tmp = 6'b100011;//L
6'b100111:tmp = 6'b110011;
6'b101000:tmp = 6'b100011;

6'b101001:tmp = 6'b100010;
29
6'b101010:tmp = 6'b110010;
6'b101011:tmp = 6'b100010;

6'b101100:tmp = 6'b100011;//L
6'b101101:tmp = 6'b110011;
6'b101110:tmp = 6'b100011;

6'b101111:tmp = 6'b100010;
6'b110000:tmp = 6'b110010;
6'b110001:tmp = 6'b100010;

6'b110010:tmp = 6'b101111;//O
6'b110011:tmp = 6'b111111;
6'b110100:tmp = 6'b101111;
endcase
tmp1=tmp1+1'b1;
end
assign GPIO_0=tmp;
endmodule

Jika sudah coba Uploud dan lihat apa yang tertampil pada LCD. Jika semua proses
benar LCD akan menampilkan tulisan seperti ini.

Jika sudah berhasil, pelajari kembali code yang sudah di berikan.

30
Referensi

Ashenden, P. J. (2009). The designer's guide to VHDL. Elsevier.

Palnitkar, S. (2003). Verilog HDL: a guide to digital design and synthesis. Prentice Hall.

Smith, S. M. (2011). VHDL for digital design. John Wiley & Sons.

Chu, P. P. (2006). FPGA prototyping by VHDL examples: Xilinx Spartan-3 version. John Wiley & Sons.

Perry, G. A. (2008). VHDL programming by example. McGraw-Hill Education.

Pedroni, V. (2008). Circuit design with VHDL. MIT Press.

Navabi, Z. (2010). VHDL: Analysis and modeling of digital systems. McGraw-Hill Education.

Zwolinski, M. (2000). Digital system design with VHDL. Prentice Hall.

Bhasker, J. R. (1998). A VHDL primer. Prentice Hall.

Jang, Y. B., & Han, J. H. (2010). Verilog HDL. Dong-A University Press.

31

You might also like