|
Last change
on this file since 720 was
717,
checked in by cfuguet, 11 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.