Minggu, 24 Oktober 2010

Tulisan VHDL

no 1. LIbrary iee,std,work:

LIBRARY IEEE :
- math_real
- numeric_bit
- numeric_std
- std_logic_1164
- std_logic_arith
- std_logic_signed
- std_logic_unsigned
- vital_timing

LIBRARY STD :
- standard
- textio

LIBRARY WORK :
semua source code user akan dicompile dan dimasukkan ke dalam library ini




no 2.
= s1 = s2 = Y =
==========
= 0 = 0 = a =
= 0 = 1 = b =
= 1 = 0 = c =
= 1 = 1 = d =
===========


Pertama-tama definisikan entitas multiplexer dengan nama "kepletex" :

entity kepletex is -- mendefinisikan entity "kepletex"
port(
a,b,c,d,s1,s2: in bit; -- terdapat 4 port input, 2 selector, dan 1 output
y:out bit);
end kepletex;


Lalu definisikan arsitektur "mux_arch" dari entity "kepletex" :

architecture mux_arch of kepletex is
begin
proc: process is
begin
if (s1='0' and s2='0') then y <= a;
else if (s1='0' and s2='1') then y <= b;
else if (s1='1' and s2='0') then y <= c;
else if (s1='1' and s2='1') then y <= d;
end if;
end process proc;
end mux_arch;


Arsitektur berfungsi untuk menerangkan bagaimana entity "kepletex" bekerja. Namun kode diatas hanyalah berupa template, sehingga tidak bisa dijalankan untuk simulasi maupun di sintesis karena belum didefinisikan bit input pada masing-masing portnya. Untuk itu kita tambahkan entity "sinyal" dan arsitektur "sinyal_arch" yang berfungsi untuk memberikan input pada entity "kepletex".

entity sinyal is
port(
pa,pb,pc,pd,ps1,ps2:out bit);
end sinyal;

architecture sinyal_arch of sinyal is
begin
pros: process is
begin
pa <= '0';
pb <= '1';
pc <='1';
pd <= '0';
ps1 <= '1';
ps2 <= '0';
end process pros;
end sinyal_arch;


Semua kode vhdl diatas digabung menjadi satu menjadi :

library ieee;
use ieee.std_logic_1164.all;

entity kepletex is -- mendefinisikan entity "kepletex"
port(
a,b,c,d,s1,s2: in bit; -- terdapat 4 port input, 2 selector, dan 1 output
y:out bit);
end kepletex;

architecture mux_arch of kepletex is
begin
proc: process is
begin
if (s1='0' and s2='0') then y <= a;
else if (s1='0' and s2='1') then y <= b;
else if (s1='1' and s2='0') then y <= c;
else if (s1='1' and s2='1') then y <= d;
end if;
end process proc;
end mux_arch;

entity sinyal is
port(
pa,pb,pc,pd,ps1,ps2:out bit);
end sinyal;

architecture sinyal_arch of sinyal is
begin
pros: process is
begin
pa <= '0';
pb <= '1';
pc <='1';
pd <= '0';
ps1 <= '1';
ps2 <= '0';
end process pros;
end sinyal_arch;

-- kode dibawah ini merupakan kode yang berfungsi menjalankan --
-- entity yang telah didefinisikan diatas --

Tidak ada komentar:

Posting Komentar