Changes between Version 6 and Version 7 of Soclib Cc/Design Guide


Ignore:
Timestamp:
Mar 25, 2010, 3:54:05 PM (14 years ago)
Author:
Nicolas Pouillon
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Soclib Cc/Design Guide

    v6 v7  
    22= SoCLib's compilation helper =
    33
     4== What do we want ? ==
     5
     6We want a tool which can build a complete virtual prototype (aka SystemC simulator) from:
     7 * a topcell provided by user
     8 * a list of parametrable components, and their parameters
     9
     10Therefore we need the following features:
     11 * Component indexation in the library tree
     12 * Parametrization of source files
     13 * Build of all these files
     14
     15We also want to be able to compile all these with different SystemC implementation
     16and different compilation modes (debug, release, profiling, …) without having
     17to change build files.
     18
     19As virtual prototypes
     20may be huge but users always use the same parameters, we would like the
     21following additional features:
     22 * Parallel compilation
     23 * Object caching (ccache could be an option)
     24
     25As we speak about C++, parametrization of source files uses templated code.
     26
    427== Why ? ==
    528
    6 We use a lot of tricky things like:
     29Reworded, we need:
    730
    831 * Different SystemC backends (SystemC-OSCI, SystemCASS, SoCView)
     
    3255== Why not reuse existing tools ? ==
    3356
    34 This could be seen as reimplementing make, or even SCons, and this is
    35 not totally false. But we added other features:
    36  * Template instantiation
    37  * Separate source enumeration
    38  * Object caching
    39 
    40 There is no build tool known out the which does object caching and
     57There is no build tool known out there which does object caching and
    4158template instantiation at the same time. Even if current build tools
    4259may be enhanced to do the job, this is not an easy task.
    4360Moreover, resulting code would be a kludge.
    4461This is all about flexibility, and user-input readability.
     62
     63This could be seen as reimplementing make, or even SCons, and this is
     64not totally wrong. But we added other features:
     65 * Template instantiation
     66 * Separate source enumeration
     67 * Object caching
    4568
    4669Soclib-cc has been implemented as a `make` wrapper before,