Why and When Use New Formats? Why and When Use New Formats?
Several people have asked how it is decided which existing formats are chosen as 'standards' for the bookshelf, and when to define new ones. Primarily, the people involved in defining the slot are making these decisions. We are encouraging a uniform `look-and-feel' and a period of public discussions in the bookshelf-devel list before adopting a (new or existing) format as a standard for a particular slot. As a sample of the process, the following were examined when deciding on the placement format: a) timberwolf b) edif c) LEF/DEF d) .netD for netlist specification e) a new format. a) timberwolf is a variable die format, and does not specify enough layout information for fixed-die placement. b) edif provides a more complete and user-friendly specification -- in particular, it allows partial specification. However, it's monolithic nature (everything in one file) does not allow for _incremental_ specification (take a partitioning benchmark and add, in a separate file, layout information to create a placement benchmark). Additionally, the 1 file format does not allow for re-use with other slots. c) LEF/DEF contains everything one could possibly want to specify... it is overly detailed for most uses and difficult to parse in practice. Additionally, all the drawbacks of edif also apply. d) .netD as a netlist specification -- aspects of the format are counter-intuative and error prone. Additionally, it does not support cell names, pin addressing, etc. e) a new format was decided upon. It draws upon (hopefully the best of) all of the above, adds incremental specification, and is especially designed for reuse in other slots. For instance, the formats for partitioning are as simple as .netD -- together with layout specification (a separate file) make the placement format. The formats are still being refined, and comments are welcome. -andy, igor and andrew