Saya mendapatkan kesempatan belajar VHDL dan FPGA pada saat magang di PENS-ITS dari 1 - 28 Januari 2006. Kebetulan materi tersebut merupakan request saya sendiri selama di sana diluar tugas belajar yang harus saya magang. Jadi belajar sendiri selanjutnya dengan mencari beberapa literatur yang berhubungan.
Mungkin sudah mulai bosan dengan bahasa pemprograman Delphi, C, Assembler :)
VHDL: Operasi tambah/kurang
Pertama saya akan memperkenalkan bagaimana VHDL pada contoh gambar 1 dibawah mendeskripsikan 2 input sebagai parameter design tambah/kurang pada VHDL. Design pada unit multiprexer operasi tambah dan kurang dengan input addnsub. Perpaduan tools pendeteksi unit tambah dan kurang pada code HDL sebagai bagian input dan output pada multiplexer oleh suatu keadaan sinyal. Software dalam pengambilan keputusan adalah lpm_addsub, dimana mega-fungsi untuk design tambah/kurang.
Gambar 1. Tambah/Kurang sebagai diagram Top-Level
Tabel 1. Informasi port dan deskripsi masing-masing port.
Nama Port
Tipe
Deskripsi
a[4:0], b[4:0]
Input
4-bit data input untuk tambah/kurang
addnsub
Input
Multiplexer input untuk operasi tambah dan kurang
5..0]
Output
5-bit output dengan 1-bit carry/borrow
Jika anda sering melakukan pemprograman dengan bahasa C pastinya Anda akan mengira itu untuk pemprograman dengan bahasa C atau bahasa java. Namun saya pastikan code bahasa dengan nama VHDL. inilah VHDL dari operasi tambah dan kuran menggunakan FPGA
SUBTYPE ADDER_VALUE IS integer RANGE 0 TO 2 ** ADDER_WIDTH - 1; SUBTYPE RESULT_VALUE IS integer RANGE 0 TO 2 ** RESULT_WIDTH - 1; END my_package;
LIBRARY ieee; USE ieee.std_logic_1164.ALL; USE work.my_package.ALL;
ENTITY addsub IS PORT ( a: IN ADDER_VALUE; b: IN ADDER_VALUE; addnsub: IN STD_LOGIC; result: OUT RESULT_VALUE ); END addsub;
ARCHITECTURE rtl OF addsub IS BEGIN PROCESS (a, b, addnsub) BEGIN IF (addnsub = '1') THEN result <= a + b; ELSE result <= a - b; END IF; END PROCESS; END rtl;
Name: Musa Home: Depok, Jawa Barat, Indonesia About Me: Seorang yg sederhana, moderat, individu serta suka dedikasi dan komitmen dalam semua aspek hidup. Dalam pandanganku sendiri sebagai seorang stabil, bertanggung jawab, percaya diri dan orang penuh kasih yang mempunyai niat baik. Kenangan dari segalanya langkahku merupakan pengalaman berharga dimasa mendatang. Petualanganku dimulai dari pulau “Celebes” yang lebih dikenal dengan Sulawesi. Tepatnya di daerah Gorontalo tempat kelahiran dan masa-masa kecilku bermain dan tumbuh.
Minat yang berkisar akademis terutama hardware system, petualangan. Mengunjungi suatu tempat dan hidup bebas dari “penjajahan” kesenangan penuh kasih.
Bagaimanapun, seorang Purnawarman Musa masih merasakan bahwa aku bukanlah seorang yang sempurna.