22use ieee.std_logic_1164.
all;
23use ieee.numeric_std.
all;
66 assert CEDIV<=2**CWIDTH report "assert(CEDIV<=2**CWIDTH)" severity failure;
68 proc_regs:
process (
CLK)
71 if rising_edge(CLK) then
82 end process proc_regs;
94 for i in DI'range loop
95 if DI(i) /= r.dref(i) then
101 if unsigned(r.cecnt) = 0 then
105 for i in DI'range loop
106 if r.dchange(i) = '0' then
107 n.dout(i) := r.dref(i);
112 n.cecnt := slv(unsigned(r.cecnt) - 1);
120 end process proc_next;
regs_type :=( cntzero, datazero, datazero, datazero) regs_init
regs_type := regs_init N_REGS
slv( dWIDTH- 1 downto 0) :=( others => '0') datazero
slv( CWIDTH- 1 downto 0) :=( others => '0') cntzero
regs_type := regs_init R_REGS
out DO slv( DWIDTH- 1 downto 0)
in DI slv( DWIDTH- 1 downto 0)