25use ieee.std_logic_1164.
all;
26use ieee.numeric_std.
all;
64 proc_regs:
process (
CLK)
66 if rising_edge(CLK) then
73 end process proc_regs;
78 variable idout : slv16 := (others=>'0');
79 variable ibreq : slbit := '0';
80 variable ibw0 : slbit := '0';
86 idout := (others=>'0');
103 if r.ibsel_mbrk = '1' then
104 idout(r.mbrk'range) := r.mbrk;
106 if r.ibsel_sysid = '1' then
107 idout := slv(to_unsigned(8#010123#,16));
110 if r.ibsel_mbrk='1' and ibw0='1' then
111 n.mbrk := IB_MREQ.din(n.mbrk'range);
117 IB_SRES.ack <= (r.ibsel_mbrk or r.ibsel_sysid) and ibreq;
120 end process proc_next;
regs_type := regs_init N_REGS
slv16 := slv( to_unsigned( 8#177764#, 16) ) ibaddr_sysid
regs_type := regs_init R_REGS
slv16 := slv( to_unsigned( 8#177770#, 16) ) ibaddr_mbrk
regs_type :=( '0', '0', mbrk=>( others => '0')) regs_init
std_logic_vector( 15 downto 0) slv16
std_logic_vector( 7 downto 0) slv8