Line 163... |
Line 163... |
ahbo: out ahb_mst_out_type;
|
ahbo: out ahb_mst_out_type;
|
|
|
-- Pulse for TimeCode generation.
|
-- Pulse for TimeCode generation.
|
tick_in: in std_logic;
|
tick_in: in std_logic;
|
|
|
|
-- High for one clock cycle if a TimeCode was just received.
|
|
tick_out: out std_logic;
|
|
|
-- Data In signal from SpaceWire bus.
|
-- Data In signal from SpaceWire bus.
|
spw_di: in std_logic;
|
spw_di: in std_logic;
|
|
|
-- Strobe In signal from SpaceWire bus.
|
-- Strobe In signal from SpaceWire bus.
|
spw_si: in std_logic;
|
spw_si: in std_logic;
|
Line 555... |
Line 558... |
(v_txfifo_bytepos < 3 and
|
(v_txfifo_bytepos < 3 and
|
s_txfifo_rdata(34-v_txfifo_bytepos) = '1' and
|
s_txfifo_rdata(34-v_txfifo_bytepos) = '1' and
|
s_txfifo_rdata(23-8*v_txfifo_bytepos) = '1') then
|
s_txfifo_rdata(23-8*v_txfifo_bytepos) = '1') then
|
-- This is the last byte in the current word;
|
-- This is the last byte in the current word;
|
-- OR the current byte is an EOP/EEP marker;
|
-- OR the current byte is an EOP/EEP marker;
|
-- OR the next byte in the current work is a non-EOP end-of-frame marker.
|
-- OR the next byte in the current word is a non-EOP end-of-frame marker.
|
v.txfifo_bytepos := "00";
|
v.txfifo_bytepos := "00";
|
v.txfifo_raddr := std_logic_vector(unsigned(r.txfifo_raddr) + 1);
|
v.txfifo_raddr := std_logic_vector(unsigned(r.txfifo_raddr) + 1);
|
else
|
else
|
-- Move to next byte.
|
-- Move to next byte.
|
v.txfifo_bytepos := std_logic_vector(unsigned(r.txfifo_bytepos) + 1);
|
v.txfifo_bytepos := std_logic_vector(unsigned(r.txfifo_bytepos) + 1);
|
Line 829... |
Line 832... |
msti.rxfifo_empty <= r.rxfifo_empty;
|
msti.rxfifo_empty <= r.rxfifo_empty;
|
msti.rxfifo_nxempty <= v.rxfifo_empty; -- new value of rxfifo_empty
|
msti.rxfifo_nxempty <= v.rxfifo_empty; -- new value of rxfifo_empty
|
msti.txfifo_nxfull <= r.txfifo_nxfull;
|
msti.txfifo_nxfull <= r.txfifo_nxfull;
|
msti.txfifo_highw <= r.txfifo_highw;
|
msti.txfifo_highw <= r.txfifo_highw;
|
|
|
|
-- Pass tick_out signal to output port.
|
|
tick_out <= linko.tick_out;
|
|
|
-- Drive APB output signals.
|
-- Drive APB output signals.
|
apbo.prdata <= v_prdata;
|
apbo.prdata <= v_prdata;
|
apbo.pirq <= (others => '0');
|
apbo.pirq <= (others => '0');
|
apbo.pirq(pirq) <= r.irq;
|
apbo.pirq(pirq) <= r.irq;
|
apbo.pconfig <= pconfig;
|
apbo.pconfig <= pconfig;
|