본문 바로가기 보조메뉴바로가기 대메뉴 바로가기

첨단과학기술 시대를 이끌어 나갈 공학도를 양성하는전자공학과 

본문 시작

 

범용레지스터

  • 권오근
  • 조회 : 5885
  • 등록일 : 2008-12-02
LIBRARY ieee;
USE ieee.std_logic_1164.all;

Entity gp_register Is
Port(SEL: IN STD_LOGIC_VECTOR(1 DOWNTO 0);
IN_SR, IN_SL : IN STD_LOGIC;
CLK : IN STD_LOGIC;
I : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
A : BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0));
End gp_register;

Architecture Exm_Model Of gp_register Is
COMPONENT MUX4_1
Port(I0,I1,I2,I3 : IN STD_LOGIC;
S : IN STD_LOGIC_VECTOR(1 DOWNTO 0);
F : OUT STD_LOGIC);
End COMPONENT;
COMPONENT D_FF
Port(D, CLK : In std_logic;
Q : Out std_logic);
End COMPONENT;

SIGNAL Sig_m : STD_LOGIC_VECTOR(3 DOWNTO 0);
BEGIN
M3: MUX4_1 PORT MAP(A(3), IN_SR, A(2), I(3), SEL, Sig_m(3));
M2: MUX4_1 PORT MAP(A(2), A(3), A(1), I(2), SEL, Sig_m(2));
M1: MUX4_1 PORT MAP(A(1), A(2), A(0), I(1), SEL, Sig_m(1));
M0: MUX4_1 PORT MAP(A(0), A(1), IN_SL, I(0), SEL, Sig_m(0));
D3: D_FF PORT MAP(Sig_m(3), CLK, A(3));
D2: D_FF PORT MAP(Sig_m(2), CLK, A(2));
D1: D_FF PORT MAP(Sig_m(1), CLK, A(1));
D0: D_FF PORT MAP(Sig_m(0), CLK, A(0));
End Exm_Model;


--------- MUX 4X1 -------------------------------
LIBRARY ieee;
Use ieee.std_logic_1164.all;

Entity MUX4_1 Is
Port(I0,I1,I2,I3 : IN STD_LOGIC;
S : IN STD_LOGIC_VECTOR(1 DOWNTO 0);
F : OUT STD_LOGIC);
End MUX4_1;

Architecture Exm_Model Of MUX4_1 Is
BEGIN
WITH S SELECT
F <= I0 WHEN "00", -- NO CHANGE
I1 WHEN "01", -- SHIFT RIGHT
I2 WHEN "10", -- SHIFT LEFT
I3 WHEN OTHERS; -- PARALLEL REGISTER
END Exm_Model;


--------- D F/F -------------------------------
LIBRARY ieee;
Use ieee.std_logic_1164.all;

Entity D_FF Is
Port(D, CLK : In std_logic;
Q : Out std_logic);
End D_FF;

Architecture Exm_Model Of D_FF Is
Begin
Process(CLK,D)
Begin
If CLK"EVENT and CLK="1" Then
Q <= D;
End If;
End Process;
End Exm_Model;

만족도조사
만족도 조사 이 페이지에서 제공하는 정보에 대하여 만족하시나요?