Verilog #3: Pre-Define Library dalam Pemrograman Verilog

February 22, 2026

 

Sahabat Robonesia, apabila kita membandingkan antara pemrograman Verilog HDL dengan pemrograman VHDL, maka ada perbedaan cukup mencolok dalam hal pre-defined library dan cara keduanya mengelola sumber daya (Resource) bawaan.

 

3.1 Perbedaan Konsep “Library” antara VHDL dan Verilog

VHDL memiliki sistem library yang eksplisit, yaitu “library” dan “use,” dengan beberapa package bawaan (Pre-define) seperti “ieee.std_logic_1164.all,” “ieee.numeric_std.all,” dan sebagainya. Setiap desain biasanya harus mendefinisikan penggunaan library ini di bagian awal kode.

Verilog secara tradisional tidak memiliki konsep deklarasi library yang eksplisit seperti di VHDL.

Fitur-fitur dasar seperti tipe sinyal (wire, reg), operator logika, dan konstruksi pemrograman sudah langsung tersedia tanpa perlu menggunakan kata kunci “use” atau “import.”

Artinya, dalam pemrograman Verilog:

  • Kita cukup menulis”moduleendmodule” tanpa menyebut library, dan semua konstruksi dasar sudah bisa digunakan.
  • Konsep pre-defined library yang besar tidak se-ketat atau se-formal di pemrograman VHDL.

 

3.2 Primitive Bawaan dalam Pemrograman Verilog

Dalam pemrograman Verilog, tidak dikenal adanya library bawaan (Pre-Defined library) seperti dalam pemrograman VHDL, namun dikenal adanya primitive bawaan (built-in primitives) yang fungsinya mirip seperti komponen standar di dalam library VHDL.

Beberapa contoh primitive gates bawaan:

 

Selain itu, ada juga switch-level modeling primitives seperti “nmos”, “pmos”, dan “cmos,” walau jarang dipakai di desain sistem digital modern.

Pembahasan lengkap mengenai primitive bawaan (Pre-define) dalam pemrograman Verilog akan dibahas dalam artikel tersendiri. Silakan mempelajarinya dari artikel berjudul: “Primitive dalam Pemrograman Verilog“.

 

3.3 Library yang Disediakan Oleh Vendor (Intelectual Property, IP)

Walaupun dalam pemrograman Verilog standar tidak dikenal adanya library bawaan (Pre-Defined library) seperti dalam pemrograman VHDL, namun dalam praktik industri, vendor (produsen) chip FPGA (Seperti: AMD xilinx, Intel/Altera, Lattice, atau Microchip) atau vendor IP core menyediakan “file library” berupa kumpulan modul dalam format kode Verilog yang siap dipakai (Misalnya untuk FIFO, PLL, memori, multiplier, DLL, dan sebagainya).

 

Contoh penggunaan file eksternal:

 

File library (IP) dari vendor ini sering kali disimpan di dalam direktori proyek khusus atau file program Verilog (Berekstensi “.v”) yang dapat dimasukkan (include) ke dalam kode program Verilog menggunakan kata kunci “include.” Kata kunci “include” ini bukan untuk digunakan sebagai “library management” seperti dalam pemrograman VHDL, tapi sekedar “text inclusion” layaknya “#include” dalam bahasa C atau C++.

Dari poin bahasan 3.1, 3.2, dan 3.3, dapat kita ambil kesimpulan bahwa:

  • Verilog tidak memiliki sistem pre-defined library seperti VHDL, tetapi menyediakan primitive bawaan yang bisa langsung digunakan tanpa deklarasi library.
  • Untuk fungsi lanjutan, library biasanya disediakan oleh vendor FPGA/ASIC dalam bentuk file Verilog tambahan, bukan paket standar seperti di VHDL.

 

3.4 Perbandingan Library & Resource Management antara VHDL vs Verilog

Tabel 1 menunjukkan perbandingan pemrograman VHDL dengan Verilog terkait dengan library dan resource management-nya.

 

Tabel 1. Perbandingan Library dalam VHDL vs. Verilog

 

Dari tabel 1 di atas, dapat kita simpulkan bahwa:

  • VHDL lebih ketat dan formal: membutuhkan deklarasi library dan use untuk semua resource eksternal, cocok untuk proyek yang mengutamakan *rigor* desain.
  • Verilog lebih ringkas: tidak memerlukan deklarasi library untuk dasar, tapi tidak ada sistem manajemen library built-in untuk komponen kompleks; pengelolaan menggunakan file atau include manual.

 

3.5 Contoh Program Perbandingan antara VHDL dengan Verilog

Berikut ini disajikan dua buah contoh kode program desain sistem digital sederhana dengan tujuan yang sama. Program 1 dibuat dengan kode program VHDL dan Program 2 dibuat dengan kode program Verilog, sehingga kita bisa melihat dengan jelas:

  • Bagaimana perbedaan struktur kode.
  • Bagaimana perbedaan penggunaan library.

 

Sebagai contoh, kita akan membuat desain “4-bit synchronous counter” dengan reset sinkron.

 

Program 1: Kode program VHDL (Counter sinkron 4-bit)

Penjelasan Program 1 (VHDL):

  • Harus mendeklarasikan library ieee dan use untuk dapat menggunakan package std_logic dan tipe data unsigned dalam program desain sistem digital.
  • Tipe data seperti unsigned berasal dari package numeric_std, bukan default.
  • Ada pemisahan entity (port definition) dan architecture (behavior).

 

Program 2: Kode program Verilog (Counter sinkron 4-bit)

Penjelasan Program 2 (Verilog):

  • Tidak ada deklarasi library.
  • Tipe data sederhana (reg atau wire) langsung tersedia.
  • Port dan perilaku (behavior) sistem digital biasanya dijadikan dalam satu blok module.
  • Kode program Verilog lebih singkat dari pada kode program VHDL.

 

Tabel 2 memberikan perbandingan lengkap secara head to head terkait langkah & Kompleksitas antara pemrograman VHDL dengan pemrograman Verilog.

 

Tabel 2. Perbandingan Langkah & Kompleksitas antara VHDL dengan Verilog

 

Dengan perbandingan ini memberi informasi kepada kita bahwa pemrograman VHDL cocok digunakan untuk membangun proyek sistem digital yang mengutamakan “type safety” dan dokumentasi eksplisit. Sedangkan pemrograman Verilog lebih cocok untuk proyek sistem digital yang fokus pada kecepatan pembuatan desain, misalnya FPGA development di level prototyping.

 

Author

Taufiq Dwi Septian Suyadhi

Degrees from electronics and industrial engineering. Enthusiast on electronics, embedded systems, and robotics. Motivation: “Never ending learning and sharing valuable knowledge to the others”.

Leave a Reply

Post Related

error: Content is protected !!