Fig 10.17



 

1. Pendahuluan (kembali)

        Hardware Description Language (HDL) sendiri sebenarnya dibuat untuk membantu menangani sistem digital berskala besar — mulai dari dokumentasi, simulasi, pengujian, hingga penyusunan rangkaian yang bisa langsung digunakan. Begitu juga dengan perangkat lunak dari Altera, yang memang dirancang untuk mendukung pengelolaan proyek-proyek digital yang lebih kompleks dari sekadar materi dalam buku ini. Beberapa fitur dari software Altera akan dijelaskan seiring kita membahas langkah-langkah dalam menyusun proyek-proyek kecil.     


2. Tujuan (kembali)

  • Mempelajari tentang bagaimana materi projek sistem digital menggunakan HDL
  • Mampu membuat rangkaian projek sistem digital menggunakan HDL
  • Mengetahui prinsip kerja dari rangkaian projek sistem digital menggunakan HDL


3. Alat dan Bahan (kembali)

A. Alat

1. logicprobe 


Probe logika adalah probe uji genggam berbiaya rendah yang digunakan untuk menganalisis dan memecahkan masalah keadaan logis ( boolean 0 atau 1) 


B. Bahan 

 1.  Logic state

Berfungsi untuk memberikan keterangan logika 1 atau 0




2. Gerbang AND
Jenis pertama adalah gerbang AND. Gerbang AND ini memerlukan dua atau lebih input untuk menghasilkan satu output. Jika semua atau salah satu inputnya merupakan bilangan biner 0, maka outputnya akan menjadi 0. Sedangkan jika semua input adalah bilangan biner 1, maka outputnya akan menjadi 1.



3. Gerbang Or

Jenis kedua adalah gerbang OR. Sama seperti gerbang sebelumnya, gerbang ini juga memerlukan dua input untuk menghasilkan satu output. Gerbang OR ini akan menghasilkan output 1 jika semua atau salah satu input merupakan bilangan biner 1. Sedangkan output akan menghasilkan 0 jika semua inputnya adalah bilangan biner 0.




4. Gerbang XOR
Jenis berikutnya adalah gerbang XOR. Gerbang XOR ini memerlukan dua input untuk menghasilkan satu output. Jika input berbeda (misalkan: input A=1, input B=0) maka output yang dihasilkan adalah bilangan biner 1. Sedangkan jika input adalah sama maka akan menghasilkan output dengan bilangan biner 0.

4. Dasar Teori (kembali)

Hardware Description Language (HDL) adalah bahasa pemrograman khusus yang digunakan untuk merancang dan memodelkan sistem digital. Dua HDL yang paling umum digunakan adalah VHDL (VHSIC Hardware Description Language) dan Verilog. Dengan HDL, perancang bisa menggambarkan perilaku dan struktur dari sistem digital secara tekstual, mirip seperti menulis kode program.

Manfaat HDL dalam Proyek Sistem Digital

  1. Desain Modular
    HDL memungkinkan perancang membuat sistem dalam bentuk modul-modul kecil yang lebih mudah dikelola dan diuji secara terpisah sebelum digabungkan.

  2. Simulasi dan Verifikasi
    HDL mendukung proses simulasi, yaitu pengujian perilaku rangkaian secara virtual sebelum benar-benar diimplementasikan dalam perangkat keras seperti FPGA (Field Programmable Gate Array).

  3. Dokumentasi yang Jelas dan Rapi
    Dengan HDL, desain sistem terdokumentasi dalam bentuk kode yang bisa dibaca dan dipelajari ulang oleh orang lain.

  4. Sintesis ke Perangkat Keras
    HDL dapat digunakan untuk mengubah desain logika menjadi rangkaian nyata yang bisa ditanamkan pada chip melalui proses yang disebut synthesis.

Langkah Umum dalam Proyek Sistem Digital dengan HDL

  1. Perencanaan Sistem
    Menentukan tujuan, fungsi, dan spesifikasi dari sistem digital yang akan dibuat.

  2. Perancangan Modul
    Menulis kode HDL untuk setiap blok fungsional, seperti ALU, register, kontrol, dll.

  3. Simulasi dan Debugging
    Menggunakan software simulator (seperti ModelSim) untuk mengecek apakah sistem berfungsi sesuai harapan.

  4. Sintesis dan Implementasi
    Menggunakan software seperti Altera Quartus atau Xilinx Vivado untuk menerjemahkan kode HDL ke dalam konfigurasi hardware.

  5. Pengujian di Hardware (misalnya FPGA)
    Setelah sintesis, sistem diuji langsung pada perangkat keras untuk memastikan semua fungsi berjalan dengan benar.



    Prinsip kerja dari rangkaian jam digital dengan menggunakan 6 IC pada umumnya mengacu pada pembentukan sistem penghitung waktu (counter) terintegrasi yang terdiri dari detik, menit, dan jam. Rangkaian ini biasanya menggunakan tiga pasang IC counter BCD (Binary-Coded Decimal), seperti IC 7490, 7492, atau 74LS90, yang masing-masing bertanggung jawab untuk menghitung satuan dan puluhan dari detik, menit, dan jam. Misalnya, dua IC pertama digunakan sebagai penghitung detik (0–59), dua IC berikutnya untuk menit (0–59), dan dua IC terakhir untuk jam (biasanya 0–23 dalam format 24 jam). Sumber pulsa detik dapat berasal dari rangkaian osilator berbasis kristal 1 Hz atau IC pembagi frekuensi seperti IC 555 atau 4060.

    Setiap IC counter bekerja secara bertingkat (cascade), di mana output dari IC satuan akan memicu IC puluhan setelah mencapai batas maksimum. Untuk menampilkan angka, keluaran dari setiap IC counter dihubungkan ke IC decoder BCD ke 7-segmen seperti IC 7447 atau 4511, yang kemudian mengendalikan tampilan pada display 7-segmen. Sinkronisasi antar counter juga memerlukan penggunaan gerbang logika tambahan untuk mereset counter saat mencapai batas tertentu, seperti detik dan menit yang di-reset saat mencapai 60, serta jam yang di-reset saat mencapai 24


6. Ringkasan [kembali]

        Digital System Projects Using HDL (Hardware Description Language), yaitu metode perancangan sistem digital menggunakan bahasa deskripsi perangkat keras seperti Verilog dan VHDL. Berbeda dengan pendekatan konvensional yang merancang rangkaian menggunakan gerbang logika secara langsung, HDL memungkinkan perancang untuk mendeskripsikan fungsi dan perilaku rangkaian dalam bentuk kode, sehingga desain menjadi lebih fleksibel, modular, dan mudah dikembangkan. Dengan HDL, suatu sistem digital dapat dirancang, diuji, dan disimulasikan sebelum direalisasikan dalam perangkat keras seperti FPGA atau ASIC.

        Dalam HDL terdapat beberapa gaya pemodelan, yaitu behavioral, dataflow, dan structural modeling. Behavioral modeling menggambarkan perilaku sistem menggunakan pernyataan seperti if, case, dan always, sehingga lebih mudah dipahami seperti bahasa pemrograman. Dataflow modeling menggunakan persamaan logika dengan pernyataan assign, sedangkan structural modeling menggambarkan hubungan antar komponen seperti gerbang logika atau modul yang saling terhubung. Ketiga pendekatan ini dapat digunakan secara terpisah maupun dikombinasikan untuk membangun sistem yang kompleks.

        Proses perancangan sistem digital menggunakan HDL umumnya melalui beberapa tahapan, yaitu desain, penulisan kode, simulasi, verifikasi, dan implementasi. Pada tahap simulasi, digunakan testbench untuk memberikan input (stimulus) dan mengamati output dari rangkaian tanpa memerlukan perangkat keras fisik. Verifikasi dilakukan untuk memastikan bahwa desain telah sesuai dengan spesifikasi, sedangkan implementasi dilakukan dengan mengunduh desain ke perangkat seperti FPGA. Dengan proses ini, kesalahan dapat dideteksi lebih awal sehingga mengurangi biaya dan waktu pengembangan.

        HDL banyak digunakan untuk merancang berbagai rangkaian digital seperti gerbang logika, multiplexer, decoder, flip-flop, counter, hingga sistem yang lebih kompleks seperti Arithmetic Logic Unit (ALU). Salah satu keunggulan utama HDL adalah kemampuannya untuk membuat desain yang reusable (dapat digunakan kembali), scalable (mudah dikembangkan), dan mudah dimodifikasi. Selain itu, HDL juga mendukung simulasi timing sehingga perancang dapat menganalisis delay dan performa sistem sebelum implementasi.

        Namun, dalam penggunaannya terdapat beberapa permasalahan seperti kesalahan sintaks (syntax error), kesalahan logika desain, serta masalah timing akibat ketidaksinkronan sinyal clock. Kesalahan ini dapat diatasi dengan menggunakan simulator seperti ModelSim atau Vivado, melakukan verifikasi dengan testbench, serta menerapkan desain yang sinkron dengan clock yang stabil. Selain itu, pemahaman yang baik terhadap perbedaan antara simulasi dan implementasi nyata juga sangat penting untuk menghindari kesalahan desain.

        Secara keseluruhan, HDL merupakan alat yang sangat penting dalam perancangan sistem digital modern karena memungkinkan desain yang lebih cepat, efisien, dan akurat. Dengan menggunakan HDL, perancang dapat membuat, menguji, dan mengimplementasikan sistem digital dengan lebih mudah dibandingkan metode konvensional. Oleh karena itu, pemahaman tentang HDL menjadi sangat penting dalam bidang teknik elektro dan teknik komputer, terutama dalam pengembangan sistem berbasis FPGA dan ASIC.


7. Soal Latihan [kembali]               

a. HDL (Verilog) Dasar

• Problem:

1. Buat program AND gate menggunakan Verilog!

Jawab:

module and_gate (
input A,
input B,
output Y
);
assign Y = A & B;
endmodule

Jadi, outputnya adalah:

Y=AB

Penjelasan:

Operator & digunakan untuk operasi AND, sehingga output bernilai 1 hanya jika kedua input bernilai 1.

2. Buat program OR gate menggunakan Verilog!

Jawab:

module or_gate (
input A,
input B,
output Y
);
assign Y = A | B;
endmodule

Jadi, outputnya adalah:

Y=A+B

3. Buat program Full Adder menggunakan Verilog!

Jawab:

module full_adder (
input A,
input B,
input Cin,
output Sum,
output Cout
);
assign Sum = A ^ B ^ Cin;
assign Cout = (A & B) | (Cin & (A ^ B));
endmodule

Jadi, outputnya adalah:

  • Sum = hasil penjumlahan
  • Cout = carry

b. Rangkaian HDL Lanjutan

• Problem:

4. Buat program MUX 2-to-1 menggunakan Verilog!

Jawab:

module mux2to1 (
input A,
input B,
input S,
output Y
);
assign Y = (S == 0) ? A : B;
endmodule

Penjelasan:

  • S = 0 → output = A
  • S = 1 → output = B

5. Buat program Decoder 2-to-4 menggunakan Verilog!

Jawab:

module decoder2to4 (
input A,
input B,
output [3:0] Y
);
assign Y[0] = ~A & ~B;
assign Y[1] = ~A & B;
assign Y[2] = A & ~B;
assign Y[3] = A & B;
endmodule

6. Buat testbench sederhana untuk AND gate!

Jawab:

module tb_and;
reg A, B;
wire Y;
and_gate uut (.A(A), .B(B), .Y(Y));
initial begin
A = 0; B = 0;
#10 A = 0; B = 1;
#10 A = 1; B = 0;
#10 A = 1; B = 1;
end
endmodule

Penjelasan:

Testbench digunakan untuk menguji rangkaian dengan berbagai kombinasi input.

Masalah pada HDL

Masalah 1: Syntax Error

Penyebab:

  • Salah penulisan kode

Solusi:

  • Gunakan simulator (Vivado, ModelSim)
  • Periksa tanda ;

Masalah 2: Output Tidak Sesuai

Penyebab:

  • Logika salah

Solusi:

  • Cek persamaan
  • Uji dengan testbench

Masalah 3: Tidak Ada Output

Penyebab:

  • Tidak ada stimulus input

Solusi:

  • Tambahkan testbench

Masalah 4: Timing Error

Penyebab:

  • Clock tidak sinkron

Solusi:

  • Gunakan timing simulation

Pilihan Ganda

1. HDL digunakan untuk:

A. Menghitung B. Mendesain rangkaian digital C. Menguatkan sinyal D. Mengukur arus

Jawaban: B

2. Operator AND pada Verilog adalah:

A. + B. & C. | D. ^

Jawaban: B

3. Fungsi testbench adalah:

A. Menghapus data B. Menguji rangkaian C. Menguatkan sinyal D. Menyimpan data

Jawaban: B

4. Jika S = 1 pada MUX, maka output adalah:

A. A B. B C. 0 D. 1

Jawaban: B  

                                                                                                                     


9. Download File [kembali]



Download Datasheet





Komentar

Postingan populer dari blog ini