Lecture 15
Class Objectives Understand the elements and timing of a circuit built using datapath and control.

Datapath and Control

The datapath and control design methodology break the design of digital systems into two components: a datapath and a control unit. The datapath is responsible for all the data manipulations and the control unit is responsible for sequencing the actions of the datapath. The datapath is constructed from the basic building blocks.

A digital system built using the datapath and control design approach is still a digital system whose inputs and outputs can be categorized into Data input, Data output, Control and Status. The digital system shown below consists of two components, a datapath and a control unit.
A digital system constructed from a datapath and a control unit.
The datapath has the ability to perform a wide variety of data transformations. The control unit instructs the datapath which transformation to perform using a set of signals called the control word. An often overlooked portion of the control word are signals provided by the external world such as the acknowledge signal in a two-line handshake. The datapath provides status information to the control unit.

Datapath Architecture and Timing

A datapath is constructed from combinational and sequential bulding block. In many cases you can use the basic building blocks provided in the VHDL library used in previous assignments and summarized in the following table.
The list of all the basic building blocks and some of their attributes.
In some cases, you will have to build your own building blocks like the videoSignalGenerator or scopeFace. Regardless, the datapath needs the ability to perform all the actions required of the digital system. In dividing the design into a datapath and control, when constructing the datapath, you should focus solely on the actions that need performed and NOT their sequencing.

Each building block that you include in the datapath will have some control bits. You will concationate all of these control bits into a vector and make them an input to the datapath. It will be the control units job to assert the correct control bits at the correct time. To help the control unit accomplish this task, the control unit will need information in the form of status bits from the building blocks inside the datapath. You will concationate all the status bits into a vector and make them an output of the datapath.

Control Unit Architecture and Timing

The control unit is a finite state machine (FSM), the most general form of sequential circuit, a circuit whose output is a function of the input and an internal state. In terms of the Figure below, the input is the X vector, the state is the Q vector and the output, the Z vector.


Each of the signals X, Y,Q,Z is a vector, consisting of zero or more bits.