32use ieee.std_logic_1164.
all;
33use ieee.numeric_std.
all;
109 report "assert(AWIDTH>=4 and AWIDTH<=7): unsupported AWIDTH"
142 if rising_edge(CLK) then
153 end process proc_regs;
159 variable idout : slv16 := (others=>'0');
160 variable ibreq : slbit := '0';
161 variable iback : slbit := '0';
162 variable ibrd : slbit := '0';
163 variable ibw0 : slbit := '0';
164 variable ibw1 : slbit := '0';
165 variable ilam : slbit := '0';
166 variable ipbufce : slbit := '0';
167 variable ipbufwe : slbit := '0';
168 variable irlimsta : slbit := '0';
174 idout := (others=>'0');
176 iback := r.ibsel and ibreq;
193 if r.ibsel = '1' then
194 case IB_MREQ.addr(1 downto 1) is
205 if r.done='1' and r.ie='0' then
271 if r.err='0' and r.ie='1' then
297 end process proc_next;
out DO slv( DWIDTH- 1 downto 0)
in DI slv( DWIDTH- 1 downto 0)
out SIZE slv( AWIDTH- 1 downto 0)
integer range 6 downto 0 buf_ibf_data
integer := 15 csr_ibf_err
regs_type := regs_init N_REGS
integer := 7 csr_ibf_done
slv16 := slv( to_unsigned( 8#177514#, 16) ) ibaddr_lp11
regs_type :=( '0', '1', "000", '1', '0', '0') regs_init
slv7 :=( others => '0') PBUF_DO
regs_type := regs_init R_REGS
integer range AWIDTH- 1+ 8 downto 8 buf_ibf_fuse
integer range 10 downto 8 csr_ibf_type
integer := 15 buf_ibf_val
integer range 14 downto 12 csr_ibf_rlim
slv( AWIDTH- 1 downto 0) :=( others => '0') PBUF_FUSE
std_logic_vector( 6 downto 0) slv7
std_logic_vector( 2 downto 0) slv3
std_logic_vector( 0 downto 0) slv1
std_logic_vector( 15 downto 0) slv16
std_logic_vector( 7 downto 0) slv8