shift_regn.vhd
来自「数字逻辑基础与Verilog设计,针对verilog语言的特点」· VHDL 代码 · 共 52 行
VHD
52 行
LIBRARY IEEE;
USE IEEE.std_logic_1164.ALL;
ENTITY dff IS
PORT (d : IN std_logic;
clk : IN std_logic;
q : OUT std_logic);
END dff;
ARCHITECTURE rtl OF dff IS
BEGIN
PROCESS (clk)
BEGIN
IF (clk'event AND clk = '1') THEN
q <= d;
END IF;
END PROCESS;
END rtl;
LIBRARY IEEE;
USE IEEE.std_logic_1164.ALL;
--USE WORK.example.ALL;
ENTITY shift_regN IS
GENERIC (n : integer:=8);
PORT (d1 : IN std_logic;
cp : IN std_logic;
q : OUT std_logic_vector(n-1 DOWNTO 0));
END shift_regN;
ARCHITECTURE structure_arc OF shift_regN IS
COMPONENT dff
PORT (d : IN std_logic;
clk : IN std_logic;
q : OUT std_logic);
END COMPONENT;
SIGNAL q_temp : std_logic_vector(n DOWNTO 1);
BEGIN
G1:FOR i IN 0 TO n-1 GENERATE
P1:IF (i = 0) GENERATE
dffx: dff PORT MAP (d1,cp,q_temp(i+1));
END GENERATE P1;
P2:IF (i /= 0) GENERATE
dffx: dff PORT MAP (q_temp(i),cp,q_temp (i+1));
END GENERATE P2;
END GENERATE G1;
q <= q_temp(n DOWNTO 1);
END structure_arc;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?