Digital Abstraction
Digital Abstraction is the method of determining discrete values out of continuous voltages. It is a system where ranges of voltages are interpreted as certain binary values, allowing us to encode information using voltages
- Using voltages to encode information gives us a cheap and stable way to exchange information between digital devices.
- Information encoded with voltages can be easily manipulated.
Voltages that represent bits are generated by semi conductor devices. They need 0 power in steady state, but are affected by external disturbances easily.
To preserve the integrity of information encoded in digital devices made of semiconductor materials, we need to set some contracts between these interconnected digital devices. To encode information in a stable manner, a particular contract called the static discipline can be used to guarantee the behavior of each processing block in the system.
Digital Devices¶
A digital device is any device that uses voltages to encode information in terms of “low voltage” (bit 0) and “high voltage” (bit 1)
Combinational Devices¶
A combinational device is a specific type of digital device that has the following criteria:
- One or more digital inputs
- One or more digital outputs
- A functional specification that details the value of each output for each possible combination of inputs (can be illustrated in terms of truth table / boolean expression)
- A timing specification consisting of an upper bound required propagation time for the device to compute the specified output values given a set of valid and stable input value(s)
A set of interconnected circuit elements is combinational and can be labeled as a combinational digital system if and only if:
- Each circuit element is also combinational with no directed cycles (no feedback loop), and
- That very device’s input is connected to exactly one output of another device or to some vast supply of 0s and 1s.
The Static Discipline¶
A digital system must be able to produce a valid output (for the input of the next device connected to its output) according to its specification if it is given a valid input
This contract guarantees the behaviour of each processing block in a system, so that the set of interconnected devices may work properly. This is necessary so that the system has predictible behaviour
This does not mean however that the converse is true. A device receiving invalid input does not necessarily have to produce an invalid output. In that case, we cannot guarantee the behaviour of the output of the device.
A combinational logic device thus always obeys the static discipline
Noise and Noise Margin¶
To prevent voltage signals from being easily modified by external interferences, Bits are usually represented by a range of voltages rather than a single precise value of voltage instead.
\(V_{ol} < V_{il}\) < \(V_{ih} < V_{oh}\)
- \(V_{ol}\) - Voltage Output Low: The voltage which a digital device outputs if it wants to communicate a
0
bit - \(V_{il}\) - Voltage Input Low: The voltage under which all input voltages are interpreted as
0
s - \(V_{ih}\) - Voltage Input High: The voltage above which all input voltages are interpreted as
1
s - \(V_{oh}\) - Voltage Output High: The voltage which a digital device outputs if it wants to communicate a
1
bit
Using these specifications it can be seen that \(V_{il}-V_{ol}\) is the low bit noise margin and that \(V_{ih}-V_{oh}\) is the high bit noise margin.
Noise Margin is the maximum voltage amplitude (of external erronous signals) that can be added to the noise free input without changing the way that it is interpreted
Noise Immunity is the minimum between the low and high bit noise margins
Voltage Transfer Characteristics (VTC)¶
VTC is a plot of the \(V_{out}\) vs the \(V_{in}\) of a system.
The purpose of plotting the VTC (from measurements) is to determine the four voltage specifications such that the device obeys the static discipline. If this is not possible, then the device cannot be used as a combinational logic device.
The forbidden zone for the device is obtained from the 4 voltage specifications that we set for the entire system. This zone is named as such because if any value on the graph lies inside the zone, it means that it fails to produce a valid output for a valid input, thus violating the static discipline. It is the region where \((-\infty, V_{OL}) < (V_{IN}, V_{OUT}) < (V_{IL}, V_{OH}) \cup (V_{IH}, V_{OL}) < (V_{IN}, V_{OUT}) < (\infty, V_{OH})\)
We typically begin by guessing each value of \(V_{ol}\), \(V_{oh}\), \(V_{il}\), and \(V_{ih}\) and check if the curve crosses the forbidden zone (check if static discpline obeyed) formed by these four values. If static discipline is violated, we either adjust our guess or find another device.
A value for the voltage specification is chosen such that it maximises noise immunity.
The derivative of the VTC curve is called the Gain. For the VTC curve to be of a valid combinational digital device, its Gain must be \(> 1\) at some point on the VTC curve.
It can be approximated by finding the slope of the line joining two close points on the VTC curve than the derivative.
The max Gain can be approximated by \(\cfrac{V_{oh} - V_{ol}}{V_{ih} - V_{il}}\)
If \(\text{absolute gain} > 1\), then there is a finite & positive noise margin. If the \(\text{absolute gain} = 1\) then there is \(0\) noise margin. It is impossible to have \(gain < 1\) and still satisfy the static discipline with valid voltage specifications.
Gain varies non linearly