source: branches/fault_tolerance/platform/tsar_generic_iob/top.desc @ 717

Last change on this file since 717 was 717, checked in by cfuguet, 10 years ago

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 size: 2.3 KB
Line 
1
2# -*- python -*-
3
4# VCI parameters
5vci_cell_size_int   = 4
6vci_cell_size_ext   = 8
7
8vci_plen_size       = 8
9vci_addr_size       = 40
10vci_rerror_size     = 1
11vci_clen_size       = 1
12vci_rflag_size      = 1
13vci_srcid_size      = 14
14vci_pktid_size      = 4
15vci_trdid_size      = 4
16vci_wrplen_size     = 1
17
18# internal DSPIN network parameters
19int_dspin_cmd_flit_size = 39
20int_dspin_rsp_flit_size = 32
21
22# external DSPIN network parameters
23ram_dspin_cmd_flit_size = 64
24ram_dspin_rsp_flit_size = 64
25
26todo = Platform('caba', 'top.cpp',
27    uses = [
28            # cluster
29            Uses('caba:tsar_iob_cluster',
30                  vci_data_width_int  = vci_cell_size_int,
31                  vci_data_width_ext  = vci_cell_size_ext,
32                  dspin_int_cmd_width = int_dspin_cmd_flit_size,
33                  dspin_int_rsp_width = int_dspin_rsp_flit_size,
34                  dspin_ram_cmd_width = ram_dspin_cmd_flit_size,
35                  dspin_ram_rsp_width = ram_dspin_rsp_flit_size),
36
37            # IOX Network
38            Uses('caba:vci_iox_network',
39                  cell_size = vci_cell_size_ext),
40
41            # Frame Buffer
42            Uses('caba:vci_framebuffer',
43                  cell_size = vci_cell_size_ext),
44
45            # Block Device
46            Uses('caba:vci_block_device_tsar',
47                  cell_size = vci_cell_size_ext),
48
49            # NIC
50            Uses('caba:vci_multi_nic',
51                  cell_size = vci_cell_size_ext),
52
53            # Chained DMA
54            Uses('caba:vci_chbuf_dma',
55                  cell_size = vci_cell_size_ext),
56
57            # TTY
58            Uses('caba:vci_multi_tty',
59                  cell_size = vci_cell_size_ext),
60
61            # PIC
62            Uses('caba:vci_iopic',
63                  cell_size = vci_cell_size_ext),
64
65            Uses('common:elf_file_loader'),
66            Uses('common:plain_file_loader'),
67           ],
68
69    # default VCI parameters (global variables)
70    cell_size   = vci_cell_size_int,
71    plen_size   = vci_plen_size,
72    addr_size   = vci_addr_size,
73    rerror_size = vci_rerror_size,
74    clen_size   = vci_clen_size,
75    rflag_size  = vci_rflag_size,
76    srcid_size  = vci_srcid_size,
77    pktid_size  = vci_pktid_size,
78    trdid_size  = vci_trdid_size,
79    wrplen_size = vci_wrplen_size,
80
81)
Note: See TracBrowser for help on using the repository browser.