bpc-los_10 - Greyův_C, tristate IO, simulace, ošetření metastability
Níže je uveden pouze náhled materiálu. Kliknutím na tlačítko 'Stáhnout soubor' stáhnete kompletní formátovaný materiál ve formátu PDF.
signal d_in_d : std_logic := '0';
signal d_in_dd : std_logic := '0';
signal d_in_ddd : std_logic := '0';
begin
DELAY_PROC : process(clk)
begin
if rising_edge(CLK) then
d_in_d <= D_IN;
d_in_dd <= d_in_d;
d_in_ddd <= d_in_dd;
end if;
end process;
D_IN_FE <= '1' when d_in_dd = '0' and d_in_ddd = '1' else '0';
D_IN_RE <= '1' when d_in_dd = '1' and d_in_ddd = '0' else '0';
D_IN_BE <= d_in_dd xor d_in_ddd;
2) Vstupní signál je asynchronní k hodinám – je delší než hodinový impulz
Programovatelná hradlová pole typu FPGA a jazyk VHDL
signal d_in_d : std_logic := '0';
signal d_in_dd : std_logic := '0';
signal d_in_ddd : std_logic := '0';
begin
DELAY_PROC : process(clk)
begin
if rising_edge(CLK) then
d_in_d <= D_IN;
d_in_dd <= d_in_d;
d_in_ddd <= d_in_dd;
end if;
end process;
D_IN_FE <= '1' when d_in_dd = '0' and d_in_ddd = '1' else '0';
D_IN_RE <= '1' when d_in_dd = '1' and d_in_ddd = '0' else '0';
D_IN_BE <= d_in_dd xor d_in_ddd;
3) Vstupní signál je asynchronní k hodinám – je kratší než hodinový impulz
Programovatelná hradlová pole typu FPGA a jazyk VHDL
signal d_in_d : std_logic := '0';
signal d_in_dd : std_logic := '0';
signal d_in_ddd : std_logic := '0';
begin
DELAY_PROC : process(clk)
begin
if rising_edge(CLK) then
d_in_d <= D_IN;
d_in_dd <= d_in_d;
d_in_ddd <= d_in_dd;
end if;
end process;
D_IN_FE <= '1' when d_in_dd = '0' and d_in_ddd = '1' else '0';
D_IN_RE <= '1' when d_in_dd = '1' and d_in_ddd = '0' else '0';
D_IN_BE <= d_in_dd xor d_in_ddd;
4) Vstupní signál je mezosynchronní k hodinám – fázový posun
Programovatelná hradlová pole typu FPGA a jazyk VHDL
entity g_cnt is
generic (
WIDTH
: natural := 8);
port (
RST :
in
std_logic;
CLK :
in
std_logic;
EN :
in
std_logic;
CNT_OUT :