Digital Design Interview Review

¡Supera tus tareas y exámenes ahora con Quizwiz!

Hexadecimal

- A base-16 number system that uses sixteen distinct symbols 0-9 and A-F to represent numbers from 0 to 15. - 123 = (1 * 16^2) + (2 * 16^1) + (3 * 16^0) = 291 - Good for representing a large amount of data

Parity Bit

- A bit that is added at the end of a binary string. - Can indicate whether the number of bits having a value 1 in the string is even/odd - Simplest form of error detection - Can be found by taking XOR of all bits in a string - Up to designer if they want to use an odd/even parity

Buffer

- A gate that passes its input to the output, unchanged. - Use cases include: synchronizing n-signals by introducing delay, signal amplification by taking "weak" source signal and boosting its capacity to drive a load - "Transparent Gate"

P-N Junction

- Boundary between two types of semiconductor metals. Created by "doping" - p - positive side, excess holes - n - negative side, excess electrons

Hold Time Constraint

- Depends on minimum delay from register R1 through combinational logic. Input to register R2 must be stable for at least t_hold AFTER the clock edge. - Hard to fix hold time after manufacturing, requires circuit modification.

(Verilog) Difference between logical equalities and logical case equalities

- Equality operators return logical 1 or 0. - Operands are compared bit by bit - Logical case inequality allows for checking of x and z values (Not synthesizable!)

(Verilog) Blocking Assignment

- Evaluation and assignments happen immediately - Used in combinational logic - Ex: x = a | b; y = a & b; z = x | y;

(Verilog) Non-Blocking Assignment

- Evaluation and assignments wait until the right side of the statement is determined, then the left - Used in sequential logic - Ex: x <= a | b; y <= a & b; z <= x | y;

Asynchronous Counter

- FF's connected in a way that the outputs of one drive the clock of the next one - FF's NOT clocked simultaneously - Circuit is simple for large designs - Slow du to clock propagation through all FF's

Synchronous Counter

- FF's driven by clock individually - FF's clocked simultaneously - Complicated circuit given large designs - High speed due to same clock

Delay Sources

- Fundamentally caused by capacitance and resistance of a circuit - Rising and Falling signals - Process Variation (variation in the attributes of transistors during fabrication) - Temperature changes - Age of citcuit

NOR

- Gate that produces a 1 only when all the inputs are 0. - Universal Gate

NAND

- Gate that produces a 1 when it is NOT AND. - Universal Gate

Product-Of-Sums

A form of Boolean expression that is basically the AND'ing of OR'ed terms. All output entries that are equal to 0 in the truth table are grouped together. Terms are called maxterms. ex: (A + B + C) * (B + C)

Sum-Of-Products (SOP)

A form of Boolean expression that is basically the OR'ing of AND'ed terms. All output entries that are equal to 1 in the truth table are grouped together. Terms are called minterms ex: ABC + BC + C

NOT (Inverter)

A gate that inverts the output.

Truth Table

A logic function table that specifies all cases of inputs and outputs for a circuit. Illustrates complete functionality.

XNOR

A logic gate that produces a LOW output only when its two inputs are at opposite levels. Use case: Comparator

Path Sensitization

A path is sensitized when it follows a logic signal to propagate along with it.

Static Sensitization

A path where the other incoming signals to the gate of that path have a non-controlling value

(Verilog) Synchronous Reset

A design that samples the reset on a clocks edge.

(Verilog) Asynchronous Reset

A design that samples the reset without a clock.

Logic Gate

an elementary building block of a digital circuit. Performs basic digital operations.

JK Flip Flop

- Gated SR flip-flop with the addition of a clock input circuitry that prevents the illegal or invalid output condition that can occur when both inputs S and R are equal to logic level "1". - Most universally used. - Generally leads to simpler circuits due to many dont care values for flip flop inputs to achieve next state from a present state

(Verilog) Difference between LOGICAL and BITWISE operations

- Logical - result in logical 1, 0, or x - Bitwise - result in bit-by-bit value

D Flip Flop (FF)

- Memory element that is edge-triggered, driven by a CLK signal. Built from two back to back latches with opposite polarity clocks, which form a master slave topology. - Each flip flop can carry 1 bit of information. Ex: 32-bit register requires 32 flip flops. - Generally simpler to implement - Other Flip Flops include: D Flip Flop, JK Flip Flop, T Flip Flop, SR Flop Flop

Mealy Machine Characteristics

- Outputs depend on BOTH CURRENT STATES & INPUTS - Less states than Moore - Reacts in the same clock cycle - More difficult to design

Moore Machine Characteristics

- Outputs depend only on CURRENT states - Generally has more states than Mealy - Generally reacts one clock - Easier to design

(Verilog) Common Bitwise Operators

- Performs bitwise operations on two operands ~ - Bitwise Negation (NOT) & - Bitwise AND | = Bitwise OR ^ - Bitwise XOR ^- or -^ - Bitwise XNOR

Clock Skew

- Phenomenon in which synchronous circuits arrive at different components in different times. - Caused by material imperfections - temperature variations - varied wire length - Setup and hold violations - Positive clock skew - transmitting register gets the clock tick earlier than the receiving register - Negative clock skew - receiving register gets the clock tick earlier than the sending register - Positive skews can help fix setup violations, but cause hold violations - Negative skews can fix hold violations, but cause setup violations

(Verilog) Concatenation Operator

- Provides a way to append busses or wires to make busses - Must be sized ex: y = {b, c} // concatenate wires b and c to make a bus y

(Verilog) Common Logical Operators

- Return a logical 1 or 0. - Take variables or expressions as operators ! - Logical Negation (NOT) && - Logical AND || - Logical OR == - Logical Equality != - Logical Inequality === - Logical case equality !== - Logical case inequality

Ring Counter

- Shift register in which the output of the last flip-flop is connected to the input of the first flip-flop - Synchronized

Slack

- Slack at vertex v is the difference of RAT and AAT of v. Determines if the design is working at the specified speed or frequency. A negative slack means a circuit doesn't meet timing constraints, but a positive one does. Aim to achieve a slack closest to 0. - Slack(v) = RAT(v) - AAT(v)

Propagation Delay

- T_pd : MAXIMUM time from when an input changes until output FINISHES TO CHANGE it's output. - Total T_pd is the sum of propagation delays through each element on the CRITICAL (longest) path.

Octal

- The octal number system is base 8, using only digits 0 through 7. - Not commonly used

Field-Effect Transistor (FET)

- Transistor that uses a voltage to control current in a semiconductor. - Source, Gate, Drain

Race Condition

- When an output has an unexpected dependency on the timing of a different event. - Hardware race condition or Simulation induced race condition

Calculating Critical Path

1) Create DAG on the circuit 2) Compute AAT and RAT, and calculate the Slack. 3) Determine the critical path

Functional Analysis

1) Detect a critical path using topological analysis 2) Determine logic values that are necessary for static sensitizability of the critical path

Steps in a typical ASIC/SOC

1) Specification - important parameters 2) High Level design - design architecture is defined 3) Low level design - microarchitecture (muxes, registers) 4) RTL Coding - HDL modeling using synthesizable constructs 5) Functional Verification - verifying properties, input driven 6) Logic Synthesis - compiler takes RTL and maps to technology primitives 7) Place and Route - Gate level netlist from synthesis is taken and placed 8) Fabrication - GDS file is sent to foundry which fabricates silicon 9) Post Silicon Validation - Chip put in a real test environment and tested

GDS file (GDSII)

A binary database file format which is an industry standard for layout artwork

Multiplexer

A combinational logic block that allows one of its inputs to be routed to a single output. A 2^n mux requires n-selection bits.

Overlapping/Nonoverlapping Sequence Detector

A sequence detector capable of detecting overlapping/nonoverlapping sequences

Finite State Machine

A synchronous sequential circuit that has a finite number of states.

Tri-State Inverter (E-INV)

A type of gate that behaves like an inverter. when EN = 1, the output is inverted. When EN = 0, its output is disconnected and results in high-impedance.

Complimentary Metal Oxide Semiconductor (CMOS)

A way of constructing MOSFETS in a way they compliment each other to form logic gates - A voltage of LOGIC HIGH ranges from 3.5v to 5v - A voltage of LOGIC LOW ranges rom 0v to 1.5v.

Actual Arrival Time (AAT)

AAT of a vertex v is the longest path from source to v.

Mealy Machine

An FSM where the output depends on both INPUTS & CURRENT STATES. Outputs are only valid at the pos/neg transition of clock.

Karnaugh Map (K-Map)

An illustrated way to minimize combinational logic functions. SOP - logic 1 are circled. POS - logic 0 are circled.

Glitches

An unwanted transition when an input transition causes multiple output transitions. Prevent these by adding extra groups to avoid intergroup transitions.

Grey Code

Binary number system where two successive values differ only in 1 bit. Advantages over Binary Code - fewer bits toggling means less power consumption - facilitate error correction since only 1 bit changes at a time

Carry-Look Ahead Adder (CLA)

Cascaded configuration of multiple one-bit full adders where the Carry-In bits to all full-adders are available simultaneously. For n-bit CLA, the propagation delay is 2n + 2 gate delays.

Ripple-Carry Adder (RCA)

Cascaded configuration of multiple one-bit full adders where the n-bits are inputted to the FA n, and each Carry-Out is wired to the next adders Carry-Out. Slower, but smaller. The result of the RCA is valid only after the joint propagation delays of all the FA's are finished. For an n-bit RCA, the propagation delay is n gate delays.

Synchronous Sequential Circuit

Circuit in which changes in state memory are synchronized by a common clock

Combinational Circuit

Combination of logic gates that its output depends only on its current inputs

One-Bit Half Adder

Combinational logic block that adds the contents of A, B, without taking a Carry-In. Outputs a 1 bit sum and Carry-Out(Cout).

One-Bit Full Adder

Combinational logic block that adds the contents of its 3 inputs, A, B, and Carry-In (Cin) and outputs a 1-bit sum and Carry-Out(Cout)

Decoder

Combinational logic block that receives n inputs and produces a 2^n decoded output.

ASIC (Application Specific Integrated Circuit)

Component designed for a specific application and is used by specific companies in a specific system for a specific use.

Metastability

Condition a FF can enter when the setup or hold times are violated in which the output is indeterminate (neither High nor Low) for usually a short period of time

Setup Time Constraint

Depends on the maximum delay from register R1 through combinational logic. Input register R2 must be stable at least tsetup BEFORE clock edge May increase clock period to fix setup time after manufacturing. Design performance determined by critical path.

Topological Timing Analysis

Determines if a circuit will operate correctly at the intended clock frequency. Allows us to determine how to improve timing of the circuit.

Ring Oscillator

Device composed of an ODD number of NOT gates whose outputs oscillates between two voltage levels.

Contamination Delay Clock-to-Q (t_cq)

Earliest time after the clock active edge that the output (Q) starts to change

Hardware Race Condition

Example : an SR latch where both inputs = 1, we would obtain an oscillating output value for Q and Q'. Solution: Use enable/control signals

Software Induced Race Condition

Example: two always blocks where the first always block executes before the second one, which results in 1. If second executes before first, results in 0. Solution: Use non-blocking assignments instead of blocking assignments

Moore Machine

FSM where outputs depend on ONLY current states. Outputs are valid only AFTER transition of state.

Overflow Flag

Flag that indicates the SIGNED result is too large to fit in the n-bit output. Find the overflow by Cout XOR Cn-1. Meaningless when UNSIGNED numbers are added or subtracted.

XOR

Gate that produces a 1 exclusively if one or the other input has a 1.

AND

Gate that produces a 1 only when all inputs are 1.

OR

Gate that produces a 1 when any input has a 1.

State Diagram

Graphical form that represents the behavior of a synchronous sequential circuit

Dont' Cares

Indicated by X in a truth table or K-map that can be either a 0 or 1. Used to represent an output value that is unimportant, and useful for logic minimization.

Propagation Delay Clock-to-Q (t_pq)

Latest time after the clock active edge that output (Q) stops changing

Hold Time (t_h)

Minimum amount of time AFTER clocks active edge by which the input (D) must be stable.

Setup Time (t_s)

Minimum amount of time BEFORE clocks active edge by which the input (D) must be stable.

D Latch

Most basic memory element. Level sensitive, and takes EN as an input and not a CLK signal. Asynchronous.

Combinational Circuit Delay

Outputs always change with some amount of delay from the input.

What does the output of a sequential circuit depend on?

Past and present inputs. AKA uses memory.

Subtractors

Performed by using two's complement. First, compliment one of the adder inputs (1s compliment), and then adding 1 to the LSB.

What does the output of a combinational circuit depend on?

Present inputs only.

Required Arrival Time (RAT)

RAT of a vertex v is the latest time that the signal is allowed to leave v to make it to sink in time.

Sequence Detector

Sequential circuit that outputs 1 when a particular pattern of bits sequentially arrives at its input.

Register

Sequential logic block made up of Flip Flops that can hold data perpetually until power is off.

Counter

Special form of register designed to count up/down at each rising/falling edge of clock

Shift Register

Special form of register designed to shift bits left/right.

Contamination Delay

Tcd : MINIMUM time from when an input changes until output STARTS TO CHANGE its value. Total Tcd is the sum of all contamination delays through each element on the SHORTEST path.

Binary

The binary number system is base 2, using only bits 0 and 1. Ex: 101 = (1 * 2^2) + (0 * 2^1) + (1 * 2^0) = 5

Even Parity

The number of ones in a string of binary are even. - If a string is already in even parity, we don't need to add a 1, so we can assert 0 - If a string isn't already in even parity, we can assert a 1 to make it into even parity

Odd Parity

The number of ones in a string of binary are odd. - If a string is already in odd parity, we don't need to add a 1, so we can assert 0 - If a string isn't already in odd parity, we can assert a 1 to make it into odd parity

Critical Path

The path in the entire design with the maximum delay.

ε-Critical Network

The set of ε-critical vertices which forms a connected network consisting of paths from sink to source. A vertex v is ε-critical if Slack(V) ≤ Slack_min + ε ε-critical paths may become critical when optimized.

Controlling Value

The value that determines the output value of the gate irrespective of other inputs. NAND - 0 NOR - 1 AND - 0 OR - 1

(Verilog) Reset

Used to force the state of a design to a known condition after power up.

Directed Acyclic Graph (DAG)

Visual representation that shows corresponding delays between gates and wires. Source vertex is connected to inputs, and outputs are connected to a sink vertex.

Metal Oxide Semiconductor Field Effect Transistor (MOSFET)

Voltage controlled field effect transistor, which is electrically insulated from the n/p channel by a thin layer of silicon dioxide (glass).

SoC (System-on-Chip)

chip that integrates an entire subsystem including a microprocessor or microcontroller, memory, peripherals, or custom logic.

(Verilog) Sensitivity List

list of signals that trigger execution of the block when they change values

Transistor Transistor Logic (TTL)

logic family built from bipolar junction transistors. - A voltage of LOGIC HIGH ranges from 2v to 5v - A voltage of LOGIC LOW ranges from 0v to 0.8v


Conjuntos de estudio relacionados

art 344 internet history quiz (lifewire sourc e)

View Set

World History A: Unit 1 - Study Set for quiz 1

View Set

Financial Analysis - USCA MBA - Ch5 HW

View Set

CH 7: Positive organizational behavior

View Set