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

Slides:



Advertisements
Similar presentations
Switching circuits Composed of switching elements called “gates” that implement logical blocks or switching expressions Positive logic convention (active.
Advertisements

VERILOG: Synthesis - Combinational Logic Combination logic function can be expressed as: logic_output(t) = f(logic_inputs(t)) Rules Avoid technology dependent.
TOPIC : SYNTHESIS DESIGN FLOW Module 4.3 Verilog Synthesis.
1 Lecture 16 Timing  Terminology  Timing issues  Asynchronous inputs.
Spartan-3 FPGA HDL Coding Techniques
Combinational Logic.
Figure 4.1. The function f (x1, x2, x3) =  m(0, 2, 4, 5, 6).
Sumitha Ajith Saicharan Bandarupalli Mahesh Borgaonkar.
ECE 551 Digital System Design & Synthesis Lecture 08 The Synthesis Process Constraints and Design Rules High-Level Synthesis Options.
Flip-Flops Computer Organization I 1 June 2010 © McQuain, Feng & Ribbens A clock is a free-running signal with a cycle time. A clock may be.
Sequential Circuits1 DIGITAL LOGIC DESIGN by Dr. Fenghui Yao Tennessee State University Department of Computer Science Nashville, TN.
Introduction to Sequential Logic Design Bistable elements Latches.
Digital Logic Design Lecture 22. Announcements Homework 7 due today Homework 8 on course webpage, due 11/20. Recitation quiz on Monday on material from.
Sequential Logic 1 clock data in may changestable data out (Q) stable Registers  Sample data using clock  Hold data between clock cycles  Computation.
Synchronous Digital Design Methodology and Guidelines
1 Digital Design: State Machines Timing Behavior Credits : Slides adapted from: J.F. Wakerly, Digital Design, 4/e, Prentice Hall, 2006 C.H. Roth, Fundamentals.
RTL Hardware Design by P. Chu Chapter 161 Clock and Synchronization.
George Mason University Timing Analysis ECE 545 Lecture 8a.
Assume array size is 256 (mult: 4ns, add: 2ns)
Debouncing Switches Mechanical switches are one of the most common interfaces to a uC. Switch inputs are asynchronous to the uC and are not electrically.
ELEN 468 Lecture 121 ELEN 468 Advanced Logic Design Lecture 12 Synthesis of Combinational Logic I.
ENGIN112 L38: Programmable Logic December 5, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 38 Programmable Logic.
Chapter 7 Design Implementation (II)
Chapter 4 Logic Gates and Boolean Algebra. Introduction Logic gates are the actual physical implementations of the logical operators. These gates form.
مرتضي صاحب الزماني  The registers are master-slave flip-flops (a.k.a. edge-triggered) –At the beginning of each cycle, propagate values from primary inputs.
CS 151 Digital Systems Design Lecture 38 Programmable Logic.
Clock Noise in Sampled Data Systems Sampled Data System.
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
CS3350B Computer Architecture Winter 2015 Lecture 5.2: State Circuits: Circuits that Remember Marc Moreno Maza [Adapted.
Objectives: Given input logice levels, state the output of an RS NAND and RS NOR. Given a clock signal, determine the PGT and NGT. Define “Edge Triggered”
ISE. Tatjana Petrovic 249/982/22 ISE software tools ISE is Xilinx software design tools that concentrate on delivering you the most productivity available.
ECE 2372 Modern Digital System Design
Suggestions for FPGA Design Presentation
© 2003 Xilinx, Inc. All Rights Reserved FPGA Design Techniques.
Lecture 5 Key Locker using FPGA 2007/10/05 Prof. C.M. Kyung.
ASIC/FPGA design flow. FPGA Design Flow Detailed (RTL) Design Detailed (RTL) Design Ideas (Specifications) Design Ideas (Specifications) Device Programming.
ASIC Design Flow – An Overview Ing. Pullini Antonio
System Arch 2008 (Fire Tom Wada) /10/9 Field Programmable Gate Array.
ECE Advanced Digital Systems Design Lecture 12 – Timing Analysis Capt Michael Tanner Room 2F46A HQ U.S. Air Force Academy I n t e g r i.
Introduction to FPGA Created & Presented By Ali Masoudi For Advanced Digital Communication Lab (ADC-Lab) At Isfahan University Of technology (IUT) Department.
© BYU 18 ASYNCH Page 1 ECEn 224 Handling Asynchronous Inputs.
RTL Hardware Design by P. Chu Chapter Overview on sequential circuits 2. Synchronous circuits 3. Danger of synthesizing asynchronous circuit 4.
An Unobtrusive Debugging Methodology for Actel AX and RTAX-S FPGAs Jonathan Alexander Applications Consulting Manager Actel Corporation MAPLD 2004.
Topic: Sequential Circuit Course: Logic Design Slide no. 1 Chapter #6: Sequential Logic Design.
Lecture #3 Page 1 ECE 4110–5110 Digital System Design Lecture #3 Agenda 1.FPGA's 2.Lab Setup Announcements 1.HW#2 assigned Due.
Module 1.2 Introduction to Verilog
CHAPTER-2 Fundamentals of Digital Logic. Digital Logic Digital electronic circuits are used to build computer hardware as well as other products (digital.
Anurag Dwivedi. Basic Block - Gates Gates -> Flip Flops.
Introduction to Sequential Logic Design Bistable elements.
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
Introduction to ASIC flow and Verilog HDL
COUNTERS Why do we need counters?
Introduction to Field Programmable Gate Arrays Lecture 1/3 CERN Accelerator School on Digital Signal Processing Sigtuna, Sweden, 31 May – 9 June 2007 Javier.
Teaching Digital Logic courses with Altera Technology
ASIC/FPGA design flow. Design Flow Detailed Design Detailed Design Ideas Design Ideas Device Programming Device Programming Timing Simulation Timing Simulation.
ECE 506 Reconfigurable Computing Lecture 5 Logic Block Architecture Ali Akoglu.
Introduction to Field Programmable Gate Arrays (FPGAs) EDL Spring 2016 Johns Hopkins University Electrical and Computer Engineering March 2, 2016.
CHAPTER 11 LATCHES AND FLIP-FLOPS This chapter in the book includes: Objectives Study Guide 11.1Introduction 11.2Set-Reset Latch 11.3Gated D Latch 11.4Edge-Triggered.
TOPIC : Introduction to Sequential Circuits UNIT 1: Modeling and Simulation Module 4 : Modeling Sequential Circuits.
Circuit Synthesis A logic function can be represented in several different forms:  Truth table representation  Boolean equation  Circuit schematic 
Chapter #6: Sequential Logic Design
EMT 351/4 DIGITAL IC DESIGN Week # Synthesis of Sequential Logic 10.
Learning Outcome By the end of this chapter, students are expected to refresh their knowledge on sequential logic related to HDL.
332:437 Lecture 12 Finite State Machine Design
Field Programmable Gate Array
Field Programmable Gate Array
Field Programmable Gate Array
VHDL Introduction.
FIGURE 5-1 MOS Transistor, Symbols, and Switch Models
Digital Designs – What does it take
Presentation transcript:

Digital Design Strategies and Techniques

Analog Building Blocks for Digital Primitives We implement logical devices with analog devices There is no magic element that acts like a NOR gate

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

Synthesis Example Overheat Detection

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

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

A parasite RC network delay the input signal Use a synchronous flipflop RC networks

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

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

Asynchronous Problem Use a flipflop to synchronize a delayed output

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 MHz

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

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

Handling External Signals Signal arrive at synchronizing flipflop at different time Using a alternative clock edge

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);

Logic Minimization The designers uses the synchronous techniques The ability of synthesizer is limited The synthesizer will not find the redundancy

What Synthesizer Do? The Synthesis tool take a Verilog HDL, and maps it into hardware Convert truth table into SOP(sum of products)

Area/Delay optimization The designers work will 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