wiki:SoclibCc/VciParameters

Standard usage

When using a VCI-compliant component, you must define explicitely VCI parameters:

    Uses('vci_multi_ram',
	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 )

When repeated for all components, this can be redundant and error prone (not even speaking of readability):

todo = Platform(
    Uses('vci_multi_ram', 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 ),
    Uses('vci_vgmn', 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 ),
    Uses('vci_xcache', 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 ),
    Uses('vci_timer', 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 ),
    Uses('mips'),
)

So you may factor out common parameters putting them at the end:

todo = Platform('caba', 'top.cpp',
				uses = [
	Uses('iss_wrapper', iss_t = 'common:mipsel'),
	Uses('vci_framebuffer'),
	Uses('vci_dma'),
	Uses('vci_ram'),
	Uses('vci_multi_tty'),
	Uses('vci_timer'),
	Uses('vci_vgmn'),
	Uses('vci_xcache'),
	],
	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
)
Last modified 16 years ago Last modified on Feb 26, 2008, 9:58:54 AM