[Magic-dev] Dumb Newbie question (a.k.a. digital design flows)

R. Timothy Edwards tim at opencircuitdesign.com
Sat Oct 13 18:34:14 EDT 2007


Dear Simon,

> ... perhaps I missed the point of this conversation, but personally I 
> have found that once spice variants gave us heirarchy and the expression 
> controlled source, almost all behavioural descriptions became possible 
> including "digital" blocks.  To be able to partition a design into 
> smaller blocks then to be able to write progressively higher level 
> descriptions and compare them to "equivalent" spice netlists extracted 
> directly from a layout is extremely powerful and does not involve the 
> use of any other language.  The only two drawbacks I know of is the 
> ability of many spice variants to converge large MOS netlist with 
> "totem-pole" structures and the availability of a compact register 
> (flip-flop) or state-engine description, something the "behavioural" 
> equation overcomes in part if you know how to write it.

The main point of Verilog or any other HDL is to be able to, for example,
declare A and B as n-bit vectors, write "A + B" or "A * B", synthesize
it, and end up with a SPICE deck or other netlist format describing an
adder or multiplier, or counter, accumulator, barrel shifter, etc.

> Personally, as a circuit design and layout oriented person, I do not see 
> the need for Verilog or VHDL other than being able to "interface" with 
> the (digital) system designers and to convert their efforts in something 
> physical.

One recent project we implemented an LFSR (linear feedback shift register)
in Verilog, which is one of those things that is about as simple to express
in a schematic as it is to express in Verilog.  Another block, though,
implemented a fairly complicated coarse-frequency auto-ranging algorithm
for controlling a VCO.  This block had multiple adders, timers, counters,
and we kept changing the algorithm every few weeks (or sometimes days).
That one, I would not have wanted to do in schematic form, and especially
not as a raw netlist.

> Why add another language when we already have a perfectly good one? (spice)

Partly because SPICE is a netlist format, not a language.  Furthermore, it
dates back to the punch card/batch mode era, and hasn't been substantially
updated since then.  It has lasting power because a lot of people have
done a lot of work creating sophisticated device models, not because it's
a particularly good format, which it isn't.

					Regards,
					Tim

+--------------------------------+-------------------------------------+
| Dr. R. Timothy Edwards (Tim)   | email: tim at opencircuitdesign.com    |
| Open Circuit Design, Inc.	 | web:   http://opencircuitdesign.com |
| 22815 Timber Creek Lane        | phone: (301) 528-9364               |
| Clarksburg, MD 20871-4001      | cell:  (240) 401-0616               |
+--------------------------------+-------------------------------------+



More information about the magic-dev mailing list