$29
In this chapter, we focus on the design of sequential digital circuits for real-life applications. Sequential circuits allow us to capture the notion of time, so that it is possible to store and track different states across time. Thus, sequential circuits can manifest higher level of machine intelligence and perform more complicated tasks than combinational circuits.
1. Learning duration: 2 weeks. Required Tools: Logisim 2.7 or above
2. Objective:
To learn -
Primary topics
1. How to design sequential digital circuits using logic gates and standard components.
2. How to document the design and its operations for others to understand.
3. What are the basic design considerations for sequential circuits.
4. How to standardize designs to generate reusable circuit design patterns to benefit from standardization and reusability (concept of macro).
5. How to apply standard design patterns to organize basic IO and peripheral circuitry. Secondary topics
6. Using the schematic design tool (“Logisim”) to create reusable libraries of design patterns.
7. Familiarity with all the basic sequential circuit blocks.
8. How to interpret data sheets for industrial components as a part of the design activity.
3. Instructions: Use Logisim for your designs. Logisim should be available on the lab machines since you used it for the previous lab. If not, you can download a copy from the previously mentioned website.
4. Useful resources:
1. Chapter 1, 2, 3 of Frank Vahid’s “Digital Design” or the first few chapters of any digital circuit/design/architecture book by Morris Mano (available in TAMU library).
5. Exercises to do
5.1 Problem 1: Download the Lab-3 extra files from the lab web page. When you extract the zip archive, you will see two solutions of Problem 4 from Lab 1.
Activities to do- (20 points)
1. Study and run both solutions using the timing framework provided and note down how long each method takes to process. Provide screenshots of the output of each solution in your lab report (5 points)
2. Now, using the same timing framework, run the code version that you created for Lab 1 (Problem 4). Report the difference in performance between your code and the two provided solutions. (5 points)
3. Write an analysis why different versions of the solution code might be faster. Also provide an analysis why your code is slower or faster than the solution code(s). (5 points)
4. Identify ways to improve your code (or the solution code, in case your code performs better). (5 points)
Note: to make a fair comparison, please run all the code on the same system.
5.2 Problem 2: You performed well in you last design assignment at Ford Motor Company, so you still retain your job there. Today your manager asked you to design the switch which starts and stops the car’s air conditioning system. The requirement is given as –
“…When the a/c button is pushed it should start the a/c, pushing this button for the second time should stop the a/c. The button also incorporates a built-in green LED which glows when the a/c is operating and remains off otherwise. This switch signals the car’s main control logic to turn on the relay which switches on the a/c compressor…”
You asked one of your senior colleagues to help you get started. He told you that this kind of button functionality is known as a “toggle push button”. He also told you that as Ford is facing competition to cut costs, it would be better to use a “normally off (push-to-make) illuminated push button (SPST, NO)” to implement this toggle push button (which is cheaper and more reliable), rather than using a costly and less reliable mechanical toggle button. This kind of push button with built-in LED (for illumination) is available in the market. The “SPST NO illuminated push button switch” which you finally choose has four terminals – two for the switch, and other two are for the LED which has a register in series (to limit the current through the LED), you can apply 3 to 5V to the LED terminal to illuminate the LED.
Hint: Different types of switches are described in the below link –
http://electronicsclub.info/switches.htm
Activities to do- (40 points)
1. What is the meaning of “SPST” and “NO” in the context of electro-mechanical switches? (5 points)
2. Design a small digital circuit (with Logisim) using basic logic gates, so that when this circuit is used with the chosen switch, it will make the circuit function as a toggle switch. (30 points)
3. Using the text-insert feature in Logisim mention in the circuit the chip number(s) (from the 74XX family) that you would use for the circuit and identify the pin numbers that would be used by your circuit. (5 points)
4. Submit your Logisim file along with your lab report.
Note: Use the button component in Logisim for this question (Input/Output > Button). The way the button switch operates in Logisim, as long as you keep the button pressed an LED or other output signal will stay ON. When you release the button, the LED or output signal goes OFF. Design a toggle switch such that when you press the button once, your LED turns ON and then remains ON (even after the button is released) until the button is pushed again.
5.3 Problem 3: Your manager at Ford has asked you to design a circuit to implement “addressable I/O” for a 4-bit microprocessor/ microcontroller. This will be used to activate 7 actuators (the a/c compressor, 4 individual door locks, the engine starter and the windshield wipers). This circuit will allow a CPU with a 4-bit address bus to activate actuators by placing/writing suitable addresses on the address bus. He has provided the following text requirement to get you started –
“…The a/c compressor is turned on by putting a binary equivalent of 0 and enabling the I/O enable line. An address value “2” gets the 2nd door locked (Door 2) …”
He has also sketched out the following system level diagram for you. He expects you to detail out the I/O control block and generate the required gate level circuitry for it. For the moment, you may ignore the internals of the microprocessor.
4-bit
microcontroller
I/O enable control line
4-bit address bus
I/O control
circuit
Actuator control lines
To help you with the design, He has also given you an incomplete truth table for the output actuator operation and the following timing diagram –
Address bus lines
I/O
Actuator control lines
Comment
A3
A2
A1
A0
Enable
A/c
D0 D1
D2
D3
Engine
Wipers
starter
X
X
X
X
0
0
0
0
0
0
0
0
Nothing happens
0
0
0
0
0
0
0
0
0
0
0
0
Nothing happens
0
0
0
0
1
1
0
0
0
0
0
0
A/c get turned on
0
0
0
1
1
0
1
0
0
0
0
0
Door 1 gets locked
0
0
1
0
1
0
0
1
0
0
0
0
Door 2 gets locked
0
0
1
1
1
0
0
0
1
0
0
0
Door 3 gets locked
Clock
I/O
Enable
A0
A1
A2
A3
A/C
D1
D2
Activities to do-
1. Design and verify the required circuit to implement the I/O control sub-system. Note that the given specifications do not specify a way to turn OFF a device once it has been turned ON. Making appropriate assumptions, include a control sequence that can also allow you to turn OFF a device. (30 points)
2. Create timing diagrams showing the change of state of the various signal and control lines as implemented by your circuit. Show the clock and the set of pattern waveforms on A0-A3 and the control lines based on the following activities. (10 points)
Clock cycle 1: A3-A0: value 0010
Clock cycle 3: A3-A0: value 0001
Clock cycle 5: A3-A0: value 0011
I/O goes to state-1, one clock cycle after A3-A0 gets a new value and remains at a high state for one cycle. At Clock cycle 0; All lines are at 0 state.
3. Submit your Logisim file along with the lab report.