Chapter 5 Global Timing Constraints. Global Timing Constraints 5-1

Size: px
Start display at page:

Download "Chapter 5 Global Timing Constraints. Global Timing Constraints 5-1"

Transcription

1 Chapter 5 Global Timing Constraints Global Timing Constraints 5-1

2 Objectives After completing this module, you will be able to Apply timing constraints to a simple synchronous design Specify global timing constraints and pin assignments with the Constraints Editor Global Timing Constraints 5-2

3 Outline Introduction The Period Constraint The Offset Constraint The Constraints Editor Summary Global Timing Constraints 5-3

4 What Effects o Timing Constraints Have on Your Project? The Implementation tools don t try to find the place and route that will obtain the best speed Instead, the Implementation tools try to meet your performance expectations Performance expectations are communicated with timing constraints Timing Constraints improve the design performance by placing logic closer together so shorter routing resources can be used Note that when we discuss using the Constraint Editor, we are referring to the esign Manager Constraints Editor Global Timing Constraints 5-4

5 What Needs Constraining? Internal clock speed for one or more clocks I/O speed Logic using multi-cycle clocks Pin to Pin timing Pin Locations & Logic Locations I/O Speed Clk & CE Speed I/O Speed X CLK Y Z<0:9> Logic Locations 1 Level of Logic 2 Levels of Logic OUT1 OUT2 Pin Locations Pin Locations Pin 2 Pin Speed Global Timing Constraints 5-5

6 Without Timing Constraints This design had no timing constraints or pin assignments entered with the design when it was implemented Note the logical structure of the placement and pins. Xilinx recommends that you compile your design at least once without timing constraints or pin assignments This design has a maximum system clock frequency of 50 MHz Global Timing Constraints 5-6

7 With Timing Constraints This is the same design with three global timing constraints entered with the Constraints Editor It has a maximum system clock frequency of 60 MHz Note how most of the logic is placed closer to the edge of the device where the pins have been placed Global Timing Constraints 5-7

8 More About Timing Constraints Timing constraints should be used to define your performance objectives Specifying tight timing constraints will increase your compile time Specifying unrealistic constraints will cause the Flow Engine to stop Use the Logic Level Timing Report to determine if your constraints are realistic (refer to the Reading Reports module) After implementing your design, review the Post Layout Timing Report to determine if your design performance objectives were met If your constraints were not met, use the Timing Analyzer to determine the cause Global Timing Constraints 5-8

9 Path End Points Timing constraints optimize delay paths between path endpoints. Path endpoints can be pads, flip-flops, latches, and RAMs Making timing constraints becomes easier when you realize that timing constraints create groups of path endpoints and communicate a timing specification between these groups Since delay paths may require signals to go through multiple function generators in series, optimizing between path endpoints requires the Implementation tools to place logic closer together Global Timing Constraints 5-9

10 Review If the arrows are constrained paths, what are the Path End Points in this circuit? The Path End Points are flip-flops o all of the registers have anything in common? The registers are all clocked by the same signal. A constraint that references this net could constrain all delay paths between all of the registers in the design AATA FLOP1 FLOP2 FLOP3 OUT1 CLK BUFG FLOP4 FLOP5 BUS [7..0] OUT2 CATA = Combinatorial Logic Global Timing Constraints 5-10

11 Outline Introduction Period Constraint The Offset Constraint The Constraint Editor Summary Global Timing Constraints 5-11

12 Period Constraint In this example the Period constraint optimizes all delay paths between flip-flops The Period constraint does NOT optimize delay paths from input pads to output pads (purely combinatorial), paths from input pads to flip-flops, or paths from flip-flops to output pads AATA FLOP1 FLOP2 FLOP3 OUT1 CLK BUFG FLOP4 FLOP5 BUS [7..0] OUT2 CATA = Combinatorial Logic Global Timing Constraints 5-12

13 The Period Constraint A synchronous element is a flip-flop, latch, or a synchronous RAM The Period constraint covers paths Between synchronous elements which are clocked by the reference net Synchronous elements are grouped by the clock signal driving them. This is called forward propagation and enables constraining large pieces of logic with a single constraint Global Timing Constraints 5-13

14 Some Features of the Period Constraint The PERIO constraint automatically accounts for the extra delay caused by inverters and global clock buffers placed on clock signals This provides the most accurate timing information The PERIO constraint automatically accounts for unequal clock duty cycles FF1 FF2 Assume: 50% duty signal on CLK BUFG Period of 20ns Since FF2 will be clocked on the falling edge of CLK, the delay between the two flip-flops will actually be constrained to 20ns - 10ns = 10ns CLK INV Global Timing Constraints 5-14

15 The Pad-to-Pad Constraint Purely combinatorial delay paths do not contain any synchronous elements Purely combinatorial delay paths start and end at I/O pads and are often left unconstrained by users Placing a Pad-to-Pad constraint is essential for completely constraining a design Global Timing Constraints 5-15

16 Review Which paths are constrained by a PERIO constraint on CLK1? FLOP to LATCH Which paths are constrained by a Pad-to-Pad constraint? PAC to OUT2 PAA FLOP LATCH OUT1 CLK1 G CLK2 PAB BUFG RAM OUT2 BUFG PAC Global Timing Constraints 5-16

17 Outline Introduction The Period Constraint The Offset Constraint The Constraints Editor Summary Global Timing Constraints 5-17

18 Offset Constraint In this example, the Offset constraint optimizes delay paths from input pads to flip-flops and paths from flip-flops to output pads Offset In Offset Out AATA FLOP FLOP FLOP OUT1 CLK BUFG FLOP FLOP BUS [7..0] OUT2 CATA = Combinatorial Logic Global Timing Constraints 5-18

19 The Offset Constraint The Offset constraint covers paths From input pads to synchronous elements clocked by the reference net (Offset In) ---> Input elay From synchronous elements to output pads clocked by the reference net (Offset Out) --> Output elay Note, that this constraint does not cover paths Between synchronous elements From pads to pads (purely combinatorial paths) Global Timing Constraints 5-19

20 Some Features of the Offset Constraint The OFFSET constraint automatically accounts for the extra delay caused by inverters and global clock buffers placed on clock signals This provides the most accurate timing information This increases the amount of time for input signals to arrive at synchronous elements This reduces the amount of time for output signals to arrive at output pins Global Timing Constraints 5-20

21 Review Which paths are constrained by an Offset In and Offset Out constraint in this circuit? Offset In: PAA to FLOP and PAB to RAM Offset Out: LATCH to OUT1, LATCH to OUT2, and RAM to OUT1 CLK PAA FLOP LATCH G OUT1 PAB BUFG RAM OUT2 PAC Global Timing Constraints 5-21

22 Basic Global Timing Constraints ( using the FROM-TO Syntax) UCF TIMESPEC command using default keywords: TIMESPEC TS_C2S=FROM:FFS:TO:FFS:30; TIMESPEC TS_P2S=FROM:PAS:TO:FFS:25; TIMESPEC TS_P2P=FROM:PAS:TO:PAS:26; TIMESPEC TS_C2P=FROM:FFS:TO:PAS:9; TS_P2S TS_C2S TS_C2P OUT1 CLK OUT2 TS_P2P Global Timing Constraints 5-22

23 Global Constraint Review (1) Example: CLK1 has a period of 25 ns (50% duty cycle), and CLK2 has a period of 12 ns (50% duty cycle). Fill in the Global form for this circuit (see next page). Assume zero delay for setup, pads, CLK-, etc. SAINT<31:0> WAG 22 ns FF1 25 ns FF2 15 ns OG_SLOW CLK1 GRAYHOUN 10 ns FF3 12 ns FF4 10 ns OG_GONE CLK2 TOP_OG Global Timing Constraints 5-23

24 Use the Advanced form for Speed Offsets Global Timing Constraints 5-24 Step 1: efine specific path endpoints (optional) Step 2: Assign timing constraints Offsets can replace some Global and Port commands when external specs are known Speed Exceptions such as False Paths and Multi-cycle paths

25 Fast/Slow Speed Exceptions Speed exceptions are controlled with the Advanced -> From: To options From specifies the source of the constraint To specifies the endpoint of the constraint You can create your own groups of endpoints using the Time Group constraints, or use the default groups: Pads, Flip_Flops, RAMs, Latches Global Timing Constraints 5-25

26 Outline Introduction The Period Constraint The Offset Constraint The Constraints Editor Summary Global Timing Constraints 5-26

27 Making Pin Assignments With the Ports Tab Pad locations and Slew Rate can be assigned on a pin-by-pin basis Place pin assignments late in the design cycle Early pin locking can make obtaining performance objectives more difficult To make Pin Assignments, double-click on the appropriate box under the Location heading Then type P60 to assign the signal to Pin 60 of the device Global Timing Constraints 5-27

28 Making Pin Assignments with the Ports Tab Prohibit I/O Locations when saving pins for a team design project Prohibiting is also useful for handling dualpurpose pins, such as configuration pins Global Timing Constraints 5-28

29 Making Period and Pad-to-Pad Constraints With the Global Tab Clock Periods can be made by clicking on the Global tab and specifying a period length for each clock signal ouble-click here to make a period constraint A global Pad-to-Pad constraint can be entered here Global Timing Constraints 5-29

30 Period Constraint Options After double-clicking under the Period heading, the Clock Period dialog box opens This allows customizing the constraint to the duty-cycle and rising or falling clock edge It is also possible to place timing constraints relative to other timing constraints. This is useful for designs with multiple clock signals and multi-cycle paths Global Timing Constraints 5-30

31 Making Offset Constraints with the Constraints Editor Pad to Setup = Offset In Clock to Pad = Offset Out Global Offset IN/OUT constraints can be made by clicking on the Global tab Global Timing Constraints 5-31

32 Outline Introduction The Period Constraint The Offset Constraint The Constraint Editor Summary Global Timing Constraints 5-32

33 Review uestion If the internal delay on an input signal A0_IN is 14 ns, the internal delay on the output A0_OUT is 12 ns, and the design should perform with a period of 40 ns, what constraints should be placed in the the Constraints Editor? etermined by Software Tinput=14ns 40ns etermined by Software Toutput=12ns A0_IN CLK FF1 FF2 A0_OUT Global Timing Constraints 5-33

34 Answer How would you make these constraints in the Constraints Editor? Global Timing Constraints 5-34

35 Summary Performance expectations are communicated with timing constraints The PERIO constraint improves delay paths between synchronous elements The OFFSET constraint improves delay paths from input pins to synchronous elements, and paths from synchronous elements to output pins The Constraints Editor allows you to create timing constraints Global Timing Constraints 5-35

IDEA! Avnet SpeedWay Design Workshop

IDEA! Avnet SpeedWay Design Workshop The essence of FPGA technology IDEA! 2 ISE Tool Flow Overview Design Entry Synthesis Constraints Synthesis Simulation Implementation Constraints Floor-Planning Translate Map Place & Route Timing Analysis

More information

Virtex-II Architecture

Virtex-II Architecture Virtex-II Architecture Block SelectRAM resource I/O Blocks (IOBs) edicated multipliers Programmable interconnect Configurable Logic Blocks (CLBs) Virtex -II architecture s core voltage operates at 1.5V

More information

Timing Analysis in Xilinx ISE

Timing Analysis in Xilinx ISE Timing Analysis in Xilinx ISE For each design which is to be implemented, constraints should be defined to get predictable results. The first important class of constraints was already introduced in the

More information

Behavioral Modeling and Timing Constraints

Behavioral Modeling and Timing Constraints Lab Workbook Introduction Behavioral modeling was introduced in Lab 1 as one of three widely used modeling styles. Additional capabilities with respect to testbenches were further introduced in Lab 4.

More information

ENGN 1630: CPLD Simulation Fall ENGN 1630 Fall Simulating XC9572XLs on the ENGN1630 CPLD-II Board Using Xilinx ISim

ENGN 1630: CPLD Simulation Fall ENGN 1630 Fall Simulating XC9572XLs on the ENGN1630 CPLD-II Board Using Xilinx ISim ENGN 1630 Fall 2018 Simulating XC9572XLs on the ENGN1630 CPLD-II Board Using Xilinx ISim You will use the Xilinx ISim simulation software for the required timing simulation of the XC9572XL CPLD programmable

More information

The Challenges of Doing a PCI Design in FPGAs

The Challenges of Doing a PCI Design in FPGAs The Challenges of Doing a PCI Design in FPGAs Nupur Shah What are the challenges of doing PCI in FPGAs? This paper covers the issues Xilinx has discovered in doing PCI in FPGAs, how they have been surmounted

More information

Behavioral Modeling and Timing Constraints

Behavioral Modeling and Timing Constraints Introduction Behavioral modeling was introduced in Lab 1 as one of three widely used modeling styles. Additional capabilities with respect to testbenches were further introduced in Lab 4. However, there

More information

Configurable Generic Library

Configurable Generic Library Configurable Generic Library Frozen Content Modified by on 13-Sep-2017 Altium Designer Winter 09 heralds the arrival of a new integrated library of configurable generic FPGA logic components FPGA Configurable

More information

Introduction to FPGA Design

Introduction to FPGA Design Introduction to FPGA esign Getting Started with Xilinx FPGAs Version 2.1i Intro to FPGA esign 6-1 Outline Hierarchical esign Synchronous esign for XilinxFPGAs Summary Intro to FPGA esign 6-9 Synchronous

More information

Evolution of Implementation Technologies. ECE 4211/5211 Rapid Prototyping with FPGAs. Gate Array Technology (IBM s) Programmable Logic

Evolution of Implementation Technologies. ECE 4211/5211 Rapid Prototyping with FPGAs. Gate Array Technology (IBM s) Programmable Logic ECE 42/52 Rapid Prototyping with FPGAs Dr. Charlie Wang Department of Electrical and Computer Engineering University of Colorado at Colorado Springs Evolution of Implementation Technologies Discrete devices:

More information

Physical Design of Digital Integrated Circuits (EN0291 S40) Sherief Reda Division of Engineering, Brown University Fall 2006

Physical Design of Digital Integrated Circuits (EN0291 S40) Sherief Reda Division of Engineering, Brown University Fall 2006 Physical Design of Digital Integrated Circuits (EN0291 S40) Sherief Reda Division of Engineering, Brown University Fall 2006 1 Lecture 10: Repeater (Buffer) Insertion Introduction to Buffering Buffer Insertion

More information

Engineering 1630 Fall Simulating XC9572XL s on the ENGN1630 CPLD-II Board

Engineering 1630 Fall Simulating XC9572XL s on the ENGN1630 CPLD-II Board Engineering 1630 Fall 2016 Simulating XC9572XL s on the ENGN1630 CPLD-II Board You will use the Aldec Active-HDL software for the required timing simulation of the XC9572XL CPLD programmable logic chips

More information

Timing Constraints Editor User Guide

Timing Constraints Editor User Guide Libero SoC v11.8 SP1 and SP2 NOTE: PDF files are intended to be viewed on the printed page; links and cross-references in this PDF file may point to external files and generate an error when clicked. View

More information

Don t expect to be able to write and debug your code during the lab session.

Don t expect to be able to write and debug your code during the lab session. EECS150 Spring 2002 Lab 4 Verilog Simulation Mapping UNIVERSITY OF CALIFORNIA AT BERKELEY COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE Lab 4 Verilog Simulation Mapping

More information

SmartTime for Libero SoC v11.5

SmartTime for Libero SoC v11.5 SmartTime for Libero SoC v11.5 User s Guide NOTE: PDF files are intended to be viewed on the printed page; links and cross-references in this PDF file may point to external files and generate an error

More information

6. Latches and Memories

6. Latches and Memories 6 Latches and Memories This chapter . RS Latch The RS Latch, also called Set-Reset Flip Flop (SR FF), transforms a pulse into a continuous state. The RS latch can be made up of two interconnected

More information

HDL Coding Style Xilinx, Inc. All Rights Reserved

HDL Coding Style Xilinx, Inc. All Rights Reserved HDL Coding Style Objective After completing this module, you will be able to: Select a proper coding style to create efficient FPGA designs Specify Xilinx resources that need to be instantiated for various

More information

Control Your QDR Designs

Control Your QDR Designs Control Your QDR Designs A step-by-step guide to solving QDR memory data capture challenges with Virtex-II FPGAs. by Jerry A. Long Technical Marketing Manager, Chronology Division Forte Design Systems

More information

Note: Closed book no notes or other material allowed, no calculators or other electronic devices.

Note: Closed book no notes or other material allowed, no calculators or other electronic devices. ECE 574: Modeling and Synthesis of Digital Systems using Verilog and VHDL Fall 2017 Exam Review Note: Closed book no notes or other material allowed, no calculators or other electronic devices. One page

More information

PALMiCE FPGA Probing Function User's Manual

PALMiCE FPGA Probing Function User's Manual PALMiCE FPGA Probing Function User's Manual This manual describes the probing function and presents the basic usage patterns. Chapter1 Introducing the Probing Function The probing function makes it easy

More information

N-input EX-NOR gate. N-output inverter. N-input NOR gate

N-input EX-NOR gate. N-output inverter. N-input NOR gate Hardware Description Language HDL Introduction HDL is a hardware description language used to design and document electronic systems. HDL allows designers to design at various levels of abstraction. It

More information

Lab 3 Sequential Logic for Synthesis. FPGA Design Flow.

Lab 3 Sequential Logic for Synthesis. FPGA Design Flow. Lab 3 Sequential Logic for Synthesis. FPGA Design Flow. Task 1 Part 1 Develop a VHDL description of a Debouncer specified below. The following diagram shows the interface of the Debouncer. The following

More information

The Xilinx XC6200 chip, the software tools and the board development tools

The Xilinx XC6200 chip, the software tools and the board development tools The Xilinx XC6200 chip, the software tools and the board development tools What is an FPGA? Field Programmable Gate Array Fully programmable alternative to a customized chip Used to implement functions

More information

QuartusII.doc 25/02/2005 Page 1

QuartusII.doc 25/02/2005 Page 1 1 Start Icon... 2 1.1 The Quartus II Screen... 2 2 Project creation... 2 3 Schematic entry... 5 3.1 Create new drawing... 5 3.2 Symbol selection... 7 3.3 Placement of an AND gate... 8 3.4 Deleting a symbol...

More information

An easy to read reference is:

An easy to read reference is: 1. Synopsis: Timing Analysis and Timing Constraints The objective of this lab is to make you familiar with two critical reports produced by the Xilinx ISE during your design synthesis and implementation.

More information

DIGITAL LOGIC WITH VHDL (Fall 2013) Unit 1

DIGITAL LOGIC WITH VHDL (Fall 2013) Unit 1 DIGITAL LOGIC WITH VHDL (Fall 23) Unit DESIGN FLOW DATA TYPES LOGIC GATES WITH VHDL TESTBENCH GENERATION DESIGN FLOW Design Entry: We specify the logic circuit using a Hardware Description Language (e.g.,

More information

Timing Constraints User Guide

Timing Constraints User Guide Timing Constraints User Guide [Guide Subtitle] [optional] [optional] www.xilinx.com TIming Constraints User Guide Xilinx is disclosing this user guide, manual, release note, and/or specification (the "Documentation")

More information

CSE 591: Advanced Hardware Design and Verification (2012 Spring) LAB #0

CSE 591: Advanced Hardware Design and Verification (2012 Spring) LAB #0 Lab 0: Tutorial on Xilinx Project Navigator & ALDEC s Active-HDL Simulator CSE 591: Advanced Hardware Design and Verification Assigned: 01/05/2011 Due: 01/19/2011 Table of Contents 1 Overview... 2 1.1

More information

DESIGN AND IMPLEMENTATION OF 32-BIT CONTROLLER FOR INTERACTIVE INTERFACING WITH RECONFIGURABLE COMPUTING SYSTEMS

DESIGN AND IMPLEMENTATION OF 32-BIT CONTROLLER FOR INTERACTIVE INTERFACING WITH RECONFIGURABLE COMPUTING SYSTEMS DESIGN AND IMPLEMENTATION OF 32-BIT CONTROLLER FOR INTERACTIVE INTERFACING WITH RECONFIGURABLE COMPUTING SYSTEMS Ashutosh Gupta and Kota Solomon Raju Digital System Group, Central Electronics Engineering

More information

ECE 4514 Digital Design II. Spring Lecture 20: Timing Analysis and Timed Simulation

ECE 4514 Digital Design II. Spring Lecture 20: Timing Analysis and Timed Simulation ECE 4514 Digital Design II Lecture 20: Timing Analysis and Timed Simulation A Tools/Methods Lecture Topics Static and Dynamic Timing Analysis Static Timing Analysis Delay Model Path Delay False Paths Timing

More information

Chip Design with FPGA Design Tools

Chip Design with FPGA Design Tools Chip Design with FPGA Design Tools Intern: Supervisor: Antoine Vazquez Janusz Zalewski Florida Gulf Coast University Fort Myers, FL 33928 V1.9, August 28 th. Page 1 1. Introduction FPGA is abbreviation

More information

DP8420V 21V 22V-33 DP84T22-25 microcmos Programmable 256k 1M 4M Dynamic RAM Controller Drivers

DP8420V 21V 22V-33 DP84T22-25 microcmos Programmable 256k 1M 4M Dynamic RAM Controller Drivers DP8420V 21V 22V-33 DP84T22-25 microcmos Programmable 256k 1M 4M Dynamic RAM Controller Drivers General Description The DP8420V 21V 22V-33 DP84T22-25 dynamic RAM controllers provide a low cost single chip

More information

Actel Libero TM Integrated Design Environment v2.3 Structural Schematic Flow Design Tutorial

Actel Libero TM Integrated Design Environment v2.3 Structural Schematic Flow Design Tutorial Actel Libero TM Integrated Design Environment v2.3 Structural Schematic Flow Design Tutorial 1 Table of Contents Design Flow in Libero TM IDE v2.3 Step 1 - Design Creation 3 Step 2 - Design Verification

More information

FPGA. Logic Block. Plessey FPGA: basic building block here is 2-input NAND gate which is connected to each other to implement desired function.

FPGA. Logic Block. Plessey FPGA: basic building block here is 2-input NAND gate which is connected to each other to implement desired function. FPGA Logic block of an FPGA can be configured in such a way that it can provide functionality as simple as that of transistor or as complex as that of a microprocessor. It can used to implement different

More information

Logic Implementation on a Xilinx FPGA using VHDL WWU Linux platform assumed. rev 11/01/17

Logic Implementation on a Xilinx FPGA using VHDL WWU Linux platform assumed. rev 11/01/17 1 Logic Implementation on a Xilinx FPGA using VHDL WWU Linux platform assumed. rev 11/01/17 The following is a general outline of steps (i.e. design flow) used to implement a digital system described with

More information

Interfacing an Intel386 TM EX Microprocessor to an CAN Controller

Interfacing an Intel386 TM EX Microprocessor to an CAN Controller APPLICATION NOTE Interfacing an Intel386 TM EX Microprocessor to an 82527 CAN Controller GREG SCOTT TECHNICAL MARKETING ENGINEER January 1996 Order Number 272790-001 COPYRIGHT INTEL CORPORATION 1995 1

More information

Problem Formulation. Specialized algorithms are required for clock (and power nets) due to strict specifications for routing such nets.

Problem Formulation. Specialized algorithms are required for clock (and power nets) due to strict specifications for routing such nets. Clock Routing Problem Formulation Specialized algorithms are required for clock (and power nets) due to strict specifications for routing such nets. Better to develop specialized routers for these nets.

More information

Binary Counter V3.0. Features

Binary Counter V3.0. Features November 3, 2000 Xilinx Inc. 2100 Logic Drive San Jose, CA 95124 Phone: +1 408-559-7778 Fax: +1 408-559-7114 URL: www.xilinx.com/ipcenter Support: support.xilinx.com Product Specification Features Drop-in

More information

55:131 Introduction to VLSI Design Project #3 -- Fall 2010 64-bit PCI Target with EDAC Due Date: Friday November 19, 2010 Introduction In this project we will modify the PCI Target from project 2 to change

More information

ECE 551 Design Vision Tutorial

ECE 551 Design Vision Tutorial ECE 551 Design Vision Tutorial ECE 551 Staff Dept of Electrical & Computer Engineering, UW-Madison Lesson 0 Tutorial Setup... 2 Lesson 1 Code Input (Analyze and Elaborate)... 4 Lesson 2 - Simple Synthesis...

More information

Lecture 24: Sequential Logic Design. Let s refresh our memory.

Lecture 24: Sequential Logic Design. Let s refresh our memory. 18 100 Lecture 24: equential Logic esign 15 L24 1 James C. Hoe ept of ECE, CMU April 21, 2015 Today s Goal: tart thinking about stateful stuff Announcements: Read Rizzoni 12.6 HW 9 due Exam 3 on April

More information

CMPE 413/ CMSC 711. Project Specification: 16 bit 2 s complement Adder and 8 bit 2 s complement multiplier. GND. Input bus. Latches I[8]-I[15]

CMPE 413/ CMSC 711. Project Specification: 16 bit 2 s complement Adder and 8 bit 2 s complement multiplier. GND. Input bus. Latches I[8]-I[15] Project Specification: 16 bit 2 s complement Adder and 8 bit 2 s complement multiplier. Assigned: Fri, Nov 3rd Due: Tue, Dec. 19th Description: con1 I[15] I[14] I[13] GND I[12] I[11] I[10] I[9] con2 O[15]

More information

Creating High-Speed Memory Interfaces with Virtex-II and Virtex-II Pro FPGAs Author: Nagesh Gupta, Maria George

Creating High-Speed Memory Interfaces with Virtex-II and Virtex-II Pro FPGAs Author: Nagesh Gupta, Maria George XAPP688 (v1.2) May 3, 2004 R Application Note: Virtex-II Families Creating High-Speed Memory Interfaces with Virtex-II and Virtex-II Pro FPGAs Author: Nagesh Gupta, Maria George Summary Designing high-speed

More information

COE758 Digital Systems Engineering

COE758 Digital Systems Engineering COE758 Digital Systems Engineering Project #1 Memory Hierarchy: Cache Controller Objectives To learn the functionality of a cache controller and its interaction with blockmemory (SRAM based) and SDRAM-controllers.

More information

Xilinx ASMBL Architecture

Xilinx ASMBL Architecture FPGA Structure Xilinx ASMBL Architecture Design Flow Synthesis: HDL to FPGA primitives Translate: FPGA Primitives to FPGA Slice components Map: Packing of Slice components into Slices, placement of Slices

More information

10/5/2016. Review of General Bit-Slice Model. ECE 120: Introduction to Computing. Initialization of a Serial Comparator

10/5/2016. Review of General Bit-Slice Model. ECE 120: Introduction to Computing. Initialization of a Serial Comparator University of Illinois at Urbana-Champaign Dept. of Electrical and Computer Engineering ECE 120: Introduction to Computing Example of Serialization Review of General Bit-Slice Model General model parameters

More information

Laboratory Exercise 8

Laboratory Exercise 8 Laboratory Exercise 8 Memory Blocks In computer systems it is necessary to provide a substantial amount of memory. If a system is implemented using FPGA technology it is possible to provide some amount

More information

1. Prove that if you have tri-state buffers and inverters, you can build any combinational logic circuit. [4]

1. Prove that if you have tri-state buffers and inverters, you can build any combinational logic circuit. [4] HW 3 Answer Key 1. Prove that if you have tri-state buffers and inverters, you can build any combinational logic circuit. [4] You can build a NAND gate from tri-state buffers and inverters and thus you

More information

Chapter Operation Pinout Operation 35

Chapter Operation Pinout Operation 35 68000 Operation 35 Chapter 6 68000 Operation 6-1. 68000 Pinout We will do no construction in this chapter; instead, we will take a detailed look at the individual pins of the 68000 and what they do. Fig.

More information

Microprocessor Architecture. mywbut.com 1

Microprocessor Architecture. mywbut.com 1 Microprocessor Architecture mywbut.com 1 Microprocessor Architecture The microprocessor can be programmed to perform functions on given data by writing specific instructions into its memory. The microprocessor

More information

Nikhil Gupta. FPGA Challenge Takneek 2012

Nikhil Gupta. FPGA Challenge Takneek 2012 Nikhil Gupta FPGA Challenge Takneek 2012 RECAP FPGA Field Programmable Gate Array Matrix of logic gates Can be configured in any way by the user Codes for FPGA are executed in parallel Configured using

More information

FPGA: FIELD PROGRAMMABLE GATE ARRAY Verilog: a hardware description language. Reference: [1]

FPGA: FIELD PROGRAMMABLE GATE ARRAY Verilog: a hardware description language. Reference: [1] FPGA: FIELD PROGRAMMABLE GATE ARRAY Verilog: a hardware description language Reference: [] FIELD PROGRAMMABLE GATE ARRAY FPGA is a hardware logic device that is programmable Logic functions may be programmed

More information

CHAPTER 12 REGISTERS AND COUNTERS

CHAPTER 12 REGISTERS AND COUNTERS HPTER 2 REGISTERS N OUNTERS ontents 2. Registers and Register Transfers 2.2 Shift Registers 2.3 esign of inary ounters 2.4 ounters for Other Sequences 2.5 ounter esign Using SR and JK FlipFlops 2.6 erivation

More information

Circuit Design and Simulation with VHDL 2nd edition Volnei A. Pedroni MIT Press, 2010 Book web:

Circuit Design and Simulation with VHDL 2nd edition Volnei A. Pedroni MIT Press, 2010 Book web: Circuit Design and Simulation with VHDL 2nd edition Volnei A. Pedroni MIT Press, 2010 Book web: www.vhdl.us Appendix C Xilinx ISE Tutorial (ISE 11.1) This tutorial is based on ISE 11.1 WebPack (free at

More information

Field Programmable Gate Array

Field Programmable Gate Array Field Programmable Gate Array System Arch 27 (Fire Tom Wada) What is FPGA? System Arch 27 (Fire Tom Wada) 2 FPGA Programmable (= reconfigurable) Digital System Component Basic components Combinational

More information

Synthesis. Other key files. Standard cell (NAND, NOR, Flip-Flop, etc.) FPGA CLB

Synthesis. Other key files. Standard cell (NAND, NOR, Flip-Flop, etc.) FPGA CLB SYNTHESIS Synthesis Involves synthesizing a gate netlist from verilog source code We use Design Compiler (DC) by Synopsys which is the most popular synthesis tool used in industry Target library examples:

More information

2015 Paper E2.1: Digital Electronics II

2015 Paper E2.1: Digital Electronics II s 2015 Paper E2.1: Digital Electronics II Answer ALL questions. There are THREE questions on the paper. Question ONE counts for 40% of the marks, other questions 30% Time allowed: 2 hours (Not to be removed

More information

Philadelphia University Department of Computer Science. By Dareen Hamoudeh

Philadelphia University Department of Computer Science. By Dareen Hamoudeh Philadelphia University Department of Computer Science By Dareen Hamoudeh 1.REGISTERS WHAT IS REGISTER? register is a quickly accessible location available to a computer's central processing unit (CPU).

More information

OPB Universal Serial Bus 2.0 Device (v1.00a)

OPB Universal Serial Bus 2.0 Device (v1.00a) OPB Universal Serial Bus 2. Device (v1.a) DS591 May 1, 27 Introduction The Xilinx Universal Serial Bus 2. High Speed Device with On-chip Peripheral Bus (OPB) enables USB connectivity to the user s design

More information

PushPull: Short Path Padding for Timing Error Resilient Circuits YU-MING YANG IRIS HUI-RU JIANG SUNG-TING HO. IRIS Lab National Chiao Tung University

PushPull: Short Path Padding for Timing Error Resilient Circuits YU-MING YANG IRIS HUI-RU JIANG SUNG-TING HO. IRIS Lab National Chiao Tung University PushPull: Short Path Padding for Timing Error Resilient Circuits YU-MING YANG IRIS HUI-RU JIANG SUNG-TING HO IRIS Lab National Chiao Tung University Outline Introduction Problem Formulation Algorithm -

More information

Chapter 9: Integration of Full ASIP and its FPGA Implementation

Chapter 9: Integration of Full ASIP and its FPGA Implementation Chapter 9: Integration of Full ASIP and its FPGA Implementation 9.1 Introduction A top-level module has been created for the ASIP in VHDL in which all the blocks have been instantiated at the Register

More information

Summer 2003 Lecture 21 07/15/03

Summer 2003 Lecture 21 07/15/03 Summer 2003 Lecture 21 07/15/03 Simple I/O Devices Simple i/o hardware generally refers to simple input or output ports. These devices generally accept external logic signals as input and allow the CPU

More information

Designing Safe Verilog State Machines with Synplify

Designing Safe Verilog State Machines with Synplify Designing Safe Verilog State Machines with Synplify Introduction One of the strengths of Synplify is the Finite State Machine compiler. This is a powerful feature that not only has the ability to automatically

More information

Introduction to Partial Reconfiguration Methodology

Introduction to Partial Reconfiguration Methodology Methodology This material exempt per Department of Commerce license exception TSU Objectives After completing this module, you will be able to: Define Partial Reconfiguration technology List common applications

More information

CCE 3202 Advanced Digital System Design

CCE 3202 Advanced Digital System Design CCE 3202 Advanced Digital System Design Lab Exercise #2 Introduction You will use Xilinx Webpack v9.1 to allow the synthesis and creation of VHDLbased designs. This lab will outline the steps necessary

More information

Lab 3: Xilinx PicoBlaze Flow Lab Targeting Spartan-3E Starter Kit

Lab 3: Xilinx PicoBlaze Flow Lab Targeting Spartan-3E Starter Kit Lab 3: Xilinx PicoBlaze Flow Lab Targeting Spartan-3E Starter Kit Xilinx PicoBlaze Flow Demo Lab www.xilinx.com 1-1 Create a New Project Step 1 Create a new project targeting the Spartan-3E device that

More information

Digital Electronics & Computer Engineering (E85)

Digital Electronics & Computer Engineering (E85) Digital Electronics & Computer Engineering (E85) Lab 4: Thunderbird Turn Signal Introduction In this lab, you will design a finite state machine to control the taillights of a 1965 Ford Thunderbird 1 and

More information

FPGA Programming Technology

FPGA Programming Technology FPGA Programming Technology Static RAM: This Xilinx SRAM configuration cell is constructed from two cross-coupled inverters and uses a standard CMOS process. The configuration cell drives the gates of

More information

Scan Chain Operation for Stuck at Test

Scan Chain Operation for Stuck at Test Scan Chain Operation for Stuck at Test Scan Enable Here is an example design under test (DUT). I have shown a single scan chain (in red color) in the circuit, with and ports. Assume that all scan flip

More information

BUS TIMING ANALYSIS. George E Hadley, Timothy Rogers, and David G Meyer 2018, Images Property of their Respective Owners

BUS TIMING ANALYSIS. George E Hadley, Timothy Rogers, and David G Meyer 2018, Images Property of their Respective Owners BUS TIMING ANALYSIS George E Hadley, Timothy Rogers, and David G Meyer 2018, Images Property of their Respective Owners LEARNING OBJECTIVES identify CPU and memory timing parameters draw a bus timing diagram

More information

DP8420A,DP8421A,DP8422A

DP8420A,DP8421A,DP8422A DP8420A,DP8421A,DP8422A DP8420A DP8421A DP8422A microcmos Programmable 256k/1M/4M Dynamic RAM Controller/Drivers Literature Number: SNOSBX7A DP8420A 21A 22A microcmos Programmable 256k 1M 4M Dynamic RAM

More information

ECE 341 Final Exam Solution

ECE 341 Final Exam Solution ECE 341 Final Exam Solution Time allowed: 110 minutes Total Points: 100 Points Scored: Name: Problem No. 1 (10 points) For each of the following statements, indicate whether the statement is TRUE or FALSE.

More information

UMBC. 80C86/80C88: CMOS version draws 10mA with temp spec -40 to 225degF. 450mV while input max can be no higher than 800mV). 0 0.

UMBC. 80C86/80C88: CMOS version draws 10mA with temp spec -40 to 225degF. 450mV while input max can be no higher than 800mV). 0 0. 8086/88 Device Specifications Both are packaged in DIP (Dual In-Line Packages). 8086: 16-bit microprocessor with a 16-bit data bus 8088: 16-bit microprocessor with an 8-bit data bus. Both are 5V parts:

More information

EE 1315: DIGITAL LOGIC LAB EE Dept, UMD

EE 1315: DIGITAL LOGIC LAB EE Dept, UMD EXPERIMENT # 7: Basic Latches EE 1315: DIGITAL LOGIC LAB EE Dept, UMD Latches are primitive memory elements of sequential circuits that are used in building simple noise filtering circuits and flip-flops.

More information

Digital Signal Processing for Analog Input

Digital Signal Processing for Analog Input Digital Signal Processing for Analog Input Arnav Agharwal Saurabh Gupta April 25, 2009 Final Report 1 Objective The object of the project was to implement a Fast Fourier Transform. We implemented the Radix

More information

ECE 2300 Digital Logic & Computer Organization. More Verilog Finite State Machines

ECE 2300 Digital Logic & Computer Organization. More Verilog Finite State Machines ECE 2300 Digital Logic & Computer Organization Spring 2018 More Verilog Finite Machines Lecture 8: 1 Prelim 1, Thursday 3/1, 1:25pm, 75 mins Arrive early by 1:20pm Review sessions Announcements Monday

More information

Field Programmable Gate Array (FPGA)

Field Programmable Gate Array (FPGA) Field Programmable Gate Array (FPGA) Lecturer: Krébesz, Tamas 1 FPGA in general Reprogrammable Si chip Invented in 1985 by Ross Freeman (Xilinx inc.) Combines the advantages of ASIC and uc-based systems

More information

GUIDELINES FOR USE SMIC 0.18 micron, 1.8 V high-density synchronous single port SRAM IP blocks compiler

GUIDELINES FOR USE SMIC 0.18 micron, 1.8 V high-density synchronous single port SRAM IP blocks compiler GUIDELINES FOR USE SMIC 0.18 micron, 1.8 V high-density synchronous single port SRAM IP blocks compiler Ver. 1.0 November 2010 www.ntlab.com CONTENT 1. DESCRIPTION OF THE COMPILER... 3 1.1 GENERAL CHARACTERISTICS

More information

ECE 574: Modeling and Synthesis of Digital Systems using Verilog and VHDL. Fall 2017 Final Exam (6.00 to 8.30pm) Verilog SOLUTIONS

ECE 574: Modeling and Synthesis of Digital Systems using Verilog and VHDL. Fall 2017 Final Exam (6.00 to 8.30pm) Verilog SOLUTIONS ECE 574: Modeling and Synthesis of Digital Systems using Verilog and VHDL Fall 2017 Final Exam (6.00 to 8.30pm) Verilog SOLUTIONS Note: Closed book no notes or other material allowed apart from the one

More information

Advanced FPGA Design. Jan Pospíšil, CERN BE-BI-BP ISOTDAQ 2018, Vienna

Advanced FPGA Design. Jan Pospíšil, CERN BE-BI-BP ISOTDAQ 2018, Vienna Advanced FPGA Design Jan Pospíšil, CERN BE-BI-BP j.pospisil@cern.ch ISOTDAQ 2018, Vienna Acknowledgement Manoel Barros Marin (CERN) lecturer of ISOTDAQ-17 Markus Joos (CERN) & other organisers of ISOTDAQ-18

More information

KINGS COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING QUESTION BANK NAME OF THE SUBJECT: EE 2255 DIGITAL LOGIC CIRCUITS

KINGS COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING QUESTION BANK NAME OF THE SUBJECT: EE 2255 DIGITAL LOGIC CIRCUITS KINGS COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING QUESTION BANK NAME OF THE SUBJECT: EE 2255 DIGITAL LOGIC CIRCUITS YEAR / SEM: II / IV UNIT I BOOLEAN ALGEBRA AND COMBINATIONAL

More information

Sequential Circuit Design: Principle

Sequential Circuit Design: Principle Sequential Circuit Design: Principle Chapter 8 1 Outline 1. Overview on sequential circuits 2. Synchronous circuits 3. Danger of synthesizing asynchronous circuit 4. Inference of basic memory elements

More information

A short introduction to SystemVerilog. For those who know VHDL We aim for synthesis

A short introduction to SystemVerilog. For those who know VHDL We aim for synthesis A short introduction to SystemVerilog For those who know VHDL We aim for synthesis 1 Verilog & SystemVerilog 1984 Verilog invented, C-like syntax First standard Verilog 95 Extra features Verilog 2001 A

More information

CS 152 Computer Architecture and Engineering Lecture 1 Single Cycle Design

CS 152 Computer Architecture and Engineering Lecture 1 Single Cycle Design CS 152 Computer Architecture and Engineering Lecture 1 Single Cycle Design 2014-1-21 John Lazzaro (not a prof - John is always OK) TA: Eric Love www-inst.eecs.berkeley.edu/~cs152/ Play: 1 Today s lecture

More information

ARM 64-bit Register File

ARM 64-bit Register File ARM 64-bit Register File Introduction: In this class we will develop and simulate a simple, pipelined ARM microprocessor. Labs #1 & #2 build some basic components of the processor, then labs #3 and #4

More information

Lecture 15: System Modeling and Verilog

Lecture 15: System Modeling and Verilog Lecture 15: System Modeling and Verilog Slides courtesy of Deming Chen Intro. VLSI System Design Outline Outline Modeling Digital Systems Introduction to Verilog HDL Use of Verilog HDL in Synthesis Reading

More information

VLSI Test Technology and Reliability (ET4076)

VLSI Test Technology and Reliability (ET4076) VLSI Test Technology and Reliability (ET4076) Lecture 8 (1) Delay Test (Chapter 12) Said Hamdioui Computer Engineering Lab Delft University of Technology 2009-2010 1 Learning aims Define a path delay fault

More information

Microcomputers. Outline. Number Systems and Digital Logic Review

Microcomputers. Outline. Number Systems and Digital Logic Review Microcomputers Number Systems and Digital Logic Review Lecture 1-1 Outline Number systems and formats Common number systems Base Conversion Integer representation Signed integer representation Binary coded

More information

Design a three-input, two-output sequential digital circuit which functions as a digital locking mechanism. LOCK ALARM

Design a three-input, two-output sequential digital circuit which functions as a digital locking mechanism. LOCK ALARM Department of Computing Course 112 Hardware First Year Laboratory Assignment Dates for the session 2005-2006: Hand out Date: 10 th January 2006 Hand in deadline (electronic and written report): 17.00 Monday

More information

Today. Comments about assignment Max 1/T (skew = 0) Max clock skew? Comments about assignment 3 ASICs and Programmable logic Others courses

Today. Comments about assignment Max 1/T (skew = 0) Max clock skew? Comments about assignment 3 ASICs and Programmable logic Others courses Today Comments about assignment 3-43 Comments about assignment 3 ASICs and Programmable logic Others courses octor Per should show up in the end of the lecture Mealy machines can not be coded in a single

More information

High-Performance Memory Interfaces Made Easy

High-Performance Memory Interfaces Made Easy High-Performance Memory Interfaces Made Easy Xilinx 90nm Design Seminar Series: Part IV Xilinx - #1 in 90 nm We Asked Our Customers: What are your challenges? Shorter design time, faster obsolescence More

More information

SP3Q.3. What makes it a good idea to put CRC computation and error-correcting code computation into custom hardware?

SP3Q.3. What makes it a good idea to put CRC computation and error-correcting code computation into custom hardware? Part II CST: SoC D/M: Quick exercises S3-S4 (examples sheet) Feb 2018 (rev a). This sheet contains short exercises for quick revision. Please also look at past exam questions and/or try some of the longer

More information

Synthesis of VHDL Code for FPGA Design Flow Using Xilinx PlanAhead Tool

Synthesis of VHDL Code for FPGA Design Flow Using Xilinx PlanAhead Tool Synthesis of VHDL Code for FPGA Design Flow Using Xilinx PlanAhead Tool Md. Abdul Latif Sarker, Moon Ho Lee Division of Electronics & Information Engineering Chonbuk National University 664-14 1GA Dekjin-Dong

More information

Timing Closure 6.1i. By: Rhett Whatcott

Timing Closure 6.1i. By: Rhett Whatcott White Paper: ISE 6.1i WP331 (v1.0.2) January 18, 2008 Timing Closure 6.1i By: hett Whatcott NOTE: The material contained within this document is out of date, but it is provided as a historical reference.

More information

HIGH-LEVEL SYNTHESIS

HIGH-LEVEL SYNTHESIS HIGH-LEVEL SYNTHESIS Page 1 HIGH-LEVEL SYNTHESIS High-level synthesis: the automatic addition of structural information to a design described by an algorithm. BEHAVIORAL D. STRUCTURAL D. Systems Algorithms

More information

Logic Implementation on a Xilinx FPGA using VHDL WWU Linux platform assumed. rev 10/25/16

Logic Implementation on a Xilinx FPGA using VHDL WWU Linux platform assumed. rev 10/25/16 1 Logic Implementation on a Xilinx FPGA using VHDL WWU Linux platform assumed. rev 10/25/16 The following is a general outline of steps (i.e. design flow) used to implement a digital system described with

More information

A GENERATION AHEAD SEMINAR SERIES

A GENERATION AHEAD SEMINAR SERIES A GENERATION AHEAD SEMINAR SERIES Constraints &Tcl Scripting Design Methodology Guidelines for Faster Timing Convergence Agenda Vivado Tcl Overview XDC Management Design Methodology for Faster Timing Closure

More information

Histogram equalization of images

Histogram equalization of images CSL316 Digital Hardware Design Laboratory Project Report Indian Institute of Technology, Delhi Histogram equalization of images Pawan Jain (2003CS10177) Atul Bansal (2003CS10157) Cycle 1 Teaching Assistant:

More information

PEEL 22CV10A-7/-10/-15/-25 CMOS Programmable Electrically Erasable Logic Device

PEEL 22CV10A-7/-10/-15/-25 CMOS Programmable Electrically Erasable Logic Device Features PEEL 22V10A-7/-10/-15/-25 MOS Programmable Electrically Erasable Logic Device High Speed/Low Power - Speeds ranging from 7ns to 25ns - Power as low as 30mA at 25MHz Electrically Erasable Technology

More information

What is Xilinx Design Language?

What is Xilinx Design Language? Bill Jason P. Tomas University of Nevada Las Vegas Dept. of Electrical and Computer Engineering What is Xilinx Design Language? XDL is a human readable ASCII format compatible with the more widely used

More information