[TUTORIAL - Verilog] Compiler Directives pada Verilog
Compiler Directives
Sebuah compiler directive memberikan informasi tambahan pada proses simulasi, yang menggambarkan bagaimana kinerja dari model Verilog yang telah kita buat. Compiler directive mulai bekerja dari awal sampai akhir proses kompilasi. Efek compiler directive akan tetap bekerja saat kompilasi sampai compiler directive lain didefinisikan dengan sifat yang berbeda. Compiler directive sendiri tidak terikat oleh module atau file tertentu.
Penulisan compiler directive diawali dengan backtick ( ` ) , BUKAN tanda petik ya ( ' ). Tombol pada keyboard untuk mendapatkan backtick ini umumnya ada di samping kiri atas, disebelah angka 1. Compiler directive ditulis sebelum definisi dari module (simak tutorial tentang module disini).
Beberapa compiler directive yang sering dipakai diantaranya timescale, include, dan define. Berikut lengkapnya:
Sintaks | Keterangan |
---|---|
`timescale <unit>,<presisi> | untuk mendefinisikan skala waktu dari unit delay dan presisi terkecil |
`include <namaFile> | memasukkan file tambahan dalam proses kompilasi |
`define <namaMakro><nilai> | untuk mendeklarasi konstanta global |
Sebagai contoh:
`timescale 1ns/1ps //mendeklarasikan unit waktu sebesar 1 nanodetik dengan presisi sebesar 1 pikodetik
Pada contoh di atas, Presisi adalah waktu terkecil yang dapat di-handle. Sebagai contoh, jika kita menulis waktu sebesar 0.001 maka akan diterjemahkan sebagai 0.001 ns, atau sebesar 1ps. Namun, jika kita menulis lebih kecil dari ini, misal 0.0001, maka akan diterjemahkan sebagai nol, sebab waktu terkecil yang dapat ditangani adalah sebesar 1 ps.
Contoh lain adalah sebagai berikut:
`include "/pemrograman/latihan/adder.v" //ikutsertakan adder.v dalam proses kompilasi
Pada contoh di atas, suatu proyek yang dibuat dalam bahasa Verilog dapat di organisir menjadi beberapa file terpisah. Pada contoh di atas, file adder.v disertakan, lengkap dengan direktori dimana file tersebut disimpan.
Demikian tutorial kali ini. Semoga bermanfaat...
Mari Gabung
Halo
, Ada yang ingin disampaikan? Jangan sungkan untuk gabung diskusi ini. Silahkan Login dulu atau Daftar baru.