NRZS: Difference between revisions
Content added Content deleted
imported>Bmoore9999 (adding VHDL) |
imported>Bmoore9999 No edit summary |
||
Line 37: | Line 37: | ||
architecture rtl of nrzi_decoder is |
architecture rtl of nrzi_decoder is |
||
⚫ | |||
⚫ | |||
begin |
begin |
||
Revision as of 15:44, 24 October 2023
VHDL
entity nrzi_encoder is
port(
clk :in std_logic;
d :in std_logic;
q :out std_logic
);
end entity;
architecture rtl of nrzi_encoder is
begin
process(clk)
begin
if (d = '1') then
if (qint = '0') then
qint <= '1';
else
qint <= '0';
end if;
end if;
end process;
q <= qint;
end architecture;
entity nrzi_decoder is
port(
clk :in std_logic;
d :in std_logic;
q :out std_logic
);
end entity;
architecture rtl of nrzi_decoder is
signal lastd :std_logic := '0';
begin
process(clk)
begin
if (rising_edge(clk)) then
if (d = lastd) then
q <= '0';
else
q <= '1';
end if;
lastd <= d;
end if;
end process;
end architecture;