Laporan 7'Segment

15
LAPORAN PROJECT RANGKAIAN KOMBINASIONAL (Seven Segment) TUJUAN : Mahasiswa mampu menggunakan komponen seven segment dengan SPARTAN melalui bahasa VHDL. Mahasiswa dapat menampilkan nilai masukan keluaran pada 7’segmen dalam SPARTAN. DASAR TEORI : Pada percobaan ini akan mempelajari beberapa rangkaian kombinasional yaitu BCD to 7’segmen. Rangkaian BCD to 7’segmen adalah rangkaian kombinasional yang mengkodekan bilangan biner menjadi bilangan desimal, selanjutnya bilangan tersebut di konfigurasi menjadi tampilan seven segmen. Konfigurasi seven segmen pada board spartan 3 ditunjukan pada gambar 1. Gambar 1. Konfigurasi seven segmen pada board spartan3 Terdapat 4 buah sevensegmen yang disusun secara pararel dengan data a-g dan dot di rangkai menjadi satu. Sedangkan kendali tampilan di atur melalu pin AN di setiap segmen. PERALATAN : ACHMAD RAHMAN MAWARDI - 2210141045

description

7'Segment Latihan untuk VHDL, EEPIS - PENS ITS, TEKNIK KOMPUTER

Transcript of Laporan 7'Segment

Page 1: Laporan 7'Segment

LAPORAN PROJECTRANGKAIAN KOMBINASIONAL (Seven Segment)

TUJUAN :

Mahasiswa mampu menggunakan komponen seven segment dengan SPARTAN melalui bahasa VHDL.

Mahasiswa dapat menampilkan nilai masukan keluaran pada 7’segmen dalam SPARTAN.

DASAR TEORI :

Pada percobaan ini akan mempelajari beberapa rangkaian kombinasional yaitu BCD to 7’segmen. Rangkaian BCD to 7’segmen adalah rangkaian kombinasional yang mengkodekan bilangan biner menjadi bilangan desimal, selanjutnya bilangan tersebut di konfigurasi menjadi tampilan seven segmen. Konfigurasi seven segmen pada board spartan 3 ditunjukan pada gambar 1.

Gambar 1. Konfigurasi seven segmen pada board spartan3

Terdapat 4 buah sevensegmen yang disusun secara pararel dengan data a-g dan dot di rangkai menjadi satu. Sedangkan kendali tampilan di atur melalu pin AN di setiap segmen.

PERALATAN :

1. Modul Spartan III2. ISE Project Manager 3. iMPACT4. Kabel Downloader5. Kabel Power6. Buku Panduan Praktikum 6

ACHMAD RAHMAN MAWARDI - 2210141045

Page 2: Laporan 7'Segment

LANGKAH PERCOBAAN :

1. Buka softwere ISE project navigator dan buat sebuah project, dengan ketentuan sebagai berikut :

2. Setelah itu buat suatu “VHDL Modul” dengan nama “bedaplustop” dan dengan architecture name “Behavioral”, dengan ketentuan entity sebagai berikut :

ACHMAD RAHMAN MAWARDI - 2210141045

Page 3: Laporan 7'Segment

ACHMAD RAHMAN MAWARDI - 2210141045

Page 4: Laporan 7'Segment

3. Setelah masukan code program dibawah ini :

123456789011121314151617181920212223242526272829303132333435363738394041424344

library IEEE;use IEEE.STD_LOGIC_1164.ALL;

entity bedaplustop isPort ( mclk : in STD_LOGIC;

btn : in STD_LOGIC;sw : in STD_LOGIC_VECTOR (3 downto 0);a_to_g : out STD_LOGIC_VECTOR (6 downto 0);an : out STD_LOGIC_VECTOR (3 downto 0);

dp : out STD_LOGIC);end bedaplustop;

architecture Behavioral of bedaplustop iscomponent bedaplus isPort ( x : in STD_LOGIC_VECTOR (15 downto 0);

clk : in STD_LOGIC;clr : in STD_LOGIC;a_to_g : out STD_LOGIC_VECTOR (6 downto 0);an : out STD_LOGIC_VECTOR (3 downto 0);dp : out STD_LOGIC);

end component;signal x: STD_LOGIC_VECTOR (15 downto 0);beginwith sw select

x(15 downto 0)<= x"0100" when "0000", x"0201" when "0001", x"0302" when "0010", x"0403" when "0011", x"0504" when "0100", x"0605" when "0101", x"0706" when "0110", x"0807" when "0111", x"0908" when "1000", x"1009" when "1001", x"1110" when "1010", x"1211" when "1011", x"1312" when "1100", x"1413" when "1101", x"1514" when "1110", x"1615" when others;

x1 : bedaplus port map(x=>x, clk=>mclk, clr=>btn, a_to_g=>a_to_g,an=>an, dp=>dp);end Behavioral;

ACHMAD RAHMAN MAWARDI - 2210141045

Page 5: Laporan 7'Segment

4. Kemudian buat baru lagi suatu “VHDL Modul” dengan nama “bedaplus” dan dengan architecture name “Behavioral”, dengan ketentuan entity sebagai berikut :

5. Setelah masukan code program dibawah ini :

12345678901112131415161718192021222324252627282930

library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_unsigned.ALL;

entity bedaplus isPort ( x : in STD_LOGIC_VECTOR (15 downto 0);

clk : in STD_LOGIC; clr : in STD_LOGIC; a_to_g : out STD_LOGIC_VECTOR (6 downto 0); an : out STD_LOGIC_VECTOR (3 downto 0); dp : out STD_LOGIC);

end bedaplus;

architecture Behavioral of bedaplus issignal s : STD_LOGIC_VECTOR (1 downto 0);signal digit : STD_LOGIC_VECTOR (3 downto 0);signal aen : STD_LOGIC_VECTOR (3 downto 0);signal clkdiv : STD_LOGIC_VECTOR (20 downto 0);

begins <= clkdiv(18 downto 17);aen <= "1111";dp <= '1';

process(s,x)begin

case s iswhen "00" => digit <=x(3 downto 0);when "01" => digit <=x(7 downto 4);when "10" => digit <=x(11 downto 8);

ACHMAD RAHMAN MAWARDI - 2210141045

Page 6: Laporan 7'Segment

31323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576

when others => digit <=x(15 downto 12);end case;

end process;

process(digit)begin

case digit iswhen x"0" => a_to_g <= "0000001"; --0when x"1" => a_to_g <= "1001111"; --1when x"2" => a_to_g <= "0010010"; --2when x"3" => a_to_g <= "0000110"; --3when x"4" => a_to_g <= "1001100"; --4when x"5" => a_to_g <= "0100100"; --5when x"6" => a_to_g <= "0100000"; --6when x"7" => a_to_g <= "0001111"; --7when x"8" => a_to_g <= "0000000"; --8when x"9" => a_to_g <= "0000100"; --9when x"A" => a_to_g <= "0001000"; --awhen x"B" => a_to_g <= "1100000"; --bwhen x"C" => a_to_g <= "0110001"; --cwhen x"D" => a_to_g <= "1000010"; --dwhen x"E" => a_to_g <= "0110000"; --ewhen others => a_to_g <= "0111000"; --f

end case;end process;

-- Digit select: ancodeprocess(s,aen)begin

an <= "1111";if aen(conv_integer(s))='1' then

an(conv_integer(s))<='0';end if;

end process;

-- Clock deviderprocess(clk, clr)begin

if clr='1' thenclkdiv <= (others => '0');

elsif clk'event and clk='1' thenclkdiv <= clkdiv+1;

end if;end process;

end Behavioral;

ACHMAD RAHMAN MAWARDI - 2210141045

Page 7: Laporan 7'Segment

6. Setelah itu buat suatu Implementation Constraints File (*.ucf) dengan ketentuan sebagai berikut

12345678901112131415161718192021222324252627282930

#7 segmentNET "a_to_g[0]" LOC = N16;NET "a_to_g[1]" LOC = F13;NET "a_to_g[2]" LOC = R16;NET "a_to_g[3]" LOC = P15;NET "a_to_g[4]" LOC = N15;NET "a_to_g[5]" LOC = G13;NET "a_to_g[6]" LOC = E14;NET "dp" LOC = P16;

#7 segment itemNET "an[0]" LOC = D14;NET "an[1]" LOC = G14;NET "an[2]" LOC = F14;NET "an[3]" LOC = E13;

NET "btn" LOC = M13;#NET "btn[1]" LOC = M14;#NET "btn[2]" LOC = L13;#NET "btn[3]" LOC = L14;

NET "mclk" LOC = T9;

# PlanAhead Generated physical constraints

NET "sw[0]" LOC = F12;NET "sw[1]" LOC = G12;NET "sw[2]" LOC = H14;NET "sw[3]" LOC = H13;

7. Jadikan bedaplustop sebagai top modul, lalu lakukan sintesis program.8. Jalankan program pada iMPACT dan amati hasilnya.

ACHMAD RAHMAN MAWARDI - 2210141045

Page 8: Laporan 7'Segment

ANALISA :

Dari program yang dituliskan pada percobaan ini dapat diketahui bahwa model yang digunakan adalah model structural dimana ada code yang digunakan sebagai top modul yang digabungkan dengan codelainnya. Pada dasarnya bedaplus hanya menyediakan seluruh system (entity dan archotectuur) agar digunakan oleh bedaplustop melalui port map. Penambahan 1 nilai BCD pada percobaan ini dilakukan oleh bagian : clock div

12345678910

-- Clock deviderprocess(clk, clr)begin

if clr='1' thenclkdiv <= (others => '0');

elsif clk'event and clk='1' thenclkdiv <= clkdiv+1;

end if;end process;

Setelah dilakukan pengecekan maka akan ditambah dengan 1, lalu dimasukan ke nilai “S<=clkdiv(18 downto 17);” hal ini lah yang membuat nilai S berubah, kemudian nilai digit berbeda dan nilai seven segment pun jadi berbeda

KESIMPULAN :

Rangkaian beda plus ini menggunakan dibuat menggunakan model structural dimana dilakukan penyebaran component dan process yang kemudian disatukan lagi menggunakan port map. Hal ini menyebabkan ada banyak entity dan architecture. Output dari rangkaian ini adalah nilai awal (2 nilai seven segment awal) ditambah dengan 1 digit BCD dan ditampilkan (2 seven segment akhir). Penggunaan signal disini sama halnya dengan penggunakan wire pada simulasi rangkaina elektronika yang berguna untuk menyambungkan komponen kompoenen

ACHMAD RAHMAN MAWARDI - 2210141045

Page 9: Laporan 7'Segment

GAMBAR HASIL PERCOBAAN :

ACHMAD RAHMAN MAWARDI - 2210141045

Page 10: Laporan 7'Segment

ACHMAD RAHMAN MAWARDI - 2210141045