Published in: VHDL
Shift-right, serial-in-parallel-out register, using http://snipplr.com/view/6173/clock-divider/.
library ieee; use ieee.std_logic_1164.all; entity SHRSIPO is port( di : in std_logic; clk : in std_logic; clrn : in std_logic; prn : in std_logic; out0 : out std_logic; out1 : out std_logic; out2 : out std_logic; out3 : out std_logic ); end SHRSIPO; architecture main of SHRSIPO is signal s : std_logic_vector(3 downto 1); signal clkout : std_logic; component divider160m port( clk : in std_logic; clkout : out std_logic ); end component; component dff port( d : in std_logic; clk : in std_logic; clrn : in std_logic; prn : in std_logic; q : out std_logic ); end component; begin w0: divider160m port map(clk, clkout); w1: dff port map( di, clkout, clrn, prn, s(3) ); w2: dff port map( s(3), clkout, clrn, prn, s(2) ); w3: dff port map( s(2), clkout, clrn, prn, s(1) ); w4: dff port map( s(1), clkout, clrn, prn, out0 ); out3 <= s(3); out2 <= s(2); out1 <= s(1); end main;
You need to login to post a comment.
