Engineering Change Order (ECO) Support in Programmable Logic Design



Similar documents
White Paper FPGA Performance Benchmarking Methodology

For Quartus II Software. This Quick Start Guide will show you. how to set up a Quartus. enter timing requirements, and

White Paper Military Productivity Factors in Large FPGA Designs

MAX II ISP Update with I/O Control & Register Data Retention

White Paper 40-nm FPGAs and the Defense Electronic Design Organization

White Paper Using the Intel Flash Memory-Based EPC4, EPC8 & EPC16 Devices

December 2002, ver. 1.0 Application Note 285. This document describes the Excalibur web server demonstration design and includes the following topics:

Introduction to the Quartus II Software. Version 10.0

Quartus II Software Design Series : Foundation. Digitale Signalverarbeitung mit FPGA. Digitale Signalverarbeitung mit FPGA (DSF) Quartus II 1

ModelSim-Altera Software Simulation User Guide

Using Altera MAX Series as Microcontroller I/O Expanders

Enhancing High-Speed Telecommunications Networks with FEC

White Paper Utilizing Leveling Techniques in DDR3 SDRAM Memory Interfaces

In-System Programmability

White Paper Understanding Metastability in FPGAs

Using Pre-Emphasis and Equalization with Stratix GX

Quartus II Introduction for VHDL Users

Quartus II Handbook Volume 3: Verification

Using the Agilent 3070 Tester for In-System Programming in Altera CPLDs

Fastest Path to Your Design. Quartus Prime Software Key Benefits

Video and Image Processing Suite

Quartus II Software and Device Support Release Notes Version 15.0

FPGAs for High-Performance DSP Applications

MorphIO: An I/O Reconfiguration Solution for Altera Devices

FPGA-based Safety Separation Design Flow for Rapid IEC Certification

White Paper Power-Optimized Solutions for Telecom Applications

White Paper Streaming Multichannel Uncompressed Video in the Broadcast Environment

Quartus Prime Standard Edition Handbook Volume 3: Verification

Quartus II Software Download and Installation Quick Start Guide

Understanding CIC Compensation Filters

Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai Jens Onno Krah

Altera Error Message Register Unloader IP Core User Guide

ESP-CV Custom Design Formal Equivalence Checking Based on Symbolic Simulation

Figure 1 FPGA Growth and Usage Trends

Using Nios II Floating-Point Custom Instructions Tutorial

Quartus II Introduction Using VHDL Design

Implementing Multiprotocol Label Switching with Altera PLDs

9/14/ :38

Digital Systems Design! Lecture 1 - Introduction!!

Digital Multiplexer and Demultiplexer. Features. General Description. Input/Output Connections. When to Use a Multiplexer. Multiplexer 1.

White Paper Reduce Total System Cost in Portable Applications Using Zero-Power CPLDs

PROFINET IRT: Getting Started with The Siemens CPU 315 PLC

USB-Blaster Download Cable User Guide

FPGA Prototyping Primer

MasterBlaster Serial/USB Communications Cable User Guide

design Synopsys and LANcity

Designing an efficient Programmable Logic Controller using Programmable System On Chip

Implementation Details

ARM Cortex-A9 MPCore Multicore Processor Hierarchical Implementation with IC Compiler

Lattice Diamond User Guide

7a. System-on-chip design and prototyping platforms

CUSTOM GOOGLE SEARCH PRO. User Guide. User Guide Page 1

Using Vivado Design Suite with Version Control Systems Author: Jim Wu

MAX 10 Clocking and PLL User Guide

Binary Numbering Systems

Nios II Software Developer s Handbook

RAPID PROTOTYPING OF DIGITAL SYSTEMS Second Edition

Design Compiler Graphical Create a Better Starting Point for Faster Physical Implementation

Database Backup and Recovery Guide

Oracle Communications Network Charging and Control. Release: 4.4

BitBlaster Serial Download Cable

Allegro Design Authoring

Production Flash Programming Best Practices for Kinetis K- and L-series MCUs

RoverPal - A Mobile Payment Application

PowerPlay Power Analysis & Optimization Technology

White Paper Increase Flexibility in Layer 2 Switches by Integrating Ethernet ASSP Functions Into FPGAs

Quartus II Handbook Volume 2: Design Implementation and Optimization

MAX+PLUS II. Introduction. Programmable Logic Development System & Software

White Paper. S2C Inc Technology Drive, Suite 620 San Jose, CA 95110, USA Tel: Fax:

SAN Conceptual and Design Basics

CA Nimsoft Monitor. Probe Guide for E2E Application Response Monitoring. e2e_appmon v2.2 series

How To Design A Chip Layout

Best Practises for LabVIEW FPGA Design Flow. uk.ni.com ireland.ni.com

Example-driven Interconnect Synthesis for Heterogeneous Coarse-Grain Reconfigurable Logic

Altera Programming Hardware

TimeQuest Timing Analyzer Quick Start Tutorial

Serial port interface for microcontroller embedded into integrated power meter

Implementation of Web-Server Using Altera DE2-70 FPGA Development Kit

15. Introduction to ALTMEMPHY IP

Design Methodology for Engineering Change Orders (ECOs) in a Flat Physical Standard Cells Based Design Environment

An Oracle White Paper October Oracle Data Integrator 12c New Features Overview

EPI SUITE 6 INSTALLATION INSTRUCTIONS

Digital Systems. Role of the Digital Engineer

Installation Guide Supplement

ALTERNATIVE ASSEMBLY SITE FOR THE EPC CONFIGURATION FAMILY

Pre-tested System-on-Chip Design. Accelerates PLD Development

Altera SoC Embedded Design Suite User Guide

Hunting Asynchronous CDC Violations in the Wild

PCB Project (*.PrjPcb)

Download the Design Files

Qsys System Design Tutorial

Clustered Data ONTAP 8.3

W H I T E P A P E R. Understanding VMware Consolidated Backup

Introduction to Programmable Logic Devices. John Coughlan RAL Technology Department Detector & Electronics Division

SDLC Controller. Documentation. Design File Formats. Verification

Providing Battery-Free, FPGA-Based RAID Cache Solutions

CA arcserve Unified Data Protection Agent for Linux

Transcription:

White Paper Engineering Change Order (ECO) Support in Programmable Logic Design A major benefit of programmable logic is that it accommodates changes to the system specification late in the design cycle. In a typical engineering project system development cycle, the specification for the programmable logic portion is likely to change when engineering development begins or when all system elements are being integrated. These last-minute design changes are commonly referred to as engineering change orders (ECOs). ECOs are defined as small changes to the functionality of a design, after the design has been fully compiled, i.e., synthesis and place-and-route are completed. ECOs are usually intended for errors found in the programmable logic design during debug or changes that are made to the programmable logic design specification to compensate for design problems in other areas of the system design, the operation of which cannot easily be changed in these areas. As the project nears completion, a significant amount of time and effort has been invested in achieving timing closure in the programmable logic device (PLD). It is crucial that the programmable logic design flow is optimized to support ECOs in an efficient manner. Impact of Last Minute Design Changes ECOs have an impact on many areas of a system design, including: Performance Compile time Verification Documentation Performance When a small change is made to the design functionality, it can result in previous design optimizations being lost. Typical examples of design optimizations are floorplan optimizations and physical synthesis. Ideally, there should be a means to preserve the design optimizations that have already been made. This will focus future optimizations that may have to be made to the design to the areas of the design to which the ECO changes were made. June 2003, ver. 1.0 1 WP-ECOPLD-1.0

Engineering Change Order (ECO) Support in Programmable Logic Design Altera Corporation Compile Time In the traditional programmable logic design flow, a small change in the design results in a complete recompilation of the design, i.e., synthesis and place-and-route. Thus, the process of making small changes to the design in order to reach the final implementation on a board can be a very long process. Ideally, in order to reach the desired functionality and to reach timing closure, a small change in functionality should result in a reduced compilation time. This can be achieved using incremental compilation technology that uses the previous fit information on the areas of the design that have not been affected by the ECOs. Verification After a small design change, the impact of the change on the design needs to be verified. This is typically achieved through timing analysis and simulation. The designer requires the ability to perform a complete verification on the design. The designer may choose to limit the verification to the area of the design that is impacted by the ECOs. Thus, the designer must be able to run timing analysis on select paths and have the option to perform simulation on gate level and timing simulation netlists. Documentation Changes to the project files must be tracked. This helps other users reproduce the results at a later date. Ideally, users should be able to have multiple compilation revisions, so that they can try out changes without corrupting the results that they have previously obtained. ECO Support ECOs can be applied at either of two different stages of a typical design flow: HDL level Netlist level Traditionally in programmable logic design, ECOs have been applied at the HDL level. This is generally because the tools to easily create ECOs and to enable design sign-off at the netlist level have not been available for PLDs. ECO Support at the HDL Level An ECO at the HDL level is a small incremental change to the design s Verilog or VHDL source. This change may range from a single line to several lines of code modified within a module or entity. Typical examples of such modifications are: Changes to the state encoding of a finite state machine Addition of pipeline register(s) to improve design performance Signal duplication to reduce fan-out 2

Altera Corporation Engineering Change Order (ECO) Support in Programmable Logic Design Adding a term to a conditional expression Changing the polarity of register control signals A few changes to the source code can produce many changes to the netlist produced by 3rd party EDA synthesis or the Quartus R II software s integrated synthesis. During the synthesis process, the synthesis tools generally preserve the names of registers from the HDL source code, but automatically generate names for the combinational (look-up table level) nodes. This automatic name generation is necessary to accommodate the synthesis optimization performed on the HDL source in order to use the target device resources more efficiently. Thus, a minor source code change can result in a many changes to the names used in the synthesis netlist. The changes in the synthesis netlist can be due to either: The node names in the new netlist implement different functionality than in the previous netlist The node names in the new netlist implement mainly the same functionality as in the previous netlist, but have different names In order to leverage the previous design optimizations and to reduce the compilation time, there must be a means of performing an incremental compilation on the nodes with the new functionality and preserving the previous optimizations on the nodes that have not changed. Thus a means of identifying nodes that maintain the same functionality but have different names is essential for providing an ECO flow that truly works. Such a solution is provided with the incremental fitting option available in the Quartus II software version 3.0. The Quartus II incremental fitting feature performs a netlist comparison between the original synthesis netlist and the new netlist containing the ECO changes. It matches nodes based upon names, functionality, fan-in, and fan-out. Those nodes that can be matched inherit the assignments from the previous fit. Thus, the incremental fitting feature can preserve existing fitting information and timing. This limits any timing and fitting changes to the logic that has changed in functionality and reduces the compilation time using the incremental fitting capability. In order to limit the changes caused by ECOs, it is recommended that users adopt a modular design flow. A modular design flow combined with the incremental compilation features mentioned previously minimizes the changes in performance caused by ECOs and also reduces compilation time. Partitioning the design to adopt a modular design flow facilitates the placing of each module in the floorplan for performance. The Quartus II software provides the LogicLock TM feature to optimize the floorplan of modular designs. Altera AN 161: Using the LogicLock Methodology in the Quartus II Design Software describes how to apply LogicLock to a modular design flow. Figure 1 details the recommended design flow to support ECO changes at the HDL level. 3

Engineering Change Order (ECO) Support in Programmable Logic Design Altera Corporation Figure 1. Design Flow to Support ECO Changes Partition Design into Modules Synthesize Design (Modular Synthesis) Incremental Synthesis (Resynthesizes only the module that has changed) Optimize / Place & Route Design Incremental Fitter (Optimize module that has changed) Verify Design Verify Design (Verify area of design that has changed) ECO Changes No Sign-Off Design Yes Make Minor HDL Change to Effected Module ECO Support at the Netlist Level For certain ECO changes, it can be quicker to make changes at the netlist level rather than at the HDL level. This is the case when the designer is debugging the design on silicon and needs a very fast turnaround in generating a programming file for debugging in system. A typical application is that the designer uncovers a problem on the board and is able to isolate the problem to the appropriate nodes or I/O cells on the PLD. The designer needs to be able to quickly correct the functionality of the offending logic cell or the properties of the I/O cell and generate a new programming file in minutes. By doing this, the 4

Altera Corporation Engineering Change Order (ECO) Support in Programmable Logic Design designer can verify the operation of the change without having to modify the HDL and performing a synthesis and place-and-route operation. This minimizes the disruption to the board verification procedure. If this quick fix works, the user need not necessarily change the HDL source code and rerun place-and-route. The user should have the option to: Document the change that has been made Easily recreate the steps taken to produce the changes to the design Generate EDA simulation netlists for verification of the design Perform timing analysis on the design These capabilities are provided in the chip editor feature of the Quartus II software. The Quartus II Chip Editor allows users to make functional changes to individual logic cells and to the I/O cell and phase-locked loop (PLL) parameters. These changes are stored in the Quartus II change manager log. This allows designers to control the application of the changes and more importantly to generate a tool command language (Tcl) file containing the Tcl commands to enable the designer to recreate the changes on the original netlist. This effectively documents the changes made to the project and enables designers to recreate the changes on the original design files at a later date without having to change the HDL source. The designer can regenerate an EDA simulation netlist for the modified design, if it is necessary to perform a gate-level simulation of the modified design. If the designer needs to rerun timing anlaysis to signoff the design, timing anlaysis can be rerun on the netlist containing the ECO changes. Figure 2 details the flow for ECO changes at the netlist level. 5

Engineering Change Order (ECO) Support in Programmable Logic Design Altera Corporation Figure 2. Design Flow for ECO Changes at the Netlist Level Synthesized, Placed & Routed Design (Download Programming File into Device) ECO Required Change Manager (Stores Netlist Modification Details) Modify Logic Cells, I/O Cells, or PLL in Chip Editor Perform DRC on Changes Generate New Programming File Verification Simulation Timing Analysis Sign-Off Design Conclusion Support for ECOs requires a combination of a modular design methodology and the appropriate software design tools. The Quartus II software version 3.0 provides designers with the software tools and the design methodology to successfully perform ECOs at both the HDL and netlist level for programmable logic designs. This enables designers to reduce the design cycle time and to reach timing closure faster on designs that require last minute design changes. 6

Altera Corporation Engineering Change Order (ECO) Support in Programmable Logic Design 101 Innovation Drive San Jose, CA 95134 (408) 544-7000 www.altera.com Copyright 2003 Altera Corporation. All rights reserved. Altera, The Programmable Solutions Company, the stylized Altera logo, specific device designations, and all other words and logos that are identified as trademarks and/or service marks are, unless noted otherwise, the trademarks and service marks of Altera Corporation in the U.S. and other countries.* All other product or service names are the property of their respective holders. Altera products are protected under numerous U.S. and foreign patents and pending applications, maskwork rights, and copyrights. Altera warrants performance of its semiconductor products to current specifications in accordance with Altera s standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Altera Corporation. Altera customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services. * Please note that the following bracketed example language should be used if third party trademarks that we are contractually required to note (e.g., ARM, MIPS, etc.) are included in the document: [ARM] is a [registered] trademark of [ARM Limited]. 7