1 / 125

# Fundamentals of Digital Engineering: - PowerPoint PPT Presentation

Fundamentals of Digital Engineering:. Digital Logic A Micro-Course. R. Katz Grunt Engineer Design Engineer (retired) May 21, 2001. Abstract.

Related searches for Fundamentals of Digital Engineering:

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about 'Fundamentals of Digital Engineering:' - sen

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

### Fundamentals of Digital Engineering:

Digital Logic

A Micro-Course

R. Katz

Grunt Engineer

Design Engineer (retired)

May 21, 2001

The basics of Boolean algebra will be introduced, starting from simple combinational logic functions and basic sequential logic circuits such as latches and flip-flops. Based on these fundamentals, more complex logic structures such as decoders, adders, registers, and memories will constructed and their performance analyzed. FET Transistor basics will be reviewed and circuits introduced that demonstrate implementations of the basic logic elements in CMOS technology. The logic functions used as the architectural basis for programmable devices used in spaceborne electronics will be examined and analyzed.

Some common design problems found in flight circuits will be introduced.

• Introduction

• Basic Logic

• Hardware

• Combinational Logic

• Sequential Logic

• For binary hardware

• Either a ‘1’ or a ‘0’

• “Most of the time”

• Other types of hardware can be have more than two values

• Simulation can use a multi-value logic system

• VHDL Std_Logic uses a nine-valued logic

• Logic ‘1’

• Logic ‘0’

• Undefined value

• Logic ‘1’ threshold - VIH

 2.0 V

• Logic ‘0’ threshold - VIL

 0.8 V

• Undefined

0.8 V < v < 2.0 V

2.0V

Undefined

0.8V

Logic ‘0’

TTL Logic LevelsExamples of Undefined Values

• Floating signals may take on illegal values

• What happens during a signal transition?

• Three physical values

> +VTH

< - VTH

-VTH < v < +VTH

• All values have meaning in MIL-STD-1553

• Intel® StrataFlash™ memory components store two bits per cell for high density and low cost.1

1http://www.intel.com/design/flcomp/prodbref/298044.htm

• Magnetic field (core memory, plated wire)

• Voltage (static CMOS logic)

• Charge (DRAM)

• Position (contacts open/closed)

• Frequency of Sound (tones for a modem)

• Light (fiber optics - MIL-STD-1773)

• Etc.

### Logic Values and Basic Functions

• Levels

• '0' or '1'

• Pulses

• Presence or absence of pulses

• Pulse widths

• Number of pulses

• Zero crossings

• Two-valued variable from {0,1}

• Two binary operations

• AND ( • )

• OR ( + )

• One unary operation

• NOT (  )

A Multi-valued Logic SystemUsed In VHDL Simulation

TYPE std_ulogic IS (

‘U’, -- Uninitialized

‘X’, -- Forcing Unknown

‘0’, -- Forcing 0

‘1’, -- Forcing 1

‘Z’, -- High Impedance

‘W’, -- Weak Unknown

‘L’, -- Weak ‘0’

‘H’, -- Weak ‘1’

‘-’ -- Don’t Care

);

0 1

1 0

Unary Operation - NOT

0 0 0

0 1 0

1 0 0

1 1 1

Binary Operation - AND

0 0 0

0 1 1

1 0 1

1 1 1

Binary Operation - [Inclusive] OR

• How many functions are there of two binary variables?

• Basic combinatorics

• 4 positions or rows: 00, 01, 10, 11

• For each position you can select one of two values {0, 1}

• Order counts since it is a function

• Number of functions = 2 x 2 x 2 x 2 = 24 = 16

• How many functions are there of n binary variables?

• 2n positions or rows

• for n = 2: 00, 01, 10, 11

• for n = 3: 000, 001, 010, 011, 100, 101, 110, 111

• For each position or row you can select one of two values {0, 1}

• Number of functions = 2^2n

• for n = 2: 22 = 4; 2 x 2 x 2 x 2 = 24 = 16

• for n = 3: 23 = 8; 2 x 2 x 2 x 2 x 2 x 2 x 2 x 2 = 28 = 64

• for n = 4: 24 = 16; 216 = 65536

• Number of inputs to a logic gate

• Examples for AND function

• n = 2: Y = A • B

• n = 3: Y = A • B • C

• n = 4: Y = A • B • C • D

• Any logic function can be implemented with AND, OR, and NOT.

• One standard form is the sum of products

• Example: Y = (A • B + C • D)

Inputs AND gates OR gates Inverters Outputs

### Universal Logic Element

Universal Logic GateIntroduction

• Some other logic functions

• NOR ::= Negative OR

Y = ( A + B )´

• NAND ::= Negative AND

Y = ( A • B )´

• Multiplexor

Y = A • S + B • S´

• Look up table (LUT)

Small memory

Universal Logic GateNOR Function

• NOR ::= Negative OR

Y = ( A + B )´

NOT

AND

OR

Universal Logic GateNAND Function

• NAND ::= Negative AND

Y = ( A • B )´

NOT

AND

OR

Universal Logic GateMultiplexor Function

• Multiplexor

Y = A • S + B • S´

OR

AND

NOT

Universal Logic Gate Look up table (LUT)

• Look up table (LUT)

Small memory

NOT OR AND

A X Y A B Y A B Y

0 0 1 0 0 0 0 0 0

0 1 1 0 1 1 0 1 0

1 0 0 1 0 1 1 0 0

1 1 0 1 1 1 1 1 1

Logic Gate - Positive Logic

A B Y

0 0 0

0 1 0

1 0 0

1 1 1

0 = 0V

1 = 5V

Logic Gate and Voltage

A B Y

0V 0V 0V

0V 5V 0V

5V 0V 0V

5V 5V 5V

Logic Gate - Negative Logic

A B Y

1 1 1

1 0 1

0 1 1

0 0 0

1 = 0V

0 = 5V

Logic Gate - Negative Logic

A B Y

0 0 0

0 1 1

1 0 1

1 1 1

1 = 0V

0 = 5V

Reorder Rows

x y C S

0 0 0 0

0 1 0 1

1 0 0 1

1 1 1 0

Logic Equations

C = x • y

S = x  y

Schematic

x y z C S

0 0 0 0 0

0 0 1 0 1

0 1 0 0 1

0 1 1 1 0

1 0 0 0 1

1 0 1 1 0

1 1 0 1 0

1 1 1 1 1

Logic Equations

C = x’yz + xy’z + xyz’ + xyz

= z • (x’y+xy’) + xy • (z+z’)

= z • (x  y) + x • y

= MAJ (x,y,z)

S = x’y’z + x’yz’ + xy’z’ + xyz

= x’yz’ + xy’z’ + x’y’z + xyz

= z’(x’y + xy’) + z(x’y’ + xy)

= z’(x  y) + z(x  y)’

= (x  y)  z

= x  y  z

• Many Types of Adders: Some examples:

• Add time = n x f

• Add time = n x tPD

• Generate carries in parallel

• e.g., 4-bit AM2902. Can have “look ahead” of the “look ahead” units.

• Generate g and p: 1 gate delay

• Generate C: 2 gate delays

• Generate sum: 3 gate delays

• Total: 6 gate delays

• Total is independent of word length

• Several different codes for negative numbers

• 2's complement

• 1's complement

• signed magnitude

• others

• For 2's complement, subtraction is implemented with the same hardware by negating the subtrahend. This is done by inverting each bit and adding one. The one can be added by setting the carry-in to the first stage equal to 1, saving an operation.

### Transistors

• MOS - Metal Oxide Semiconductor

• FET - Field Effect Transistor

• BJT - Bipolar Junction Transistor

drain

collector

body

base

gate

source

emitter

npn bipolar transistor

n-channel MOSFET

collector

base

base

emitter

emitter

BJT Symbols

pnp bipolar transistor

npn bipolar transistor

A circle is sometimes

used on the gate terminal

to show active low input

### Show how MOSFET can be used as a switch

• Based on the fundamental inverter circuit

• Transistors (two) are enhancement-mode MOSFETs

• N-channel with its source grounded

• P-channel with its source connected to +V

• Input: gates connected together

• Output: drains connected

VDD

p

A

Y = A'

n

GND

CMOS Inverter

Since the gate is essentially an open circuit it draws no current, and the output voltage will be equal to either ground or to the power supply voltage, depending on which transistor is conducting.

When input A is grounded (logic 0), the N-channel MOSFET is unbiased, and therefore has no channel enhanced within itself. It is an open circuit, and therefore leaves the output line disconnected from ground. At the same time, the P-channel MOSFET is forward biased, so it has a channel enhanced within itself, connecting the output line to the +Vsupply. This pulls the output up to +V (logic 1).

When input A is at +V (logic 1), the P-channel MOSFET is off and the N-channel MOSFET is on, thus pulling the output down to ground (logic 0). Thus, this circuit correctly performs logic inversion, and at the same time provides active pull-up and pull-down, according to the output state.

This basic CMOS inverter can be expanded into NOR and NAND structures by combining inverters in a partially series, partially parallel structure. A practical example of a CMOS 2-input NOR gate is shown in the figure.

In this circuit, if both inputs are low, both P-channel MOSFETs will be turned on, thus providing a connection to +V. Both N-channel MOSFETs will be off, so there will be no ground connection. However, if either input goes high, that P-channel MOSFET will turn off and disconnect the output from +V, while that N-channel MOSFET will turn on, thus grounding the output.

Note the two p-channel FETs in series.

A two-input NAND gate: a logic 0 at either input will force the output to logic 1; both inputs at logic 1 will force the output to go to logic 0.

Note the two n-channel FETs in series and the two p-channel FETs in parallel.

The pull-up and pull-down resistances at the output are never the same, and can change significantly as the inputs change state, even if the output does not change logic states. The result is uneven and unpredictable rise and fall times for the output signal. This problem was addressed, and was solved with the buffered, or B-series CMOS gates.

The technique here is to follow the actual NAND gate with a pair of inverters. Thus, the output will always be driven by a single transistor, either P-channel or N-channel. Since they are as closely matched as possible, the output resistance of the gate will always be the same, and signal behavior is therefore more predictable. Typically, the p-channel transistor is approximately twice as wide as the n-channel transistor, because of the difference in conductivity between electronics and holes.

Note that we have not gone into all of the details of CMOS gate construction here. For example, to avoid damage caused by static electricity, different manufacturers developed a number of input protection circuits, to prevent input voltages from becoming too high. However, these protection circuits do not affect the logical behavior of the gates, so we will not go into the details here. This is not strictly true for most CMOS devices for applications that are power-switched; special inputs are required for power-off isolation between circuits.

### Decoders

• Route data to one specific output line.

• Selection of devices, resources

• Code conversions.

• Arbitrary switching functions

• implements the AND plane

• Asserts one-of-many signal; at most one output will be asserted for any input combination

Binary

Decimal Unencoded Encoded

0 0001 00

1 0010 01

2 0100 10

3 1000 11

Note: Finite state machines may be unencoded ("one-hot")

or binary encoded. If the all 0's state is used, then

one less bit is needed and it is called modified

one-hot coding.

Why Encode?A Logarithmic Relationship

1 0

0 1

00

2:4 Decoder

What happens when the inputs goes from 01 to 10?

1 1

1 0

0 1

00

2:1 Mux implemented by

minimized Sum-of-Products

Idealized matched delays

In real circuits, delays don't

for illustration

Static Hazard

Same waveform, zoomed in.

A B

1 1

1 0

0 1

0 0

0

1

1

0

S=0

S=1

1

0

1

0

Illustrating the minimized function on a Karnaugh map.

Only two 2-input AND gates are needed for the product terms

A B

1 1

1 0

0 1

0 0

0

1

1

0

S=0

S=1

1

0

1

0

The blue oval shows the redundant term used to cover the

transition between product terms.

How can we verify the

presence and operation

of the ‘redundant’ gate?

0001 1

0010 2

0011 3

0100 4

0101 5

0110 6

0111 7

1000 8

1001 9

1010 10

1011 11

1100 12

1101 13

1110 14

1111 15

0000 16

Static Hazard

Terminal count of

a 4-bit synchronous

counter.

Static HazardFlight Design Example

TMR Triplet Majority Voter

High-skew buffer

Static HazardFlight Design Example

Care is needed when using TMR circuits. First, the output of the voter may be susceptible to a logic hazard “glitch.” This is not a problem if the TMR is feeding the input of another synchronous input. However, the TMR output should never feed asynchronous inputs such as flip-flop clocks, clears, sets, read/write inputs, etc.

Actel Corporation, September 1997

-- based on “SEU Hardening of Field Programmable Gate Arrays (FPGAs) for Space

Applications and Device Characterization,” R. Katz, R. Barto, et. al., IEEE Transactions

on Nuclear Science, Dec. 1994.

We have covered static hazards. There are also dynamic hazards. An example of a dynamic hazard would be when a circuit is supposed to switch as follows:

0  1

0  1  0  1

Any circuit that is static hazard free is also dynamic hazard free.

• VOH - Output voltage when driving high

• VOL - Output voltage when driving low

• IOH - Output current when driving high

• IOL - Output current when driving low

• tT - Transition time, usually measured between 10% and 90% of the waveform (2.2)

VOH Test Configuration

VCC

Output Stage

+

Programmable

i

-

VOL Test Configuration

VCC

Output Stage

+

VCC

Programmable

i

-

• TTL

• 5V CMOS

• 5V PCI

• 3.3V PCI

• LVDS

• LVTTL

• VOH - 2.4 V

• VOL - 0.5 V

• VIH - 2.0 V

• VIL - 0.8 V

• '1' Noise margin = 400 mV

• '0' Noise margin = 300 mV

• VOH - ~VDD (no DC load)

• VOL - ~GND (No DC load)

• VIH - 70% VDD

• VIL - 30% VDD

• Very high noise margin.

### Flip-Flops

A flip-flop holds 1 "bit".

"Bit" ::= "binary digit."

The present state is held when CP is low.

Positive Pulse

Positive

Edge

Negative

Edge

Negative

Edge

Positive

Edge

Clock Pulse Definition

Edges can also be referred to as leading and trailing.

Flip-Flop on RT54SX-A(Not hardened)

RT54SX-S Latch(SEU Hardened)

Worst-case Military Conditions, VCCA=2.3, VCCI=3.0V, TJ=125C

Min Max Units

tRCO Sequential Clock-to-Q 1.0 ns

tCLR Asynchronous Clear-to-Q 0.9 ns

tPRESET Asynchronous Preset-to-Q 1.0 ns

tSUD Flip-Flop Data Input Set-Up 0.6 ns

tHD Flip-Flop Data Input Hold 0.0 ns

tWASYN Asynchronous Pulse Width 1.8 ns

Flip-Flop Timing: RT54SX-S

• Can occur if the setup, hold time, or clock pulse width of a flip-flop is not met.

• A problem for asynchronous systems or events.

• Can be a problem in synchronous systems.

• Three possible symptoms:

• Increased CLK -> Q delay.

• Output a non-logic level

• Output switching and then returning to its original state.

• Theoretically, the amount of time a device stays in the metastable state may be infinite.

• Many designers are not aware of metastability.

• In practical circuits, there is sufficient noise to move the device output of the metastable state and into one of the two legal ones. This time can not be bound. It is statistical.

• Factors that affect a flip-flop's metastable "performance" include the circuit design and the process the device is fabricated on.

• The resolution time is not linear with increased circuit time and the MTBF is an exponential function of the available slack time.

• MTBF = eK2*t / ( K1 x FCLK x FDATA)

t is the slack time available for settling

K1 and K2 are constants that are characteristic of the flip-flop

Fclock and Fdata are the frequency of the synchronizing clock and asynchronous data.

• Software is available to automate the calculations with built-in tables of parameters.

• Not all manufacturers provide data.

Metastable State:Possible Output from a Flip-flop

Metastable State:Possible Outputs from a Flip-flop

Correct Output

### Parallel Registers

Q

D

Register 1

CLK

Register Files (Simplified)

D and Q are both sets of lines, with the number of lines

equal to the width of each register. There are often multiple

(AND plane)

MagneticCoreMemory

Register

Sense wires serve as OR plane.

SemiconductorMemory

Decoder

(AND plane)

OR plane

No latches in this architecture

E2

Memory

Array

Edge

Detect &

Latches

Row

Column

Row

Column

64 Byte

Page

Buffer

Control

Latch

Control

Logic

Timer

I/O Buffer/

Data Polling

W28C64 EEPROMSimplified Block Diagram

A6-12

A0-5

CE*

WE*

Latch Enable

OE*

CLK

VW

I/O0-7

PE

RSTB

### Module Design of PALs and FPGAs

Plane

OR

Plane

Flip-Flops (optional)

Inputs + Buffers/Inverters

Inverters + Outputs

Programmable Logic Components

PROMs, PALs, and PLAs all have a similar architecture

Programmable AND plane and

fixed OR plane.

PALs have a built-in POR circuit to initialize all registers to zero.

• Actel (Act 1,2,3, SX)

• Basics

• Flip-flop Construction

• UTMC/Quicklogic (i.e., UT4090)

• RAM blocks

• Xilinx (i.e., CQR40xxXL, Virtex)

• LUTs/RAM

• Carry Logic/Chain

• Mission Research Corp. (MRC) - Orion

• Atmel - AT6010

8-Input Combinational function

766 possible combinational

macros1

1”Antifuse Field Programmable Gate Arrays,” J. Greene, E. Hamdy, and S. Beal,

Proceedings of the IEEE, Vol. 91, No. 7, July 1993, pp. 1042-1056

Feedback goes through

antifuses (R) and routing

segments (C)

Hard-wired Flip-flop

Routed or “C-C Flip-flop”

• Antifuse Configuration Memory

• Mux-based

• Multiple Outputs

• Wide logic functions

• Dual-port

• 1152 bits per cell

• Four configurations

• 64 X 18

• 128 X 9

• 256 X 4

• 512 X 2

RE

WA(8:0)

WD(17:0)

RCLK

RA(8:0)

WE

WCLK

RD(17:0)

ASYNCRD

MODE(1:0)

XC4000 Series CLBSimplified CLB - Carry Logic Not Shown

RAM LUTs

for Logic or

small SRAM

Two Flip-flops

Placement is important for performance.

General interconnect

Effective Carry Logic for a Typical Addition - XQR4000XL

### MRC Orion Logic Module

28 unique functions

AT60xx Logic ModuleA Closer Look