what is Via Programmability

via programmability
applies to circuitry that is truly designed to be programmed, such as read-only
memories (ROMs) or specialized decoders that are configured independently
from the base design.

There are two aspects to implementing a layout design for via

1. An unconfigured layout design that can accommodate all possible placements of vias.
“Legal” sites should be designed into the leaf cells and assembled design.
Legal sites for via placement are defined as locations where the resulting
design would be design-rule correct under all conditions.
2. A methodology for placing or programming the vias onto the base layout design.
This is usually a macro that uses a polygon editor as the layout engine, or a
customized CAD package that can read and produce a layout database in a
standard format.
Via programmability using software is a common technique used in ROM
design today, and it has the following advantages:
• Software designers for “on the chip” can optimize their code until late in the
project schedule.
• If planned and implemented properly, the design is correct by construction
and should always be DRC and LVS error free.
• Once the via programming technology is developed, it can be reused for subsequent
evolutions in the underlying base layout. Only the “legal sites” of a
new architecture need to be specified.
• An effective base layout design and programming scheme can include
techniques to minimize the connectivity of devices by excluding vias in
the programmed design. Reductions in power consumption and increase in
speed result.