Are there any DVB examples? Particularly, how to get geometry values?

I'm itching to work on extract rules for the devices I've got. I could not find anything like examples of known-good extract decks (for any technology, though mine is an old-timey JI bipolar flow). Recognition of type, assignment of terminal connectivity and derivation of L, W, A, squares variously?

I'd be OK with a way to assert (or collect, from a text label of some sort) device type and geometry info rather than measure. In fact I'd be fine with putting the whole target netlist line as a text in the cell layout if I could pick it out and get the node substitution right.

I'd be OK with adding (say) L and W bars (i.e. a rectangle of 1u x electrical length on a "L" layer, similarly for W) to devices as I've seen this work before, neater than figuring out which polygon and from where to where (see "zero software skills"). Just need the focused-device "area of L layer" (scaled by /1u) and there's the region L value. Don't need to know nuthin' in-the-moment about what feature(s) and what direction.

The foundry Tanner stuff I've got, seems like it doesn't even try to do parameter match verification (because thin film resistor extract does not do any geometry "stuff" at all, neither do any of the transistor "recognizers").

Since DVB is all new work I figure this may not come around for a while, but if anyone could share a "works well enough" connectivity extract deck (one that will get -some- layout to a SPICE netlist) that would be great to learn from. I've got the tutorial / docs stuff from the DVB blog to read, but a "done" example would help me past the "doping out regular expressions and Ruby syntax" (or whatever) cut-and-try....

Comments

  • Hmm ...

    Yes, you're right - basically the whole thing is pretty new and still under development. Originally it was built for CMOS, but the engine should be flexible enough. I'm saying "should" because I'm pretty aware that the world of devices is far more complex that CMOS.

    Anyway, device recognition isn't a trivial thing and by design it's implemented on geometry, not on texts - although texts can be used as selectors. That however won't help you.

    Have you taken a look at this introduction: https://www.klayout.org/downloads/master/doc-qt4/manual/lvs.html ?

    If you're happy with the device models included, this should get you somewhat further. The doc contains a working example.

    If you don't want to do LVS, but just netlist generation, you can skip "compare" and "report_lvs" and just use "target_netlist" to write one (see https://www.klayout.org/downloads/master/doc-qt4/manual/lvs_io.html).

    Matthias

Sign In or Register to comment.