Line 483... |
Line 483... |
--
|
--
|
process (r, linko, msto, s_rxfifo_rdata, s_txfifo_rdata, rstn, apbi, tick_in) is
|
process (r, linko, msto, s_rxfifo_rdata, s_txfifo_rdata, rstn, apbi, tick_in) is
|
variable v: regs_type;
|
variable v: regs_type;
|
variable v_tmprxroom: unsigned(rxfifosize-1 downto 0);
|
variable v_tmprxroom: unsigned(rxfifosize-1 downto 0);
|
variable v_prdata: std_logic_vector(31 downto 0);
|
variable v_prdata: std_logic_vector(31 downto 0);
|
|
variable v_irq: std_logic_vector(NAHBIRQ-1 downto 0);
|
variable v_txfifo_bytepos: integer range 0 to 3;
|
variable v_txfifo_bytepos: integer range 0 to 3;
|
begin
|
begin
|
v := r;
|
v := r;
|
v_tmprxroom := to_unsigned(0, rxfifosize);
|
v_tmprxroom := to_unsigned(0, rxfifosize);
|
v_prdata := (others => '0');
|
v_prdata := (others => '0');
|
|
v_irq := (others => '0');
|
|
v_irq(pirq) := r.irq;
|
|
|
-- Convert RX/TX byte index to integer.
|
-- Convert RX/TX byte index to integer.
|
v_txfifo_bytepos := to_integer(unsigned(r.txfifo_bytepos));
|
v_txfifo_bytepos := to_integer(unsigned(r.txfifo_bytepos));
|
|
|
-- Reset auto-clearing registers.
|
-- Reset auto-clearing registers.
|
Line 837... |
Line 840... |
-- Pass tick_out signal to output port.
|
-- Pass tick_out signal to output port.
|
tick_out <= linko.tick_out;
|
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 <= v_irq;
|
apbo.pirq(pirq) <= r.irq;
|
|
apbo.pconfig <= pconfig;
|
apbo.pconfig <= pconfig;
|
apbo.pindex <= pindex;
|
apbo.pindex <= pindex;
|
|
|
-- Reset components.
|
-- Reset components.
|
ahbmst_rstn <= rstn and (not r.ctl_reset) and (not r.ctl_resetdma);
|
ahbmst_rstn <= rstn and (not r.ctl_reset) and (not r.ctl_resetdma);
|