( ESNUG 339 Item 5 ) --------------------------------------------- [1/13/00]
From: Tomoo Taguchi <tomoo@sdd.hp.com>
Subject: Seeking User Input On Verilog Pretty Printers & Obfuscation Tools
Hi, John,
I'm looking for two things:
1.) Pretty Printers. I'd like to have a pretty printer for Verilog (and
other things like TCL, dc shell, perl) which highlights keywords, etc.
In poking around I ran across a2ps, Enscript, and Trueprint. I've
tried out Enscript and it pretty well does everything I want, but I
was wondering if anyone out there has tried all three or another that
I haven't heard of and has an opinion on which is best (or are they all
pretty much the same)?
2.) Obfuscation Utilities. I want to send test cases to vendors, but I
want to obfuscate the code/netlist (change reference names like wire,
port, instance, module names) so that the design intent is not obvious,
but the design is still simulateable/synthesizable. Back in Feb 1997,
you mentioned a program called KRYPTON from a French company called
LEDA that does what I want. I poked around the web to see if I could
find them and couldn't. Also in an old ESNUG, someone mentioned that
Verilint does the same function. Those are the only two that I've
heard of, but I was wondering if there are others out there.
Although I haven't tried out KRYPTON, I see some limitations. The main one
is that back in '97, it only claimed to do VHDL. I need Verilog. I hope
that if LEDA and KRYPTON are still around that they offer Verilog as well.
Also, the renamed references seemed to be very confusing mixtures of 1, 0,
o, and i. Although this makes the code very unreadable, I'm looking more
for just renaming things a, b, c, d, etc. I'd like to be able able to
discuss the test case in a sane way over the phone with the vendor. Being
able to say look at register "a_reg" is a lot better than saying look at
register "I-0-1-o-1-1-i_reg".
I've tried out the obfuscation feature in Verilint, and although it does
some things I want, there doesn't seem to be much controllablity to the
feature. It obfuscates the library as cells as well as the source
code/netlist, which might be nice featured, but my vendor already has the
library that we are using, so obfuscation the library cells would be a pain
in my case. Also, I couldn't figure out any way to print out the cross
reference between the original reference and the obfuscated reference,
which I think would be a must of a software that does this function.
So, what I'm looking for is a utility that:
1. Obfuscates references (but with some controllability so
it doesn't mess with libraries).
2. Has some controllability to the way it renames things.
3. Can generate a cross reference table.
4. Can obfuscate RTL and netlist with the same cross reference
table. (So "reg a;" in RTL will be "reg a_reg" in the
netlist).
Anything like this out there?
- Tomoo Taguchi, ASIC Whipping Boy
Hewlett-Packard San Diego, CA
|
|