Changes between Version 19 and Version 20 of SoclibComponents


Ignore:
Timestamp:
Mar 10, 2009, 7:19:25 PM (15 years ago)
Author:
Nicolas Pouillon
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SoclibComponents

    v19 v20  
    11[[PageOutline]]
    22
    3 = A) Interconnects =
     3This page is a little excerpt of all available soclib components, please see documentation on [anrsoclib:wiki:Component SoCLib's main site] for a complete list.
    44
    5 == A.1) Vgmn ==
     5
     6= Interconnects =
     7
     8== Vgmn ==
    69
    710 * functionality : a generic VCI compliant micro-network
     
    1720   * `to_initiator.new()` and `to_target.new()`: local ports, allocated on demand
    1821
    19 == A.2) !LocalCrossbar ==
     22== !LocalCrossbar ==
    2023
    2124 * functionality : a VCI compliant crossbar interconnect
     
    2932   * `to_initiator.new()` and `to_target.new()`: local ports, allocated on demand
    3033
    31 = B) VCI Initiators =
     34= VCI Initiators =
    3235
    33 == B.1) Xcache ==
     36== Xcache ==
    3437
    35  * functionality: a direct mapping cache controler (separated instruction & data cache)
     38 * functionality: a n-associative cache controler (separated instruction & data cache) wrapping a given ISS, it can be considered as a CPU with an embedded cache.
    3639 * Arguments:
    3740   * `instance name`
    38    * `dcache_lines` : number of lines in data cache
     41   * `dcache_sets` : number of lines in data cache
    3942   * `dcache_words` : number of words per line in data cache
    40    * `icache_lines` : number of lines in instruction cache
     43   * `dcache_ways` : associativity of the data cache
     44   * `icache_sets` : number of lines in instruction cache
    4145   * `icache_words` : number of words per line in instruction cache
     46   * `icache_ways` : associativity of the instruction cache
     47   * `iss_t`: type of ISS to be wrapped in the cache, at least "common:mips32el", "common:mips32eb" and "common:ppc405" are supported
     48   * `ident`: cpu number
    4249 * Example:
    4350{{{
    44 my_cache = arch.create('caba:vci_vgmn', "my_cache",
    45                    dcache_lines = 32,
    46                    dcache_words = 8,
    47                    icache_lines = 32,
    48                    icache_words = 8 )
     51my_cpu0 = arch.create('caba:vci_xcache_wrapper',
     52                                                         'cpu0',
     53                                                         ident = 0,
     54                                                         icache_ways = 1,
     55                                                         icache_sets = 32,
     56                                                         icache_words = 8,
     57                                                         dcache_ways = 1,
     58                                                         dcache_sets = 32,
     59                                                         dcache_words = 8,
     60                                                         iss_t = "common:mips32el",
     61                                                         )
    4962}}}
    5063 * Defined ports:
    51    * `dcache`: to the CPU
    52    * `icache`: to the CPU
     64   * `irq[n]`: to the CPU interrupts
    5365   * `vci`: to the VCI micro-network
    5466
    55 = C) Processors =
     67= VCI Targets =
    5668
    57 == C.1) Mips ==
    58 
    59 This component is special as it is in fact a wrapped ISS.
    60 
    61  * Functionality : a MIPS R3000 micro-processor
    62  * Arguments:
    63     * `name`
    64     * `ident`: cpu id
    65  * Example:
    66 {{{
    67 my_proc = arch.create('caba:iss_wrapper', "my_proc", iss_t = 'common:mipsel', ident = 0 )
    68 }}}
    69  * Defined ports:
    70    * `dcache`: to the cache's dcache port
    71    * `icache`: to the cache's icache port
    72    * `irq[n]`: interrupt line (0 <= n < 6)
    73 
    74 = D) VCI Targets =
    75 
    76 == D.1) !MultiRam ==
     69== !MultiRam ==
    7770
    7871 * !Mandatory arguments:
     
    8780   * Arguments: name, base address, size, cacheability
    8881{{{
    89 my_ram.addSegment( 'boot', 0xbfc00000, 0x100, true )
     82my_ram.addSegment( 'boot', 0xbfc00000, 0x1000, true )
    9083}}}
    9184
    92 == D.2) !MultiTty ==
     85== !MultiTty ==
    9386
    9487 * functionality: a TTY controler
     
    9891 * Example:
    9992{{{
    100 my_tty = arch.create('caba:vci_multi_tty', "my_tty_controler", ["TTY0", "TTY1", "TT2"])
     93my_tty = arch.create('caba:vci_multi_tty', "my_tty_controler", names = ["TTY0", "TTY1", "TT2"])
    10194}}}
    10295 * Defined ports: