chapter 6 digital system design
DESCRIPTION
Chapter 6 Digital System Design. 242-208 Digital Systems and Logic Designs . Content. Programmable Logic Devices (PLDs) PLD programming Combinational PLDs Sequential PLDs Field programmable gate arrays (FPGAs) Systematic Design ASM methods and charts Controller and data processor designs - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Chapter 6 Digital System Design](https://reader035.vdocuments.us/reader035/viewer/2022062305/56816387550346895dd47514/html5/thumbnails/1.jpg)
Chapter 6Digital System Design
242-208 Digital Systems and Logic Designs
![Page 2: Chapter 6 Digital System Design](https://reader035.vdocuments.us/reader035/viewer/2022062305/56816387550346895dd47514/html5/thumbnails/2.jpg)
Content•Programmable Logic Devices (PLDs)•PLD programming•Combinational PLDs•Sequential PLDs•Field programmable gate arrays (FPGAs)
•Systematic Design•ASM methods and charts•Controller and data processor designs
•References
![Page 3: Chapter 6 Digital System Design](https://reader035.vdocuments.us/reader035/viewer/2022062305/56816387550346895dd47514/html5/thumbnails/3.jpg)
PLD: Why we need ?
Design is more economical to implement using a fewLarge chips than many small chips.
Design and fabrication time for VLSI chips are extremely long
PLD can be mage in large volume and PROGRAMMED toimplement large numbers of different low-volume designs
![Page 4: Chapter 6 Digital System Design](https://reader035.vdocuments.us/reader035/viewer/2022062305/56816387550346895dd47514/html5/thumbnails/4.jpg)
What is PLD ?An IC that contains large numbers of gates, flip-flops, etc. that can be configured by the user to perform different functions
Two PLD types which are : SPLD (Simple PLD) CPLSs (Complex PLD)
![Page 5: Chapter 6 Digital System Design](https://reader035.vdocuments.us/reader035/viewer/2022062305/56816387550346895dd47514/html5/thumbnails/5.jpg)
PLD programming methods: Antifuse technology Two metal layers sandwich a layer of non-conductive, amorphous silicon. When voltage is applied to this middle layer, the amorphous silicon is turned into polysilicon, which is conductive.
After
![Page 6: Chapter 6 Digital System Design](https://reader035.vdocuments.us/reader035/viewer/2022062305/56816387550346895dd47514/html5/thumbnails/6.jpg)
PLD programming methods: Floating gate
Used in EPROM device !!
High voltage applied to the Drain, electrons jump to gate 1
Current cannot passed since no channel for carrier charge. Potential energy is still high !!
UV light strikes electrons,causes more enough energy for electrons to jump back to the channel,The transistor starts conducting !!
![Page 7: Chapter 6 Digital System Design](https://reader035.vdocuments.us/reader035/viewer/2022062305/56816387550346895dd47514/html5/thumbnails/7.jpg)
PLD programming methods: SRAM
![Page 8: Chapter 6 Digital System Design](https://reader035.vdocuments.us/reader035/viewer/2022062305/56816387550346895dd47514/html5/thumbnails/8.jpg)
Combinational PLD:PROM Programmable Read Only Memory (PROM) :A memory device that stores data at specific locationsthat can be addressed through a set of address pins. Another view : a large array of AND gates followed by a large array of OR gates
![Page 9: Chapter 6 Digital System Design](https://reader035.vdocuments.us/reader035/viewer/2022062305/56816387550346895dd47514/html5/thumbnails/9.jpg)
Combinational PLD:PLA Programmable Logic Array (PLA) : Both arrays of logic AND and OR are programmable
![Page 10: Chapter 6 Digital System Design](https://reader035.vdocuments.us/reader035/viewer/2022062305/56816387550346895dd47514/html5/thumbnails/10.jpg)
Combinational PLD:PAL Programmable Array Logic (PAL) consists of a programmable array of AND gates that connect to a fixedarray of OR gates
The PAL structure allows any SOP expression with a defined number ofvariables to be implemented
![Page 11: Chapter 6 Digital System Design](https://reader035.vdocuments.us/reader035/viewer/2022062305/56816387550346895dd47514/html5/thumbnails/11.jpg)
Combinational PLD:PAL
![Page 12: Chapter 6 Digital System Design](https://reader035.vdocuments.us/reader035/viewer/2022062305/56816387550346895dd47514/html5/thumbnails/12.jpg)
Combinational PLD:GAL A PAL that can be reprogrammed.
![Page 13: Chapter 6 Digital System Design](https://reader035.vdocuments.us/reader035/viewer/2022062305/56816387550346895dd47514/html5/thumbnails/13.jpg)
Sequential PLD: Consists of combinational PLDs with a set of FFs.See the diagram of IC PAL16R8.
![Page 14: Chapter 6 Digital System Design](https://reader035.vdocuments.us/reader035/viewer/2022062305/56816387550346895dd47514/html5/thumbnails/14.jpg)
Sequential PLD: Implement three-bit Gray code counter using PAL16R8
![Page 15: Chapter 6 Digital System Design](https://reader035.vdocuments.us/reader035/viewer/2022062305/56816387550346895dd47514/html5/thumbnails/15.jpg)
Complex PLD
•Programmable PLD blocks•Programmable interconnects•Electrically erasable links
![Page 16: Chapter 6 Digital System Design](https://reader035.vdocuments.us/reader035/viewer/2022062305/56816387550346895dd47514/html5/thumbnails/16.jpg)
Field Programmable Gate ArrayWhy we need FPGA ?
Large complex functions(millions gates)Customised designExpensive to design (in small quantities)Hard to design and long design cyclesNot reprogrammableHigh risks
Limited complexityThousands of gatesCheap and easy to designReprogrammable
![Page 17: Chapter 6 Digital System Design](https://reader035.vdocuments.us/reader035/viewer/2022062305/56816387550346895dd47514/html5/thumbnails/17.jpg)
Field Programmable Gate ArrayWhy we need FPGA ?
InexpensiveEasy and rapid design PrototypingReprogrammable
![Page 18: Chapter 6 Digital System Design](https://reader035.vdocuments.us/reader035/viewer/2022062305/56816387550346895dd47514/html5/thumbnails/18.jpg)
Field Programmable Gate Array
Simple programmable Logic blocksMassive of programmable interconnects
FPGA architecture
![Page 19: Chapter 6 Digital System Design](https://reader035.vdocuments.us/reader035/viewer/2022062305/56816387550346895dd47514/html5/thumbnails/19.jpg)
Xilinx FPGA: CLB
CLB
Slice
![Page 20: Chapter 6 Digital System Design](https://reader035.vdocuments.us/reader035/viewer/2022062305/56816387550346895dd47514/html5/thumbnails/20.jpg)
Xilinx FPGA: CLB
![Page 21: Chapter 6 Digital System Design](https://reader035.vdocuments.us/reader035/viewer/2022062305/56816387550346895dd47514/html5/thumbnails/21.jpg)
Xilinx FPGA: CLB
![Page 22: Chapter 6 Digital System Design](https://reader035.vdocuments.us/reader035/viewer/2022062305/56816387550346895dd47514/html5/thumbnails/22.jpg)
FPGA CLB
Look up tableFF, registers, clock storage elementsMUX
CLBFPGA architecture
![Page 23: Chapter 6 Digital System Design](https://reader035.vdocuments.us/reader035/viewer/2022062305/56816387550346895dd47514/html5/thumbnails/23.jpg)
FPGA CLB with Look Up Table LUT contains memory cells to implement logic functionEach cell holds ‘0’ or ‘1’Programmed with outputs of truth tableInputs select content of one of the cells as output
![Page 24: Chapter 6 Digital System Design](https://reader035.vdocuments.us/reader035/viewer/2022062305/56816387550346895dd47514/html5/thumbnails/24.jpg)
What is in a LUT ?4 input – 16 outputs LUT requires 16 storage elementswith 16 latches.
![Page 25: Chapter 6 Digital System Design](https://reader035.vdocuments.us/reader035/viewer/2022062305/56816387550346895dd47514/html5/thumbnails/25.jpg)
FPGA CLBLarger logic functions built by connecting many CLBstogether
![Page 26: Chapter 6 Digital System Design](https://reader035.vdocuments.us/reader035/viewer/2022062305/56816387550346895dd47514/html5/thumbnails/26.jpg)
Programmable routingConnections routing signals between CLBsDetermined by SRAM cells
![Page 27: Chapter 6 Digital System Design](https://reader035.vdocuments.us/reader035/viewer/2022062305/56816387550346895dd47514/html5/thumbnails/27.jpg)
Programmable routing
![Page 28: Chapter 6 Digital System Design](https://reader035.vdocuments.us/reader035/viewer/2022062305/56816387550346895dd47514/html5/thumbnails/28.jpg)
Programmable routing Switch matrix
![Page 29: Chapter 6 Digital System Design](https://reader035.vdocuments.us/reader035/viewer/2022062305/56816387550346895dd47514/html5/thumbnails/29.jpg)
FPGA : I/O Blocks
![Page 30: Chapter 6 Digital System Design](https://reader035.vdocuments.us/reader035/viewer/2022062305/56816387550346895dd47514/html5/thumbnails/30.jpg)
Systematic DesignFor circuit design:
small circuit : gate-level design (truth tables, K maps, etc) large circuit : block-level design (ICs)
Larger digital systems need more abstract and systematic design techniques.Systematic design methodology :
Top-down approach Partitioning Developing overall architecture Detailing hardware.
![Page 31: Chapter 6 Digital System Design](https://reader035.vdocuments.us/reader035/viewer/2022062305/56816387550346895dd47514/html5/thumbnails/31.jpg)
Systematic Design : Top-down approach
Starting from original problem and gradually refine it towards solution.Steps for a top-down design procedure:
Specify the problem clearly (at global/top level without unnecessary details).
Break the problem into smaller sub-problems.Repeat the process until sub-problems are small
enough to be solved directly.
![Page 32: Chapter 6 Digital System Design](https://reader035.vdocuments.us/reader035/viewer/2022062305/56816387550346895dd47514/html5/thumbnails/32.jpg)
Systematic Design : Top-down approach
Relevant to goal-directed approach
State goal, then find sub-goals to solve main goal.Repeat until sub-goals are directly solvable.
![Page 33: Chapter 6 Digital System Design](https://reader035.vdocuments.us/reader035/viewer/2022062305/56816387550346895dd47514/html5/thumbnails/33.jpg)
Systematic Design : PartitioningA digital system consists of two components
A control algorithm (Controller)An architecture (Data processor)
Control unit (Controller)
Data Processor (Architecture)
Commands
Input data
External command
Status condition
Output data
![Page 34: Chapter 6 Digital System Design](https://reader035.vdocuments.us/reader035/viewer/2022062305/56816387550346895dd47514/html5/thumbnails/34.jpg)
ASM Algorithmic State Machine (ASM) Chart is a high-level flowchart-like notation to specify the hardware algorithms in digital systems to obtain “control” and “data processor” units.Major differences from flowcharts are:
only three box types:- 1) state box (similar to operation box), 2) decision box 3) conditional box
contains exact (or precise) timing information while flowcharts impose a relative timing order for the operations.
![Page 35: Chapter 6 Digital System Design](https://reader035.vdocuments.us/reader035/viewer/2022062305/56816387550346895dd47514/html5/thumbnails/35.jpg)
Components of ASM chart State box Rectangular shape One entry point and one exit point Used to specify one or more operations which could be simultaneously completed in one clock cycle.
one or more operations
statebinary code
![Page 36: Chapter 6 Digital System Design](https://reader035.vdocuments.us/reader035/viewer/2022062305/56816387550346895dd47514/html5/thumbnails/36.jpg)
Components of ASM chart Decision box Diamond in shapeOne entry point but multiple exit points Used to specify a number of alternative paths that can be followed.
deciding factors
deciding factors
![Page 37: Chapter 6 Digital System Design](https://reader035.vdocuments.us/reader035/viewer/2022062305/56816387550346895dd47514/html5/thumbnails/37.jpg)
Components of ASM chart Conditional box Rectangle with rounded cornersAlways follows a decision box and contains one or more conditional operations that are only invoked when the path containing the conditional box is selected by the decision box.
conditional operations
![Page 38: Chapter 6 Digital System Design](https://reader035.vdocuments.us/reader035/viewer/2022062305/56816387550346895dd47514/html5/thumbnails/38.jpg)
Example of using ASM chartInitial state
S
A 0F 0
A A + 1
A2
E 0 E 1
A3
F 1
0
0
0
1
1
1
T2
T1
T0
Init S=0 if S equal 1 { A = 0 F = 0 } increase A if A2 equal 1 { E =1 if A3 equal 1 { F = 1 } }
![Page 39: Chapter 6 Digital System Design](https://reader035.vdocuments.us/reader035/viewer/2022062305/56816387550346895dd47514/html5/thumbnails/39.jpg)
Register operationRegisters present in the data processor for storing and processing data. Flip-flops (1-bit registers) and memories (set of registers) are also considered as registers.The register operations are specified in either the state and/or conditional boxes, and are written in the form:
destination register function(other registers)
![Page 40: Chapter 6 Digital System Design](https://reader035.vdocuments.us/reader035/viewer/2022062305/56816387550346895dd47514/html5/thumbnails/40.jpg)
Timing in ASM chartsInitial state
S
A 0F 0
A A + 1
A2
E 0 E 1
A3
F 1
0
0
0
1
1
1
T2
T1
T0Precise timing is implicitly presented in ASM charts.Each state box, together with its immediately following decision and conditional boxes, occurs within one clock cycle.A group of boxes which occur within a single clock cycle is called an ASM block.
![Page 41: Chapter 6 Digital System Design](https://reader035.vdocuments.us/reader035/viewer/2022062305/56816387550346895dd47514/html5/thumbnails/41.jpg)
Timing in ASM chartsOperations of ASM can be illustrated through a timing diagram.Two factors which must be considered are
operations in an ASM block occur at the same time in one clock cycledecision boxes are dependent on the status of the previous clock cycle (that is, they do not depend on operations of current block)
![Page 42: Chapter 6 Digital System Design](https://reader035.vdocuments.us/reader035/viewer/2022062305/56816387550346895dd47514/html5/thumbnails/42.jpg)
Timing in ASM charts
A = A4A3A2A1
Initial state
S
A 0F 0
A A + 1
A2
E 0 E 1
A3
F 1
0
0
0
1
1
1
T2
T1
T0
clock 1 2 3 4 5 6states T0 T0 T1 T1 T1 T1input S=0 S=1 S=0
registervalues
A=0F=0
A=1
E=0
A=2
E=0
A=3
E=1
OperationsA0F0
AA+1E0
AA+1E0
AA+1E1
AA+1E1
AA+1E0
AA+1E0
AA+1E1
F1
clock 7 8 9 10 11 12 13states T1 T1 T1 T2 T0 T0 T0input
registervalues
A=4
E=1
A=5
E=0
A=6
E=0
A=7
E=1F=1
Operations
![Page 43: Chapter 6 Digital System Design](https://reader035.vdocuments.us/reader035/viewer/2022062305/56816387550346895dd47514/html5/thumbnails/43.jpg)
Digital system synthesisFrom ASM chart, we can synthesize
Controller logic (via State Table/Diagram)Architecture/Data Processor
Design of controller is determined from the decision boxes and the required state transitions.Design requirements of data processor can be obtained from the operations specified with the state and conditional boxes.
![Page 44: Chapter 6 Digital System Design](https://reader035.vdocuments.us/reader035/viewer/2022062305/56816387550346895dd47514/html5/thumbnails/44.jpg)
Controller synthesis procedureStep 1: Identify all states and assign suitable codes.Step 2: Draw state diagram.Step 3: Formulate state table usingState from state boxesInputs from decision boxesOutputs from operations of state/conditional boxes.Step 4: Obtain state/output equations and draw circuit.
![Page 45: Chapter 6 Digital System Design](https://reader035.vdocuments.us/reader035/viewer/2022062305/56816387550346895dd47514/html5/thumbnails/45.jpg)
Controller synthesisInitial state
S
A 0F 0
A A + 1
A2
E 0 E 1
A3
F 1
0
0
0
1
1
1
T2
T1
T0 T0
T1
T2
Assign codes to states: T0 = 00 T1 = 01 T2 = 11
Presentstate inputs
Nextstate outputs
G1 G0 S A2 A3 G1+ G0
+ T0 T1 T20 0 0 X X 0 0 1 0 00 0 1 X X 0 1 1 0 00 1 X 0 X 0 1 0 1 00 1 X 1 0 0 1 0 1 00 1 X 1 1 1 1 0 1 01 1 X X X 0 0 0 0 1
Inputs from conditions in decision boxes. Outputs = present state of controller.
![Page 46: Chapter 6 Digital System Design](https://reader035.vdocuments.us/reader035/viewer/2022062305/56816387550346895dd47514/html5/thumbnails/46.jpg)
Controller synthesisDecoder + D flip-flops
-suitable for moderately large controllers.- procedure: use decoder to obtain individual states; from the state table, obtain the next-state functions by inspection.
The flip-flop input functions can be obtained directly from the state table by inspection.This is because for the D flip-flops,
the next state = flip-flop D input.Decoder is then used to provide signals to represent different states.
![Page 47: Chapter 6 Digital System Design](https://reader035.vdocuments.us/reader035/viewer/2022062305/56816387550346895dd47514/html5/thumbnails/47.jpg)
Controller synthesisD Q
D Q
2x4 decoder
T0
T1
T2
unused
G1
G0
?
?
clock
Given the state table:
Presentstate inputs
Nextstate outputs
G1 G0 S A2 A3 G1+ G0
+ T0 T1 T20 0 0 X X 0 0 1 0 00 0 1 X X 0 1 1 0 00 1 X 0 X 0 1 0 1 00 1 X 1 0 0 1 0 1 00 1 X 1 1 1 1 0 1 01 1 X X X 0 0 0 0 1
The inputs of the D flip-flops for G1 and G0 are
DG1 = T1.A2.A3 DG0 = T0.S + T1
![Page 48: Chapter 6 Digital System Design](https://reader035.vdocuments.us/reader035/viewer/2022062305/56816387550346895dd47514/html5/thumbnails/48.jpg)
Controller synthesis
D Q
D Q
2x4 decoder
T0
T1
T2
unused
G1
G0
clock
A2
A3
S
![Page 49: Chapter 6 Digital System Design](https://reader035.vdocuments.us/reader035/viewer/2022062305/56816387550346895dd47514/html5/thumbnails/49.jpg)
Data processor synthesisArchitecture is more difficult to design than controller.Nevertheless, it can be deduced from the ASM chart. In particular, the operations from the ASM chart determine:
What registers to useHow they can be connectedWhat operations to supportHow these operations are activated.
Guidelines:always use high-level unitssimplest architecture possible.
![Page 50: Chapter 6 Digital System Design](https://reader035.vdocuments.us/reader035/viewer/2022062305/56816387550346895dd47514/html5/thumbnails/50.jpg)
Data processor synthesisInitial state
S
A 0F 0
A A + 1
A2
E 0 E 1
A3
F 1
0
0
0
1
1
1
T2
T1
T0
Various operations are:Counter incremented (A A + 1) when state = T1.Counter cleared (A 0) when state = T0 and S = 1.E is set (E 1) when state = T1 and A2 = 1.E is cleared (E 0) when state = T1 and A2 = 0.F is set (F 1) when state = T2.
Deduce:One 4-bit register A (e.g.: 4-bit synchronous counter with clear/increment).Two flip-flops needed for E and F (e.g.: JK flip-flops).
![Page 51: Chapter 6 Digital System Design](https://reader035.vdocuments.us/reader035/viewer/2022062305/56816387550346895dd47514/html5/thumbnails/51.jpg)
Data processor synthesis
Controller
K
J Q
K
J Q
Clk
4-bit syn. counter A
A2
A1A2
A3
A3A4
start S
E
F
clock
CP
count
clear
T2
T1
T0
![Page 52: Chapter 6 Digital System Design](https://reader035.vdocuments.us/reader035/viewer/2022062305/56816387550346895dd47514/html5/thumbnails/52.jpg)
References[1] A. T. T. Choy, Lecture notes on CS1104-Computer Organization.[2] M. M. Mano, Digital Design 3rd , Prentice-Hall.[3] John Coughlan, Lecture note on Introduction to Programmable Logic Device.[4] P. Cheung, Lecture note on Programmable Logic Devices.[5] F. Floyd, Digital Fundamentals 9th Edition, Prentice-Hall.