OpenCores
URL https://opencores.org/ocsvn/rio/rio/trunk

Subversion Repositories rio

[/] [rio/] [branches/] [2.0.0-development/] [rtl/] [vhdl/] [RioSwitch.vhd] - Diff between revs 48 and 51

Show entire file | Details | Blame | View Log

Rev 48 Rev 51
Line 85... Line 85...
    writeContent_o : out Array1(SWITCH_PORTS-1 downto 0);
    writeContent_o : out Array1(SWITCH_PORTS-1 downto 0);
    writeContentData_o : out Array32(SWITCH_PORTS-1 downto 0);
    writeContentData_o : out Array32(SWITCH_PORTS-1 downto 0);
 
 
    readFrameEmpty_i : in Array1(SWITCH_PORTS-1 downto 0);
    readFrameEmpty_i : in Array1(SWITCH_PORTS-1 downto 0);
    readFrame_o : out Array1(SWITCH_PORTS-1 downto 0);
    readFrame_o : out Array1(SWITCH_PORTS-1 downto 0);
    readFrameRestart_o : out Array1(SWITCH_PORTS-1 downto 0);
 
    readFrameAborted_i : in Array1(SWITCH_PORTS-1 downto 0);
 
    readContentEmpty_i : in Array1(SWITCH_PORTS-1 downto 0);
 
    readContent_o : out Array1(SWITCH_PORTS-1 downto 0);
    readContent_o : out Array1(SWITCH_PORTS-1 downto 0);
    readContentEnd_i : in Array1(SWITCH_PORTS-1 downto 0);
    readContentEnd_i : in Array1(SWITCH_PORTS-1 downto 0);
    readContentData_i : in Array32(SWITCH_PORTS-1 downto 0);
    readContentData_i : in Array32(SWITCH_PORTS-1 downto 0);
 
 
    portLinkTimeout_o : out std_logic_vector(23 downto 0);
    portLinkTimeout_o : out std_logic_vector(23 downto 0);
Line 255... Line 252...
      lookupData_i : in std_logic_vector(7 downto 0);
      lookupData_i : in std_logic_vector(7 downto 0);
      lookupAck_i : in std_logic;
      lookupAck_i : in std_logic;
 
 
      readFrameEmpty_i : in std_logic;
      readFrameEmpty_i : in std_logic;
      readFrame_o : out std_logic;
      readFrame_o : out std_logic;
      readFrameRestart_o : out std_logic;
 
      readFrameAborted_i : in std_logic;
 
      readContentEmpty_i : in std_logic;
 
      readContent_o : out std_logic;
      readContent_o : out std_logic;
      readContentEnd_i : in std_logic;
      readContentEnd_i : in std_logic;
      readContentData_i : in std_logic_vector(31 downto 0);
      readContentData_i : in std_logic_vector(31 downto 0);
      writeFramePort_o : out std_logic_vector(9 downto 0);
      writeFramePort_o : out std_logic_vector(9 downto 0);
      writeFrameFull_i : in std_logic;
      writeFrameFull_i : in std_logic;
Line 333... Line 327...
      generic map(
      generic map(
        MAINTENANCE_LOOKUP=>false,
        MAINTENANCE_LOOKUP=>false,
        PORT_INDEX=>portIndex)
        PORT_INDEX=>portIndex)
      port map(
      port map(
        clk=>clk, areset_n=>areset_n,
        clk=>clk, areset_n=>areset_n,
        masterCyc_o=>masterCyc(portIndex), masterStb_o=>masterStb(portIndex),
        masterCyc_o=>masterCyc(portIndex),
        masterWe_o=>masterWe(portIndex), masterAddr_o=>masterAddr(portIndex),
        masterStb_o=>masterStb(portIndex),
 
        masterWe_o=>masterWe(portIndex),
 
        masterAddr_o=>masterAddr(portIndex),
        masterData_o=>masterDataWrite(portIndex),
        masterData_o=>masterDataWrite(portIndex),
        masterData_i=>masterDataRead(portIndex), masterAck_i=>masterAck(portIndex),
        masterData_i=>masterDataRead(portIndex),
        slaveCyc_i=>slaveCyc(portIndex), slaveStb_i=>slaveStb(portIndex),
        masterAck_i=>masterAck(portIndex),
        slaveWe_i=>slaveWe(portIndex), slaveAddr_i=>slaveAddr(portIndex),
        slaveCyc_i=>slaveCyc(portIndex),
 
        slaveStb_i=>slaveStb(portIndex),
 
        slaveWe_i=>slaveWe(portIndex),
 
        slaveAddr_i=>slaveAddr(portIndex),
        slaveData_i=>slaveDataWrite(portIndex),
        slaveData_i=>slaveDataWrite(portIndex),
        slaveData_o=>slaveDataRead(portIndex), slaveAck_o=>slaveAck(portIndex),
        slaveData_o=>slaveDataRead(portIndex),
 
        slaveAck_o=>slaveAck(portIndex),
        lookupStb_o=>masterLookupStb(portIndex),
        lookupStb_o=>masterLookupStb(portIndex),
        lookupAddr_o=>masterLookupAddr(portIndex),
        lookupAddr_o=>masterLookupAddr(portIndex),
        lookupData_i=>masterLookupData(portIndex), lookupAck_i=>masterLookupAck(portIndex),
        lookupData_i=>masterLookupData(portIndex),
        readFrameEmpty_i=>readFrameEmpty_i(portIndex), readFrame_o=>readFrame_o(portIndex),
        lookupAck_i=>masterLookupAck(portIndex),
        readFrameRestart_o=>readFrameRestart_o(portIndex),
        readFrameEmpty_i=>readFrameEmpty_i(portIndex),
        readFrameAborted_i=>readFrameAborted_i(portIndex),
        readFrame_o=>readFrame_o(portIndex),
        readContentEmpty_i=>readContentEmpty_i(portIndex), readContent_o=>readContent_o(portIndex),
        readContent_o=>readContent_o(portIndex),
        readContentEnd_i=>readContentEnd_i(portIndex), readContentData_i=>readContentData_i(portIndex),
        readContentEnd_i=>readContentEnd_i(portIndex),
 
        readContentData_i=>readContentData_i(portIndex),
        writeFramePort_o=>open,
        writeFramePort_o=>open,
        writeFrameFull_i=>writeFrameFull_i(portIndex), writeFrame_o=>writeFrame_o(portIndex),
        writeFrameFull_i=>writeFrameFull_i(portIndex),
        writeFrameAbort_o=>writeFrameAbort_o(portIndex), writeContent_o=>writeContent_o(portIndex),
        writeFrame_o=>writeFrame_o(portIndex),
 
        writeFrameAbort_o=>writeFrameAbort_o(portIndex),
 
        writeContent_o=>writeContent_o(portIndex),
        writeContentData_o=>writeContentData_o(portIndex));
        writeContentData_o=>writeContentData_o(portIndex));
  end generate;
  end generate;
 
 
  -----------------------------------------------------------------------------
  -----------------------------------------------------------------------------
  -- Maintenance port instantiation.
  -- Maintenance port instantiation.
Line 445... Line 448...
    lookupAck_i : in std_logic;
    lookupAck_i : in std_logic;
 
 
    -- Physical port frame buffer interface.
    -- Physical port frame buffer interface.
    readFrameEmpty_i : in std_logic;
    readFrameEmpty_i : in std_logic;
    readFrame_o : out std_logic;
    readFrame_o : out std_logic;
    readFrameRestart_o : out std_logic;
 
    readFrameAborted_i : in std_logic;
 
    readContentEmpty_i : in std_logic;
 
    readContent_o : out std_logic;
    readContent_o : out std_logic;
    readContentEnd_i : in std_logic;
    readContentEnd_i : in std_logic;
    readContentData_i : in std_logic_vector(31 downto 0);
    readContentData_i : in std_logic_vector(31 downto 0);
    writeFramePort_o : out std_logic_vector(7 downto 0);
    writeFramePort_o : out std_logic_vector(7 downto 0);
    writeFrameFull_i : in std_logic;
    writeFrameFull_i : in std_logic;
Line 500... Line 500...
      masterAddr_o <= (others => '0');
      masterAddr_o <= (others => '0');
      masterData_o <= (others => '0');
      masterData_o <= (others => '0');
 
 
      readContent_o <= '0';
      readContent_o <= '0';
      readFrame_o <= '0';
      readFrame_o <= '0';
      readFrameRestart_o <= '0';
 
    elsif (clk'event and clk = '1') then
    elsif (clk'event and clk = '1') then
      readContent_o <= '0';
      readContent_o <= '0';
      readFrame_o <= '0';
      readFrame_o <= '0';
      readFrameRestart_o <= '0';
 
 
 
      case masterState is
      case masterState is
 
 
        when STATE_IDLE =>
        when STATE_IDLE =>
          ---------------------------------------------------------------------
          ---------------------------------------------------------------------
Line 941... Line 939...
      lookupData_i : in std_logic_vector(7 downto 0);
      lookupData_i : in std_logic_vector(7 downto 0);
      lookupAck_i : in std_logic;
      lookupAck_i : in std_logic;
 
 
      readFrameEmpty_i : in std_logic;
      readFrameEmpty_i : in std_logic;
      readFrame_o : out std_logic;
      readFrame_o : out std_logic;
      readFrameRestart_o : out std_logic;
 
      readFrameAborted_i : in std_logic;
 
      readContentEmpty_i : in std_logic;
 
      readContent_o : out std_logic;
      readContent_o : out std_logic;
      readContentEnd_i : in std_logic;
      readContentEnd_i : in std_logic;
      readContentData_i : in std_logic_vector(31 downto 0);
      readContentData_i : in std_logic_vector(31 downto 0);
      writeFramePort_o : out std_logic_vector(7 downto 0);
      writeFramePort_o : out std_logic_vector(7 downto 0);
      writeFrameFull_i : in std_logic;
      writeFrameFull_i : in std_logic;
Line 1127... Line 1122...
      lookupAddr_o=>open,
      lookupAddr_o=>open,
      lookupData_i=>outboundFramePort0,
      lookupData_i=>outboundFramePort0,
      lookupAck_i=>'1',
      lookupAck_i=>'1',
      readFrameEmpty_i=>outboundReadFrameEmpty,
      readFrameEmpty_i=>outboundReadFrameEmpty,
      readFrame_o=>outboundReadFrame,
      readFrame_o=>outboundReadFrame,
      readFrameRestart_o=>open,
 
      readFrameAborted_i=>'0',
 
      readContentEmpty_i=>'0',
 
      readContent_o=>outboundReadContent,
      readContent_o=>outboundReadContent,
      readContentEnd_i=>outboundReadContentEnd,
      readContentEnd_i=>outboundReadContentEnd,
      readContentData_i=>outboundReadContentData,
      readContentData_i=>outboundReadContentData,
      writeFramePort_o=>inboundFramePort0,
      writeFramePort_o=>inboundFramePort0,
      writeFrameFull_i=>inboundWriteFrameFull,
      writeFrameFull_i=>inboundWriteFrameFull,
Line 2108... Line 2100...
 
 
  -----------------------------------------------------------------------------
  -----------------------------------------------------------------------------
  -- Interconnection matrix.
  -- Interconnection matrix.
  -----------------------------------------------------------------------------
  -----------------------------------------------------------------------------
  Interconnect: for i in 0 to WIDTH-1 generate
  Interconnect: for i in 0 to WIDTH-1 generate
    slaveCyc_o(i) <= masterCyc_i(selectedMaster) when (selectedSlave = i) else '0';
    slaveCyc_o(i) <= masterCyc_i(selectedMaster) when ((activeCycle = '1') and (selectedSlave = i)) else '0';
    slaveStb_o(i) <= masterStb_i(selectedMaster) when (selectedSlave = i) else '0';
    slaveStb_o(i) <= masterStb_i(selectedMaster) when ((activeCycle = '1') and (selectedSlave = i)) else '0';
    slaveWe_o(i) <= masterWe_i(selectedMaster);
    slaveWe_o(i) <= masterWe_i(selectedMaster);
    slaveAddr_o(i) <= masterAddr_i(selectedMaster);
    slaveAddr_o(i) <= masterAddr_i(selectedMaster);
    slaveData_o(i) <= masterData_i(selectedMaster);
    slaveData_o(i) <= masterData_i(selectedMaster);
    masterData_o(i) <= slaveData_i(selectedSlave);
    masterData_o(i) <= slaveData_i(selectedSlave);
    masterAck_o(i) <= slaveAck_i(selectedSlave) when (selectedMaster = i) else '0';
    masterAck_o(i) <= slaveAck_i(selectedSlave) when (selectedMaster = i) else '0';

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.