Ignore:
Timestamp:
Oct 1, 2014, 11:30:42 AM (10 years ago)
Author:
cfuguet
Message:

tsar_generic_leti: introduce emulator mode

  • IO cluster is not instantiated when USE_PIC == 0
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/platforms/tsar_generic_leti/arch.py

    r825 r826  
    193193    tty = mapping.addPeriph( 'TTY', base = tty_base, size = tty_size, ptype = 'TTY', channels = nb_ttys )
    194194
    195     nic = mapping.addPeriph( 'NIC', base = nic_base, size = nic_size, ptype = 'NIC', channels = nb_nics )
    196 
    197     cma = mapping.addPeriph( 'CMA', base = cma_base, size = cma_size, ptype = 'CMA', channels = 2*nb_nics )
    198 
    199     fbf = mapping.addPeriph( 'FBF', base = fbf_base, size = fbf_size, ptype = 'FBF', arg = fbf_width )
    200 
    201     pic = mapping.addPeriph( 'PIC', base = pic_base, size = pic_size, ptype = 'PIC', channels = 32 )
    202 
    203     mapping.addIrq( pic, index = 0 , isrtype = 'ISR_NIC_RX', channel = 0 )
    204     mapping.addIrq( pic, index = 1 , isrtype = 'ISR_NIC_RX', channel = 1 )
    205     mapping.addIrq( pic, index = 2 , isrtype = 'ISR_NIC_TX', channel = 0 )
    206     mapping.addIrq( pic, index = 3 , isrtype = 'ISR_NIC_TX', channel = 1 )
    207     mapping.addIrq( pic, index = 4 , isrtype = 'ISR_CMA'   , channel = 0 )
    208     mapping.addIrq( pic, index = 5 , isrtype = 'ISR_CMA'   , channel = 1 )
    209     mapping.addIrq( pic, index = 6 , isrtype = 'ISR_CMA'   , channel = 2 )
    210     mapping.addIrq( pic, index = 7 , isrtype = 'ISR_CMA'   , channel = 3 )
    211     mapping.addIrq( pic, index = 8 , isrtype = 'ISR_BDV'   , channel = 0 )
    212     mapping.addIrq( pic, index = 16, isrtype = 'ISR_TTY_RX', channel = 0 )
     195    if x_io != 0 or y_io != 0:
     196        nic = mapping.addPeriph( 'NIC', base = nic_base, size = nic_size, ptype = 'NIC', channels = nb_nics )
     197        cma = mapping.addPeriph( 'CMA', base = cma_base, size = cma_size, ptype = 'CMA', channels = 2*nb_nics )
     198        fbf = mapping.addPeriph( 'FBF', base = fbf_base, size = fbf_size, ptype = 'FBF', arg = fbf_width )
     199        pic = mapping.addPeriph( 'PIC', base = pic_base, size = pic_size, ptype = 'PIC', channels = 32 )
     200
     201        mapping.addIrq( pic, index = 0 , isrtype = 'ISR_NIC_RX', channel = 0 )
     202        mapping.addIrq( pic, index = 1 , isrtype = 'ISR_NIC_RX', channel = 1 )
     203        mapping.addIrq( pic, index = 2 , isrtype = 'ISR_NIC_TX', channel = 0 )
     204        mapping.addIrq( pic, index = 3 , isrtype = 'ISR_NIC_TX', channel = 1 )
     205        mapping.addIrq( pic, index = 4 , isrtype = 'ISR_CMA'   , channel = 0 )
     206        mapping.addIrq( pic, index = 5 , isrtype = 'ISR_CMA'   , channel = 1 )
     207        mapping.addIrq( pic, index = 6 , isrtype = 'ISR_CMA'   , channel = 2 )
     208        mapping.addIrq( pic, index = 7 , isrtype = 'ISR_CMA'   , channel = 3 )
     209        mapping.addIrq( pic, index = 8 , isrtype = 'ISR_BDV'   , channel = 0 )
     210        mapping.addIrq( pic, index = 16, isrtype = 'ISR_TTY_RX', channel = 0 )
     211
     212        mapping.addGlobal( 'seg_nic', nic_base, nic_size, '__W_',
     213                           vtype = 'PERI', x = 0, y = 0, pseg = 'NIC',
     214                           local = False, big = True )
     215
     216        mapping.addGlobal( 'seg_cma', cma_base, cma_size, '__W_',
     217                           vtype = 'PERI', x = 0, y = 0, pseg = 'CMA',
     218                           local = False, big = True )
     219
     220        mapping.addGlobal( 'seg_fbf', fbf_base, fbf_size, '__W_',
     221                           vtype = 'PERI', x = 0, y = 0, pseg = 'FBF',
     222                           local = False, big = True )
     223
     224        mapping.addGlobal( 'seg_pic', pic_base, pic_size, '__W_',
     225                           vtype = 'PERI', x = 0, y = 0, pseg = 'PIC',
     226                           local = False, big = True )
    213227
    214228    ### hardware components replicated in all clusters
     
    326340                       local = False, big = True )
    327341
    328     mapping.addGlobal( 'seg_nic', nic_base, nic_size, '__W_',
    329                        vtype = 'PERI', x = 0, y = 0, pseg = 'NIC',
    330                        local = False, big = True )
    331 
    332     mapping.addGlobal( 'seg_cma', cma_base, cma_size, '__W_',
    333                        vtype = 'PERI', x = 0, y = 0, pseg = 'CMA',
    334                        local = False, big = True )
    335 
    336     mapping.addGlobal( 'seg_fbf', fbf_base, fbf_size, '__W_',
    337                        vtype = 'PERI', x = 0, y = 0, pseg = 'FBF',
    338                        local = False, big = True )
    339 
    340     mapping.addGlobal( 'seg_pic', pic_base, pic_size, '__W_',
    341                        vtype = 'PERI', x = 0, y = 0, pseg = 'PIC',
    342                        local = False, big = True )
    343 
    344342    ### global vsegs for internal peripherals : non local / small pages
    345343    ### allocated in all clusters with name indexed by (x,y)
Note: See TracChangeset for help on using the changeset viewer.