Top Banner
Digital Design Strategies and Techniques
22

Digital Design Strategies and Techniques. Analog Building Blocks for Digital Primitives We implement logical devices with analog devices There is no magic.

Dec 27, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Digital Design Strategies and Techniques. Analog Building Blocks for Digital Primitives We implement logical devices with analog devices There is no magic.

Digital Design Strategies and Techniques

Page 2: Digital Design Strategies and Techniques. Analog Building Blocks for Digital Primitives We implement logical devices with analog devices There is no magic.

Analog Building Blocks for Digital Primitives

• We implement logical devices with analog devices

• There is no magic elementthat acts like a NOR

gate

Page 3: Digital Design Strategies and Techniques. Analog Building Blocks for Digital Primitives We implement logical devices with analog devices There is no magic.

Using a LUT to Implement Logic Function

• Most FPGA use a multiplexer(MUX) Look-Up Table (LUT) as a basic logical element

• The LUT is a versatile• The LUT is efficiently

implemented in silicon

Page 4: Digital Design Strategies and Techniques. Analog Building Blocks for Digital Primitives We implement logical devices with analog devices There is no magic.

Synthesis Example Overheat Detection

Page 5: Digital Design Strategies and Techniques. Analog Building Blocks for Digital Primitives We implement logical devices with analog devices There is no magic.

Synthesis Example Overheat Detection

Page 6: Digital Design Strategies and Techniques. Analog Building Blocks for Digital Primitives We implement logical devices with analog devices There is no magic.

Synthesis Example Overheat Detection

Page 7: Digital Design Strategies and Techniques. Analog Building Blocks for Digital Primitives We implement logical devices with analog devices There is no magic.

Synthesis Example Overheat Detection

Page 8: Digital Design Strategies and Techniques. Analog Building Blocks for Digital Primitives We implement logical devices with analog devices There is no magic.

Discussion of Design Processing Steps

• Syntax checking• It makes good sense to have several tools available for

checking your code• Design minimization and optimization• Minimizing the Boolean expression• Recognizing and removing redundant logic terms• The design is converted to a netlist• The design elements are linked together• Black-box modules are replaced with library element• Floor planning and routing

Page 9: Digital Design Strategies and Techniques. Analog Building Blocks for Digital Primitives We implement logical devices with analog devices There is no magic.
Page 10: Digital Design Strategies and Techniques. Analog Building Blocks for Digital Primitives We implement logical devices with analog devices There is no magic.

Shifty Logical Circuits

• The output is very likely to be glitchy when the input is changed

• The input is noisy signal that crosses the input threshold

• Use hysteresis

Page 11: Digital Design Strategies and Techniques. Analog Building Blocks for Digital Primitives We implement logical devices with analog devices There is no magic.

• A parasite RC network delay the input signal

• Use a synchronous flipflop

RC networks

Page 12: Digital Design Strategies and Techniques. Analog Building Blocks for Digital Primitives We implement logical devices with analog devices There is no magic.

Synchronous Logic Rules

• Metastability• The setup time is the time period before clock edge

of the synchronizing clock when the input is required to be stable

• The hold time is the time period after the synchronizing clock edge when the input is required to be stable

• If signal is changed between setup-hold window output is neither 1 nor 0

Page 13: Digital Design Strategies and Techniques. Analog Building Blocks for Digital Primitives We implement logical devices with analog devices There is no magic.

Asynchronous Input Problem

• A asynchronous signal is random phase related to the system clock

• Each asynchronous signal (FPGA input) should drive only ONE AND EXACTLY ONE FLIPFLOP

Page 14: Digital Design Strategies and Techniques. Analog Building Blocks for Digital Primitives We implement logical devices with analog devices There is no magic.

Asynchronous Problem

• Use a flipflop to synchronize a delayed output

Page 15: Digital Design Strategies and Techniques. Analog Building Blocks for Digital Primitives We implement logical devices with analog devices There is no magic.

Clock frequency

• Divide-by-Two circuit• Rising edge of the

clock must not occur before setup_time + output_delay + routing_delay

• The input clock had better not

have frequency greater that 333.333 MHz

Page 16: Digital Design Strategies and Techniques. Analog Building Blocks for Digital Primitives We implement logical devices with analog devices There is no magic.

Clock delay

• The clock to output delay for U1 is less than hold time for U2

Page 17: Digital Design Strategies and Techniques. Analog Building Blocks for Digital Primitives We implement logical devices with analog devices There is no magic.

Clock Skew

• Two flipflop connected in series

• If the clock skew is too long, then we’ll get the new value of U1 or we’ll violate the output of U2

Page 18: Digital Design Strategies and Techniques. Analog Building Blocks for Digital Primitives We implement logical devices with analog devices There is no magic.

Handling External Signals

• Signal arrive at synchronizing flipflop at different time

• Using a alternative clock edge

Page 19: Digital Design Strategies and Techniques. Analog Building Blocks for Digital Primitives We implement logical devices with analog devices There is no magic.

Logic Minimization

• A synchronizer will recognize and remove the redundant logical rules

input test1,test2,test3;

output sample;

sample = (test1&test2&test3) |

(test1&!test2&test3) |

(test1&test2& !test3);

= test1 & (test2|test3);

Page 20: Digital Design Strategies and Techniques. Analog Building Blocks for Digital Primitives We implement logical devices with analog devices There is no magic.

Logic Minimization

• The designers uses the synchronous techniques

• The ability of synthesizer is limited

• The synthesizer will not find the redundancy

Page 21: Digital Design Strategies and Techniques. Analog Building Blocks for Digital Primitives We implement logical devices with analog devices There is no magic.

What Synthesizer Do?

• The Synthesis tool take a Verilog HDL,and maps it into hardware

• Convert truth table into SOP(sum of products)

Page 22: Digital Design Strategies and Techniques. Analog Building Blocks for Digital Primitives We implement logical devices with analog devices There is no magic.

Area/Delay optimization

• The designers workwill not be judged how perfect it is

• The goal of your quest is to achieve ‘good enough ‘

• The expired designers always a way out of a problem by insuring that a faster or denser device is available in the same device footprint