Quartus2V13.0SP1 DE1board VHDLVHDL、FPGA、プッシュボタン付き7セグメントLED
私は大学の学生です。
教授は、「CLOCKと「イベント」を使用しないでください。
昨日私は7セグメントLEDで逆オンオフを行っています。
今日この質問は多く編集されました。
以下のコードは正しい動作です。
そして、私は「イベント」なしでCode2でやりたいと思います。
--Code1
library IEEE;
use ieee.std_logic_1164.all ;
use IEEE.std_logic_unsigned.all;
entity increase is
port(
key0 : in std_logic;
hex3 : out std_logic_vector(6 downto 0));
end increase;
architecture RTL of increase is
signal hex3c : integer range 0 to 9;
begin
process(key0, hex3c)begin
if(key0' event and key0 = '0') then
if(hex3c = 9) then
hex3c <= 0;
else
hex3c <= hex3c + 1;
end if;
end if;
end process;
process(hex3c)
begin
case hex3c is
when 0 => hex3 <= "1000000";
when 1 => hex3 <= "1111001";
when 2 => hex3 <= "0100100";
when 3 => hex3 <= "0110000";
when 4 => hex3 <= "0011001";
when 5 => hex3 <= "0010010";
when 6 => hex3 <= "0000010";
when 7 => hex3 <= "1111000";
when 8 => hex3 <= "0000000";
when others => hex3 <= "0010000";
end case;
end process;
end RTL;
と
--Code2
library IEEE;
use ieee.std_logic_1164.all ;
use IEEE.std_logic_unsigned.all;
entity increase is
port(
key0 : in std_logic;
hex3 : out std_logic_vector(6 downto 0));
end increase;
architecture RTL of increase is
signal hex3c : integer range 0 to 9;
signal prev : std_logic;
begin
process(key0, hex3c, prev)begin
if(key0 = '0' and prev = '0')then
if(hex3c = 9) then
hex3c <= 0;
prev <= '1';
else
hex3c <= hex3c + 1;
prev <= '1';
end if;
elsif(key0 = '1' and prev = '1')then
prev <= '0';
end if;
end process;
process(hex3c)
begin
case hex3c is
when 0 => hex3 <= "1000000";
when 1 => hex3 <= "1111001";
when 2 => hex3 <= "0100100";
when 3 => hex3 <= "0110000";
when 4 => hex3 <= "0011001";
when 5 => hex3 <= "0010010";
when 6 => hex3 <= "0000010";
when 7 => hex3 <= "1111000";
when 8 => hex3 <= "0000000";
when others => hex3 <= "0010000";
end case;
end process;
end RTL;
この問題を解決する方法をお願いします。
本当にこれを実現できますか?
"no clockと' 'event' "はクロックを使用しないか、' 'event'よりも優れた' rising_edge() 'を使用しています。 – Paebbels
おそらく私はこの課題でrising_edgeとfalling_edgeを使用できません。おそらく、この課題のルールから外れているかもしれません。 – rararoland