Random logic verilog gate netlist generator

S

Simon S. IBM

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
 
G

Glenn Heraty

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

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
 
K

Kelvin L.

Such a tool does not exist.

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
 
B

B. Joshua Rosen

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

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/
 

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. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,766
Messages
2,569,569
Members
45,042
Latest member
icassiem

Latest Threads

Top