Salah Dimana Ya???

Kemarin iseng memulai belajar vhdl lagi…
Ada contoh program vhdl yang membuat rangkaian sederhana 2 to 1 multiplexer menggunakan pendekatan behavioral level design, kodenya kira-kira begini:

LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
ENTITY multiplexer IS PORT (
d0, d1, s: IN STD_LOGIC;
y: OUT STD_LOGIC);
END multiplexer;
ARCHITECTURE Behavioral OF multiplexer IS
BEGIN
PROCESS(s, d0, d1)
BEGIN
y <= d0 WHEN s = ‘0’ ELSE d1;
END PROCESS;
END Behavioral;

Tapi kok pas dikompilasi error ya??? yang bagian WHEN-nya, udah saya pelototi kok kayaknya ga ada yang salah, akhirnya saya modifikasi memakai IF ELSE menjadi begini:

LIBRARY ieee;
USE ieee.std_logic_1164.ALL;

ENTITY multiplexer is PORT(
d0,d1,s : IN STD_LOGIC;
y : OUT STD_LOGIC);
END multiplexer;

ARCHITECTURE Behavioral OF multiplexer IS
–blok sekuensial-> ciri dari behavioural level
BEGIN
PROCESS(s, d0, d1)
BEGIN
IF s=’0′ THEN
y <= d0;
ELSE
y <= d1;
END IF;
–y<=d0 WHEN s=’0′ ELSE d1;
END PROCESS;
END Behavioral;

baru bisa bener???? Mastar2x vhdl ada yang tahu kah salahnya apa?? atau memang compilernya yang tidak mampu?? saya menggunakan software altera quartus 6.0

5 Responses to Salah Dimana Ya???

  1. narpen says:

    salahnya disini chu… hmm…
    tar aja deh kita omongin di lab…


    halah :p
    pdhl sbnrnya karena gw jg ga ngerti, hahaha..

  2. Ardianto says:

    perasaan di sini:

    BEGIN
    y <= d0 WHEN s = ‘0′ ELSE d1;
    END PROCESS;

    kalau nggak salah, kalau pakai WHEN, harusnya

    y <= d0 WHEN s = ‘0′
    d1 WHEN others;

    Seingat saya sih…
    *baru belajar VHDL*

  3. Ardianto says:

    kurang koma di belakang baris pertama…

    harusnya

    y <= d0 WHEN s = ‘0′,
    d1 WHEN others;

    *pake WHEN biasanya menghindari K-map yang gede-gede, jadi masukin tabel kebenaran aja…*😛

  4. dani_timberlake says:

    wah!!

  5. orang cupu says:

    salahnya seperti saya dulu, when itu bukan sekuen tp kombinasional bukan? jg untuk pake when gak perlu di dalam blok process

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: