Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- LIBRARY ieee;
- USE ieee.std_logic_1164.all;
- USE ieee.std_logic_arith.all;
- USE ieee.std_logic_unsigned.all;
- ENTITY lab2 is
- port (
- CLOCK_50: in std_logic;
- HEX0 : out std_logic_vector (6 downto 0);
- HEX1 : out std_logic_vector (6 downto 0);
- HEX2 : out std_logic_vector (6 downto 0);
- Q : out integer range 0 to 9
- );
- END lab2;
- ARCHITECTURE Behavioral of lab2 is
- signal mhz: integer range 0 to 50000000;
- signal counter: integer range 0 to 9;
- signal counter1: integer range 0 to 9;
- signal counter2: integer range 0 to 9;
- BEGIN PROCESS (CLOCK_50, mhz)
- BEGIN
- IF (CLOCK_50'EVENT AND CLOCK_50 = '1') THEN
- mhz <= mhz+ 1;
- IF (mhz = 49999999) THEN
- counter<=counter+1;
- IF (counter = 9) THEN
- counter<=0;
- counter1<=counter1+1;
- IF (counter1 = 9) THEN
- counter1<=0;
- counter2<=counter2+1;
- IF (counter2 = 9) THEN
- counter2<=0;
- END IF;
- END IF;
- END IF;
- END IF;
- END IF;
- END PROCESS;
- PROCESS (CLOCK_50,counter)
- BEGIN
- CASE (counter) is
- when 0 => HEX0 <= "1000000";
- when 1 => HEX0 <= "1111001";
- when 2 => HEX0 <= "0100100";
- when 3 => HEX0 <= "0110000";
- when 4 => HEX0 <= "0011001";
- when 5 => HEX0 <= "0010010";
- when 6 => HEX0 <= "0000010";
- when 7 => HEX0 <= "1111000";
- when 8 => HEX0 <= "0000000";
- when 9 => HEX0 <= "0010000";
- when others => HEX0 <= "XXXXXXX";
- END CASE;
- CASE (counter1) is
- when 0 => HEX1 <= "1000000";
- when 1 => HEX1 <= "1111001";
- when 2 => HEX1 <= "0100100";
- when 3 => HEX1 <= "0110000";
- when 4 => HEX1 <= "0011001";
- when 5 => HEX1 <= "0010010";
- when 6 => HEX1 <= "0000010";
- when 7 => HEX1 <= "1111000";
- when 8 => HEX1 <= "0000000";
- when 9 => HEX1 <= "0010000";
- when others => HEX1 <= "XXXXXXX";
- END CASE;
- CASE (counter2) is
- when 0 => HEX2 <= "1000000";
- when 1 => HEX2 <= "1111001";
- when 2 => HEX2 <= "0100100";
- when 3 => HEX2 <= "0110000";
- when 4 => HEX2 <= "0011001";
- when 5 => HEX2 <= "0010010";
- when 6 => HEX2 <= "0000010";
- when 7 => HEX2 <= "1111000";
- when 8 => HEX2 <= "0000000";
- when 9 => HEX2 <= "0010000";
- when others => HEX2 <= "XXXXXXX";
- END CASE;
- END PROCESS;
- END Behavioral;
- LIBRARY ieee;
- USE ieee.std_logic_1164.all;
- USE ieee.std_logic_arith.all;
- USE ieee.std_logic_unsigned.all;
- ENTITY lab2 is
- port (
- CLOCK_50: in std_logic;
- HEX0 : out std_logic_vector (6 downto 0);
- HEX1 : out std_logic_vector (6 downto 0);
- HEX2 : out std_logic_vector (6 downto 0);
- Q : out integer range 0 to 9
- );
- END lab2;
- ARCHITECTURE Behavioral of lab2 is
- signal mhz: integer range 0 to 50000000;
- signal counter: integer range 0 to 9;
- signal counter1: integer range 0 to 9;
- signal counter2: integer range 0 to 9;
- BEGIN PROCESS (CLOCK_50, mhz)
- BEGIN
- IF (CLOCK_50'EVENT AND CLOCK_50 = '1') THEN
- mhz <= mhz+ 1;
- IF (mhz = 49999999) THEN
- counter<=counter+1;
- IF (counter = 9) THEN
- counter<=0;
- counter1<=counter1+1;
- IF (counter1 = 9) THEN
- counter1<=0;
- counter2<=counter2+1;
- IF (counter2 = 9) THEN
- counter2<=0;
- END IF;
- END IF;
- END IF;
- END IF;
- END IF;
- END PROCESS;
- PROCESS (CLOCK_50,counter)
- BEGIN
- CASE (counter) is
- when 0 => HEX0 <= "1000000";
- when 1 => HEX0 <= "1111001";
- when 2 => HEX0 <= "0100100";
- when 3 => HEX0 <= "0110000";
- when 4 => HEX0 <= "0011001";
- when 5 => HEX0 <= "0010010";
- when 6 => HEX0 <= "0000010";
- when 7 => HEX0 <= "1111000";
- when 8 => HEX0 <= "0000000";
- when 9 => HEX0 <= "0010000";
- when others => HEX0 <= "XXXXXXX";
- END CASE;
- CASE (counter1) is
- when 0 => HEX1 <= "1000000";
- when 1 => HEX1 <= "1111001";
- when 2 => HEX1 <= "0100100";
- when 3 => HEX1 <= "0110000";
- when 4 => HEX1 <= "0011001";
- when 5 => HEX1 <= "0010010";
- when 6 => HEX1 <= "0000010";
- when 7 => HEX1 <= "1111000";
- when 8 => HEX1 <= "0000000";
- when 9 => HEX1 <= "0010000";
- when others => HEX1 <= "XXXXXXX";
- END CASE;
- CASE (counter2) is
- when 0 => HEX2 <= "1000000";
- when 1 => HEX2 <= "1111001";
- when 2 => HEX2 <= "0100100";
- when 3 => HEX2 <= "0110000";
- when 4 => HEX2 <= "0011001";
- when 5 => HEX2 <= "0010010";
- when 6 => HEX2 <= "0000010";
- when 7 => HEX2 <= "1111000";
- when 8 => HEX2 <= "0000000";
- when 9 => HEX2 <= "0010000";
- when others => HEX2 <= "XXXXXXX";
- END CASE;
- END PROCESS;
- END Behavioral;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement