[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: gEDA: icarus and force



On Mon, Feb 16, 2004 at 10:26:41AM -0800, Stephen Williams wrote:
> 
> Normally, the input/output directions of ports and drivers is
> so checked at compile time that it is completely irrelevent that
> afterwords it is just connected as a net. But the side effect of
> this when force is involved is that the forced value is visible
> on the wrong side of the input or output port.
> 
> Assuming the compiler did it's job, this should be harmless,
> albeit confusing when looking at nets via vpi or gtkwave. The

I'm not sure I agree here that its just the viewer that gets upset.

I am playing with fault grading - inserting stuck-at faults into a gate
level netlist and seeing if a given set of vectors produced observable 
differences. This is compute intensive on randomly selected faults.

I tried using a force statement to insert the fault. Sometimes it was
ignored, sometimes it had excessive effects.

From what I understand a classic 'stuck-at' fault on a a gate output should
drive the net. 
On an input - you assume that the fault disconnects the pin  / the rest of
the net is unaffected.  This was what was causing me difficulties.

I now script edit the gate netlist to do what is approprite with the 
chosen pin.

Performing accelerated parallel scan simulations by jamming a scan vector
broadside into a scan chain is common too. Related problems.

And I'm still unsure what the LRM actually means in this case. If a module
input is a wire, then a force shouls propagate backwards.

regards, John