Survey - use-model for configs?

From: Clifford E. Cummings (cliffc@sunburst-design.com)
Date: Tue May 10 2005 - 09:19:28 PDT

  • Next message: Clifford E. Cummings: "Re: Special 1364 Meeting to resolve Issue 680 (Configs)"

    Subject: Survey - use-model for configs?
    (use-model survey question below)

    I am willing to scrap most of the config-file section to make configs more
    useable to the typical Verilog designer. I am willing to scrap or modify
    the following (they could all be added back in a later version of the
    standard if they are found to be useful and if they can be efficiently
    implemented by vendors):

    (1) Kill "..." directory wildcard (forces tools to potentially search
    inefficiently and compile too many files)
    (2) Modify wild cards to only find files with matching module names
    (like -y +libext)
    (3) Kill ":config" - this allowed configs to have the same name as
    modules. Kill it for now and add it back later if requested by users.
    (4) Kill "cell" - originally intended to allow users to read a library
    and then run a simulation such that every occurrence of and2.v in the
    design would be replaced with "myand2.v" or something like that.
    (5) And finally, change the keywords, if we must.
    (6) Is there more config-issues that cause tool-grief?? Kill-it!
    (7) Tools may want to support `ifdef and `define, but we should not add
    those to the spec this time.
    (8) Different call-options for lib.map (a) -L command line switch, (b)
    first file after the compile command (c) automatically read lib.map from
    the tool-invocation directory (all three could be legal)

    - Libraries that include libraries with file wildcards are extremely
    useful
    - Configs that call the top design, call default libraries and allow
    specific binding to a particular instance from a non-default library file
    is the important corner-case
    - Don't require that the user separately give file lists to the tools.

    In my mind, this covers 99% of the requirements of all users
    -------------------

    I know of two implementations of Verilog-2001 configs:

    Use-model #1 - library map-file is a separate file. Configs are part of the
    Verilog input stream. The user still must specify separately what files to
    compile.

    Use-model #2 - library and config are in the same file. Design files are
    separate. The user still must specify separately what files to compile.

    Which Verilog users are going to adopt these use models?

    Cliff's answer - only 1% (or less) of Verilog users will embrace either of
    these use-models. The 1% of designs that either use the non-standard
    `uselib or designs that need to call two different files for two different
    instances of the same module name.

    Configurations were suppose to be 100% useful to designers - current
    implementations fail to meet this goal.

    The library-map file: was supposed to indicate where the design files were
    located.

    The configuration file: in conjunction with the normal structure of modules
    and instances was supposed to indicate which files were needed to execute
    the design.

    If user has to still use command-line options to compile the files before
    coding two more files (library ad config), 99% of users will stick with the
    -v -y +libext switches and never touch configs.

    Implementation use models:

    Simple vendor #1 compiles all the library files every time the tool is
    called with a library map file (simple but not very efficient).

    Efficient vendor #2 uses the lib.map, config and design structure like a
    Makefile to do incremental compiles of files that need to be updated or
    that have not yet been compiled and does not compile unused models (more
    complex but very efficient).

    Comments? Please don't comment that we are out of time. Just comment on
    use-models as if we had time to do them over from scratch.

    Regards - Cliff

    ----------------------------------------------------
    Cliff Cummings - Sunburst Design, Inc.
    14314 SW Allen Blvd., PMB 501, Beaverton, OR 97005
    Phone: 503-641-8446 / FAX: 503-641-8486
    cliffc@sunburst-design.com / www.sunburst-design.com
    Expert Verilog, SystemVerilog, Synthesis and Verification Training



    This archive was generated by hypermail 2.1.4 : Tue May 10 2005 - 08:59:36 PDT and
    sponsored by Boyd Technology, Inc.