Ignore:
Timestamp:
Jun 23, 2014, 4:02:53 PM (10 years ago)
Author:
cfuguet
Message:

fault_tolerance/tsar_generic_iob:

  • introducing the vci_iopic component on the IOX interconnect.


  • the input hardware interrupts on cluster(0,0) from the external peripherals have been removed because they are connected to the vci_iopic component.


  • Replacing "ad-hoc" dspin_tsar router by standard dspin_router on the RAM interconnect. To do so, in IO clusters (clusters with IOB) two crossbars are implemented:

+ One for commands which interconnects MEMC and IOB to the

local interface of RAM CMD dspin_router.

+ One for responses which interconnects local interface of RAM

RSP dspin_router to MEMC and IOB.

  • Considering case of mono cluster platform: Only one IOB must be instantiated.
  • Modifying IOX memory segments used by IOX network for routing:


+ bugfix: all segments of IOX interconnect must have

global id = 0.

+ Adding XICU segments with special attribute. This

attribute is used by IOB to determine if a command coming
from external DMA peripheral should be routed
through INT or RAM networks.

+ Using bit 32 of physical address to determine if an

external DMA command should be routed through IOB0
or IOB1.


File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/fault_tolerance/platform/tsar_generic_iob/top.desc

    r699 r717  
    22# -*- python -*-
    33
    4 # VCI parameters 
     4# VCI parameters
    55vci_cell_size_int   = 4
    66vci_cell_size_ext   = 8
     
    1616vci_wrplen_size     = 1
    1717
    18 # internal DSPIN network parameters 
     18# internal DSPIN network parameters
    1919int_dspin_cmd_flit_size = 39
    2020int_dspin_rsp_flit_size = 32
     
    2727    uses = [
    2828            # cluster
    29             Uses('caba:tsar_iob_cluster', 
     29            Uses('caba:tsar_iob_cluster',
    3030                  vci_data_width_int  = vci_cell_size_int,
    31                   vci_data_width_ext  = vci_cell_size_ext, 
     31                  vci_data_width_ext  = vci_cell_size_ext,
    3232                  dspin_int_cmd_width = int_dspin_cmd_flit_size,
    3333                  dspin_int_rsp_width = int_dspin_rsp_flit_size,
    3434                  dspin_ram_cmd_width = ram_dspin_cmd_flit_size,
    3535                  dspin_ram_rsp_width = ram_dspin_rsp_flit_size),
    36                  
     36
    3737            # IOX Network
    38             Uses('caba:vci_iox_network', 
     38            Uses('caba:vci_iox_network',
    3939                  cell_size = vci_cell_size_ext),
    4040
    4141            # Frame Buffer
    42             Uses('caba:vci_framebuffer', 
     42            Uses('caba:vci_framebuffer',
    4343                  cell_size = vci_cell_size_ext),
    4444
    4545            # Block Device
    46             Uses('caba:vci_block_device_tsar', 
     46            Uses('caba:vci_block_device_tsar',
    4747                  cell_size = vci_cell_size_ext),
    4848
    49             # NIC 
    50             Uses('caba:vci_multi_nic', 
     49            # NIC
     50            Uses('caba:vci_multi_nic',
    5151                  cell_size = vci_cell_size_ext),
    5252
    5353            # Chained DMA
    54             Uses('caba:vci_chbuf_dma', 
     54            Uses('caba:vci_chbuf_dma',
    5555                  cell_size = vci_cell_size_ext),
    5656
    5757            # TTY
    58             Uses('caba:vci_multi_tty',
     58            Uses('caba:vci_multi_tty',
     59                  cell_size = vci_cell_size_ext),
     60
     61            # PIC
     62            Uses('caba:vci_iopic',
    5963                  cell_size = vci_cell_size_ext),
    6064
     
    6468
    6569    # default VCI parameters (global variables)
    66     cell_size   = vci_cell_size_int, 
     70    cell_size   = vci_cell_size_int,
    6771    plen_size   = vci_plen_size,
    6872    addr_size   = vci_addr_size,
Note: See TracChangeset for help on using the changeset viewer.