Siinäpä synkronisena logiikkana päästäänkö vaiko eikö.... Kellopulssi sisään ja resetti ykköseen, niin simulaattori kertoisi jo vastauksen. Vieläkö syöttää child_present:iin ykkösen, niin päästään perille myös piirillä.
###########
library IEEE;
use IEEE.STD_LOGIC_1164.all;
entity can_we_go_to_kolo is
port (
clk : in std_logic;
reset_n : in std_logic;
child_present : in std_logic := '1';
can_we_go_or_not : out std_logic -- '0' = no we cant, '1' = yes, we can
);
end can_we_go_to_kolo;
architecture RTL of can_we_go_to_kolo is
signal can_we_go : std_logic;
begin
PROC_KOLO_STATUS: process (reset_n, clk)
begin
if (reset_n = '0') then
can_we_go <= '0';
elsif (clk'event and clk = '1') then
if (child_present = '1') then
can_we_go <= '0';
else
can_we_go <= '1';
end if;
end if;
end process PROC_KOLO_STATUS;
can_we_go_or_not <= can_we_go;
end RTL;
###########
Suomeksi sanottuna siis, ei ikävä kyllä päästä tällä kertaa. :S