Version 18 (modified by 17 years ago) (diff) | ,
---|
A) Interconnects
A.1) Vgmn
- functionality : a generic VCI compliant micro-network
- Mandatory arguments:
instance name
- Optional arguments:
min_latency
(one-way)
- Example:
my_vgmn = Vgmn("my_vgmn", 10)
- Defined ports:
getBoth()
,getInit()
andgetTarget()
: local ports, allocated on demand
A.2) LocalCrossbar
- functionality : a VCI compliant crossbar interconnect
- Mandatory arguments:
instance name
- Example:
my_lc = LocalCrossbar("lc0")
- Defined ports:
getBoth()
,getInit()
andgetTarget()
: local ports, allocated on demandupstream
, bidirectional port to upper-level interconnect
B) VCI Initiators
B.1) Xcache
- functionality: a direct mapping cache controler (separated instruction & data cache)
- Mandatory arguments:
instance name
- Optional arguments:
dcache_lines
: number of lines in data cachedcache_words
: number of words per line in data cacheicache_lines
: number of lines in instruction cacheicache_words
: number of words per line in instruction cache
- Example:
my_cache = Xcache( "my_cache", dcache_lines = 32, dcache_words = 8, icache_lines = 32, icache_words = 8 )
- Defined ports:
cache
: to the CPUvci
: to the VCI micro-network
C) Processors
C.1) Mips
- Functionality : a MIPS R3000 micro-processor
- Mandatory arguments:
name
- Example:
my_proc = Mips("my_proc")
- Defined ports:
cache
: to the cache's cache portirq[n]
: interrupt line (0 <= n < 6)
D) VCI Targets
D.1) MultiRam
- !Mandatory arguments:
name
- Optional arguments:
- a list of segments, allocated with Segment()
- Example:
my_ram = MultiRam("my_ram", seg1, seg2, seg3)
- Defined ports:
vci
: to the micro-network
D.2) MultiTty
- functionality: a TTY controler (up to 256 TTYs)
- Mandatory arguments:
instance name
- an ordered list ot names (one name per emulated terminal)
- Example:
my_tty = MultiTty("my_tty_controler", "TTY0", "TTY1", "TT2")
- Defined ports:
vci
: to the micro-networkirq[n]
: interrupt line (0 <= n < nb of ttys)
D.3) Locks
- functionality : a locks controler
- Mandatory arguments:
instance name
- Example:
my_locks = Locks("my_locks_controler")
- Defined ports:
vci
: to the micro-network