mpulver@clapton.austek.oz (Mark Pulver) (06/27/91)
My company is new in the world of VHDL, but intend to have it replace our in house language. Is there a standard for 'signal representation'? Our first exposure to VHDL is through Sysnopsys. They ofter us an MVL7 logic: The MVL7 type is defined as follows: `X' Strong X (strong unknown) `0' Strong 0 (strong low) `1' Strong 1 (strong high) `W' Weak X (weak unknown) `L' Weak 0 (weak low) `H' Weak 1 (weak high) `Z' Tristate X (high impedance) When an MVL7 signal has a certain value, and is driven with another value, the resultant value is determined by the following table: `X' `0' `1' `W' `L' `H' `Z' `X' `X' `X' `X' `X' `X' `X' `X' `0' `X' `0' `X' `0' `0' `0' `0' `1' `X' `X' `1' `1' `1' `1' `1' `W' `X' `0' `1' `W' `W' `W' `W' `L' `X' `0' `1' `W' `L' `W' `L' `H' `X' `0' `1' `W' `W' `H' `H' `Z' `X' `0' `1' `W' `L' `H' `Z' But this MVL7 does not allow for us to simulate node capacitance. You can fake it by using a weak signal, but then you can not tell the difference between a capacitive value, and a pull up/down (which could also have to be weak). Without thinking too deeply on the matter (ie. worrying about implementation issues), I beleive we need a MVL10: `X' Strong X (strong unknown) `0' Strong 0 (strong low) `1' Strong 1 (strong high) `W' Weak X (weak unknown) `L' Weak 0 (weak low) `H' Weak 1 (weak high) `A' Capacitive 0 `B' Capacitive 1 `C' Capacitive X `Z' Tristate X (high impedance) Where A,B,C can not be driven on a node, but a node will get retain of these values if all drivers are removed from it and the node is defined to have capacitance. Your evaluation table above is still correct, but extended `X' `0' `1' `W' `L' `H' `Z' `X' `X' `X' `X' `X' `X' `X' `X' `0' `X' `0' `X' `0' `0' `0' `0' `1' `X' `X' `1' `1' `1' `1' `1' `W' `X' `0' `1' `W' `W' `W' `W' `L' `X' `0' `1' `W' `L' `W' `L' `H' `X' `0' `1' `W' `W' `H' `H' `A' `X' `0' `1' `W' `L' `H' `A' `B' `X' `0' `1' `W' `L' `H' `B' `C' `X' `0' `1' `W' `L' `H' `C' `Z' `X' `0' `1' `W' `L' `H' `Z' (A,B,C are only in one axis because they can not be driven)