| Version 5 (modified by , 18 years ago) (diff) |
|---|
import soclib
def VgmnNoirqMono():
pf = soclib.Architecture(cell_size = 4,
plen_size = 1,
addr_size = 32,
rerror_size = 1,
clen_size = 1,
rflag_size = 1,
srcid_size = 8,
pktid_size = 1,
trdid_size = 1,
wrplen_size = 1
)
pf.create('common:mapping_table',
'mapping_table',
addr_bits = [8],
srcid_bits = [8],
cacheability_mask = 0xc00000)
pf.create('common:elf_loader', 'loader')
vgmn = pf.create('caba:vci_vgmn', 'vgmn0', *** remplir ***)
mips = pf.create('caba:iss_wrapper', 'mips0', iss_t='common:mipsel', *** remplir ***)
xcache = pf.create('caba:vci_xcache', 'xcache0',
icache_lines = 16,
icache_words = 8,
dcache_lines = 16,
dcache_words = 8)
mips.dcache // xcache.dcache
mips.icache // xcache.icache
vgmn.to_initiator.new() // xcache.vci
for i in range(2):
ram = pf.create('caba:vci_ram', 'ram%d'%i)
base = 0x10000000*i+0x10000000
ram.addSegment('cram%d'%i, base, 0x100000, True)
ram.addSegment('uram%d'%i, base + 0x200000, 0x100000, False)
ram.vci // vgmn.to_target.new()
ram.addSegment('boot', *** remplir ***) # Mips boot address, 0x100 octets, cacheable
ram.addSegment('excep', *** remplir ***) # Mips exception address, 0x100 octets, cacheable
tty = pf.create('caba:vci_multi_tty', 'tty0', names = ['tty0'])
tty.addSegment('tty0', 0x90000000, 0x20, False)
tty.vci // vgmn.to_target.new()
return pf
Attachments (1)
- vgmn_noirq_mono.png (3.3 KB) - added by 19 years ago.
Download all attachments as: .zip
