2.2.4 Combinational Devices

We're now in a position to define our what it means to be a digital processing element. We say a device is a "combinational device" if it meets the following four criteria: First, it should have digital inputs, by which we mean the device uses our signaling convention, interpreting input voltages below V_L as the digital value 0, and voltages above V_H as the digital value 1. Second, the device's outputs should also be digital, producing outputs of 0 by generating voltages less than or equal to V_L and outputs of 1 by generating voltages greater than or equal to V_H. With these two criteria, we should be able to hook the output of one combinational device to the input of another and expect the signals passing between them to be interpreted correctly as 0's and 1's. Next, a combinational device is required to have a functional specification that details the value of each output for every possible combination of digital values on the inputs. In the example, the device has three digital inputs, and since each input can take on one of two digital values, there are 2*2*2 or eight possible input configurations. So the functional specification simply has to tell us the value of the output Y when the inputs are 000, and the output when the inputs are 001, and so on, for all 8 input patterns. A simple table with eight rows would do the trick. Finally, a combinational device has a timing specification that tells us how long it takes for the output of the device to reflect changes in its input values. At a minimum, there must a specification of the propagation delay, called t_PD, that is an upper bound on the time from when the inputs reach stable and valid digital values, to when the output is guaranteed to have a stable and valid output value. Collectively, we call these four criteria the "static discipline," which must be satisfied by all combinational devices. In order to build larger combinational systems from combinational components, we'll follow the composition rules set forth below. First, each component of the system must itself be a combinational device. Second, each input of each component must be connected a system input, or to exactly one output of another device, or to a constant voltage representing the value 0 or the value 1. Finally, the interconnected components cannot contain any directed cycles, i.e., paths through the system from its inputs to its outputs will only visit a particular component at most once. Our claim is that systems built using these composition rules will themselves be combinational devices. In other words, we can build big combinational devices out of combinational components. Unlike our flaky analog system from the start of the chapter, the system can be of any size and still be expected to obey the static discipline. Why is this true? To see why the claim is true, consider the following system built from the combinational devices A, B and C. Let's see if we can show that the overall system, as indicated by the containing blue box, will itself be combinational. We'll do this by showing that the overall system does, in fact, obey the static discipline. First, does the overall system have digital inputs? Yes! The system's inputs are inputs to some of the component devices. Since the components are combinational, and hence have digital inputs, the overall system has digital inputs. In this case, the system is inheriting its properties from the properties of its components. Second, does the overall system have digital outputs? Yes, by the same reasoning. All the system's outputs are connected to one of the components and since the components are combinational, the outputs are digital. Third, can we derive a functional specification for the overall system, i.e., can we specify the expected output values for each combination of digital input values? Yes, we can by incrementally propagating information about the current input values through the component modules. In the example shown, since A is combinational, we can determine the value on its output given the value on its inputs by using A's functional specification. Now we know the values on all of B's inputs and can use its functional specification to determine its output value. Finally, since we've now determined the values on all of C's inputs, we can compute its output value using C's functional specification. In general, since there are no cycles in the circuit, we can determine the value of every internal signal by evaluating the behavior of the combinational components in an order that's determined by the circuit topology. Finally, can we derive the system's propagation delay, t_PD, using the t_PDs of the components? Again, since there are no cycles, we can enumerate the finite-length paths from system inputs to system outputs. Then, we can compute the t_PD along a particular path by summing the t_PDs of the components along the path. The t_PD of the overall system will be the maximum of the path t_PDs considering all the possible paths from inputs to outputs, i.e, the t_PD of the longest such path. So the overall system does in fact obey the static discipline and so it is indeed a combinational device. Pretty neat! We can use our composition rules to build combinational devices of arbitrary complexity.

Comments

Popular posts from this blog

12. Ion Implantation and Annealing - Analytic Models and Monte Carlo

L17.4 Molecules and energy scales

Lecture 20 Maxwell Theory and its Canonical Quantization