Pada postingan sebelum ini, baru diulas tentang controller dari LED PingPong yang gue buat sebagai projek akhir dari kelas Praktikum Sistem Digital. Nah, sekarang kita ulas tentang rangkaian utamanya yang merupakan Top Heirarchy dari semua rangkaian yang digunakan.
Dalam membuat rangkaian LED PingPoing ini, digunakan beberapa rangkaian dari praktikum sebelumnya, yaitu bcd_counter, bcd_7segment, dan clockdiv. Rangkaian bcd_counter digunakan untuk menghitung skornya dan bcd_7segment digunakan untuk menampilkan hasilnya ke dalam 7segment pada board FPGA. Clockdiv sendiri berguna untuk mengatur clock sehingga saat implementasi pada board FPGA, pergerakan LED yang dianalogikan sebagai pergerakan bola dapat terlihat.
Rangkaian yang gue rancang kayak gini :
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY mainpingpong IS
PORT (start1, start2, button1, button2, clock: IN STD_LOGIC;
led1,led2,led3,led4,led5,led6,led7,led8,A1,A2,A3,A4,A5,A6,A7,B1,B2,B3,B4,B5,B6,B7: OUT STD_LOGIC);
END mainpingpong;
ARCHITECTURE structural OF mainpingpong IS
component pengontrol is
PORT (start1, start2, button1, button2, clock: IN STD_LOGIC;
led1,led2,led3,led4,led5,led6,led7,led8,count1,count2: OUT STD_LOGIC);
end component;
component bcd IS
port(D3,D2,D1,D0 : IN STD_LOGIC;
A,B,C,D,E,F,G : OUT STD_LOGIC);
end component;
component bcd_cnt IS
PORT(CLK, CE, CLR1, CLR2: IN STD_LOGIC;
Q : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
TC: OUT STD_LOGIC);
END component;
component CLOCKDIV is port(
CLK: IN std_logic;
DIVOUT: buffer std_logic);
end component;
SIGNAL simpenclk, count1,count2, A, B : STD_LOGIC;
SIGNAL Q1,Q2 : STD_LOGIC_VECTOR (3 DOWNTO 0);
BEGIN
Time : clockdiv PORT MAP (clock,simpenclk);
kontrol : pengontrol PORT MAP (start1,start2,button1,button2,simpenclk, led1, led2,led3,led4,led5,led6,led7,led8,count1, count2);
counter1 : bcd_cnt PORT MAP (count1, '1' , start1 , start2, Q1, A);
counter2 : bcd_cnt PORT MAP (count2, '1' , start1 , start2, Q2, B);
Segment1 : bcd PORT MAP (Q1(3),Q1(2),Q1(1),Q1(0),A1,A2,A3,A4,A5,A6,A7);
Segment2 : bcd PORT MAP (Q2(3),Q2(2),Q2(1),Q2(0),B1,B2,B3,B4,B5,B6,B7);
END structural;
Jadi, untuk membuat projek LED Pingpong ini sebenarnya gue Cuma membuat dua rangkaian tambahan, sisanya menggunakan rangkaian yang sudah ada :D
Selamat berkarya!!
Tidak ada komentar:
Posting Komentar