Random logic verilog gate netlist generator

Discussion in 'Cadence' started by Simon S. IBM, Feb 14, 2004.

  1. Simon S.  IBM

    Simon S. IBM Guest

    We have a need to create hundreds of non proprietary digital test structures,
    each which would fit a pre-determined pinouts for a pre-determined
    block size & a pre-determined block shape (e.g., rectilinear).

    Can you provide a pointer to a good random logic verilog gate netlist generator?

    I'd expect to feed it technology & macro LEF; the input & output
    pins; and either a gate count, or a block area (most likely a gate count).

    After running this random-logic verilog-gate generator, we would
    then place & route the results. The easy part is the place & route.
    The hard part is to come up with hundreds of non-proprietary
    sets of random (well mixed) gates to fill the blocks up with.

    Any pointers would be appreciated.
    Simon
     
    Simon S. IBM, Feb 14, 2004
    #1
  2. Simon S.  IBM

    Glenn Heraty Guest

    Such a tool does not exist. It will never exist.
    I tried to write one long ago but I failed.

    What you'll need to do is find some generic RTL
    and just place and route that generic RTL.

    I use ARM or Sparc code which is out there in
    the public domain.

    Just snatch a few tens of thousands of lines
    and place and route it. Send me an email and
    I'll send you the complete ARM core or Sparc.

    Glenn
     
    Glenn Heraty, Feb 16, 2004
    #2
  3. Simon S.  IBM

    Kelvin L. Guest

    Pardon me, but, you're absolutely wrong!
    I have seen a handful of these tools (often used for p&r tests).

    In fact, I have a perl program (gateGen.pl) and a C program
    (genGates.c) which I'll send to you (as soon as I dig them out
    of my src directory).

    They work wonders.

    I even seem to remember a skill program (generateVerilog.il ???)
    posted to comp.lang.verilog or comp.cad.cadence a few years back
    (someone refresh my failing memory).

    The perl program was provided to me by an application engineer
    at Cadence who used it to generate test fixtures. It could use
    some work, for example, it asks you the number of pins but then
    splits that number in half to make half input and half output
    pins of names it chooses. This necessitates manual editing of
    the resultant verilog gate netlist to get the pins correct, but,
    that's generally an easy task. It does generate as many gates as
    you tell it, in random arrangement, all hooked up properly.

    The C program works fine but I hate compiling (I never was that
    good at it), so I use the perl program almost exclusively with
    a bit of vi editing of the results. I use the Cadence verilogin
    feature to generate, place, and route a schematic so that the
    nearly instantaneous DFII schematic and layout results are Assura
    DRC/LVS correct. I often use the Cadence design kit at 180nm
    (I hear they have a new kit at 90 and another at 65nm) which
    contains plenty of standard cells, LEF, TLF, CDL, EDIF symbols,
    Pcells, DRC/LVS/RCX rules, etc. for my purposes.

    Let the group know how my two programs work for you.
    tenlayermatal
     
    Kelvin L., Feb 21, 2004
    #3
  4. Try HDLmaker

    http://www.polybus.com/hdlmaker/users_guide/

    HDLmaker has a C like language that will allow you to generate this sort
    of thing. Also HDLmaker can generate Xilinx floorplanning statements.

    BTW It looks like you are looking for Xilinx FPGA test patterns. I have an
    extensible set of Xilinx FPGA test patterns that I offer as a product.

    http://www.polybus.com/xilinx_test_patterns/
     
    B. Joshua Rosen, Feb 21, 2004
    #4
Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.