Last change
on this file since 722 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.
|
-
Property svn:executable set to
*
|
File size:
1.5 KB
|
Line | |
---|
1 | ARGS ?= |
---|
2 | SOCLIB_CC := soclib-cc |
---|
3 | RM := rm -rf |
---|
4 | CP := cp -f |
---|
5 | MAKE := make |
---|
6 | CONFIG_DIR := $(PWD)/conf |
---|
7 | |
---|
8 | TARGET := simul.x |
---|
9 | |
---|
10 | all: $(TARGET) tags |
---|
11 | |
---|
12 | # create simulator |
---|
13 | |
---|
14 | SRCS := top.cpp |
---|
15 | SRCS += tsar_iob_cluster/caba/source/src/tsar_iob_cluster.cpp |
---|
16 | INCS := tsar_iob_cluster/caba/source/include/tsar_iob_cluster.h |
---|
17 | INCS += $(CONFIG_DIR)/hard_config.h |
---|
18 | INCS += top.desc |
---|
19 | INCS += soclib.conf |
---|
20 | |
---|
21 | $(TARGET): $(SRCS) $(INCS) soclib.conf |
---|
22 | $(SOCLIB_CC) -P -p top.desc -I. -o simul.x |
---|
23 | |
---|
24 | # create preloader |
---|
25 | |
---|
26 | PRELOADER_PATH := $(TSARPATH)/trunk/softs/tsar_boot |
---|
27 | PRELOADER_ARGS := "PLATFORM_DIR=$(CONFIG_DIR) USE_DT=0 SOCLIB=1" |
---|
28 | PRELOADER_NAME ?= soft/soft.elf |
---|
29 | |
---|
30 | $(PRELOADER_NAME): |
---|
31 | $(MAKE) -C $(PRELOADER_PATH) "$(PRELOADER_ARGS)" |
---|
32 | $(CP) $(PRELOADER_PATH)/preloader.elf $(PRELOADER_NAME) |
---|
33 | |
---|
34 | preloader: $(PRELOADER_NAME) |
---|
35 | |
---|
36 | # run simulator |
---|
37 | |
---|
38 | SOFT ?= $(PRELOADER_NAME) |
---|
39 | DISK ?= /dev/null |
---|
40 | |
---|
41 | SIMULATOR_ARGS = -SOFT $(SOFT) |
---|
42 | SIMULATOR_ARGS += -DISK $(DISK) |
---|
43 | SIMULATOR_ARGS += $(ARGS) |
---|
44 | |
---|
45 | run: $(TARGET) $(SOFT) |
---|
46 | ./$< $(SIMULATOR_ARGS) |
---|
47 | |
---|
48 | # create tags file with cscope |
---|
49 | tags: cscope.out |
---|
50 | |
---|
51 | cscope.out: |
---|
52 | $(SOCLIB_CC) -p top.desc --tags --tags-type=cscope --tags-output=$@ |
---|
53 | |
---|
54 | # clean targets |
---|
55 | |
---|
56 | clean: |
---|
57 | $(SOCLIB_CC) -X |
---|
58 | $(SOCLIB_CC) -x -p top.desc -I. |
---|
59 | $(RM) *.o *.x mtty_* |
---|
60 | |
---|
61 | clean-soft: |
---|
62 | $(RM) $(SOFT) |
---|
63 | |
---|
64 | clean-tags: |
---|
65 | $(RM) tags |
---|
66 | |
---|
67 | distclean: clean clean-soft clean-tags |
---|
68 | |
---|
69 | clean-preloader: clean-soft |
---|
70 | $(MAKE) -C $(PRELOADER_PATH) clean |
---|
71 | |
---|
72 | |
---|
73 | .PHONY: tags simul.x preloader clean clean-soft clean-preloader |
---|
74 | |
---|
Note: See
TracBrowser
for help on using the repository browser.