Digilent DIO2 User Manual
Page 19
![background image](/manuals/673026/19/background.png)
Digilab DIO2 Reference Manual
Digilent, Inc.
www.digilentinc.com
page 19 of 19
Copyright Digilent, Inc. All rights reserved. Other product and company names mentioned may be trademarks of their respective owners.
--
process(clk256)
begin
if clk256'event and clk256 = '1' then
count <= count + 1;
end
if;
end
process;
with count select
digit <= sseg_reg(7 downto 4) when "00",
sseg_reg(3
downto
0)
when
"01",
sseg_reg(15
downto
12)
when
"10",
sseg_reg(11
downto
8)
when
others;
with digit select
sseg1 <=
"1001111" when "0001", --1
"0010010"
when
"0010",
--2
"0000110"
when
"0011",
--3
"1001100"
when
"0100",
--4
"0100100"
when
"0101",
--5
"0100000"
when
"0110",
--6
"0001111"
when
"0111",
--7
"0000000"
when
"1000",
--8
"0000100"
when
"1001",
--9
"0001000"
when
"1010",
--A
"1100000"
when
"1011",
--b
"0110001"
when
"1100",
--C
"1000010"
when
"1101",
--d
"0110000"
when
"1110",
--E
"0111000"
when
"1111",
--F
"0000001"
when
others;
--0
with count select
ssegsel1 <= "1000" when "00",
"0100"
when
"01",
"0010"
when
"10",
"0001"
when
others;
--
-- Test mode
--
testentry <= switchs(0) and not switchs(7) and btns(14) and btns(7);
process (btns(0))
begin
if (btns(0)'event and btns(0) = '1') then testmode <= testentry;
end
if;
end process;
leds <= not(leds_i) when testmode = '0' else not(btns(14)&btns(14 downto
1)&btns(1));
sseg <= sseg1 when testmode = '0' else switchs (6 downto 0);
ssegdp <= '1' when testmode = '0' else switchs(7);
ssegsel <= ssegsel1 when testmode = '0' else "1111";
end rtl;