Using Synopsys Design Constraints (SDC) with Designer

Similar documents
ProASIC PLUS Timing Closure in Libero IDE v5.2

Design Migration from the RT54SX32 to the RT54SX32S Device

Maximizing Logic Utilization in ex, SX, SX-A, and Axcelerator FPGA Devices Using CC Macros

Axcelerator Family Memory Blocks

ProASIC PLUS FPGA Family

Minimizing Single Event Upset Effects Using Synplicity

Recommendations for Programming Actel RTSX-S, RTSX-SU, and SX-A

Silicon Sculptor Quick Reference Card

Using Synplify to Design in Actel Radiation-Hardened FPGAs

Application Note AC316. High-Volume Flash Programming Guidelines

RAM Initialization and ROM Emulation in ProASIC PLUS Devices

Using Actel s A54SX08A FPGA to Interface a PowerQUICC Microprocessor to a MUSIC-IC LANCAM

Timing Analyzer Quick-Start Tutorial

PinEditor (non-mvn) v6.3 User s Guide

I/O Features in Axcelerator Family Devices

Live at Power-Up. Key Actel Benefits. The Time it Takes an. FPGA to Power Up has a. Significant Impact on. Effective System Design

Using DDR for Fusion Devices

ProASIC to SX-A PQ208 Prototyping Adapter Board. User Document for P/N SI-SXA-APAPQ208-A-KIT

UG0776 User Guide PolarFire FPGA Design Constraints

ProASIC3/E FlashROM (FROM)

VHDL VITAL. Simulation Guide

CoreAHB. Contents. Product Summary. General Description. Intended Use. Key Features. Benefits. Supported Device Families

Floorplanning ProASIC /ProASIC PLUS Devices for Increased Performance

Lecture 11 Logic Synthesis, Part 2

Using ProASIC3/E RAM as Multipliers

SmartDesign MSS. Cortex TM -M3 Configuration

SmartDesign MSS. Embedded FlashROM (efrom) Configuration

CoreSDLC v3.0 Release Notes

ProASIC and ProASIC PLUS. Software FAQ

Using ProASIC PLUS RAM as Multipliers

Adding Custom Peripherals to the AMBA Host and Peripheral Buses

SmartTime for Libero SoC v11.5

Innoveda eproduct Designer. Interface Guide

Simulating SEU Events in EDAC RAM

Vivado Design Suite Tutorial. Using Constraints

Axcelerator Family FPGAs

SmartGen Hard Multiplier Accumulator v1.0. Handbook

FPGAs for Space Applications

design cycle involving simulation, synthesis

Fusion Power Sequencing and Ramp-Rate Control

Atmel-Synario CPLD/PLD Design Software ATDS1100PC ATDS1120PC ATDS1130PC ATDS1140PC. Features. Description

Actel BSDL Files Format Description

Intel Quartus Prime Standard Edition User Guide

Real-Time Calendar Applications in Actel Fusion Devices

Implementing Multi-Port Memories in Axcelerator Devices

SmartFusion. Dedicated Fabric Clock Conditioning Circuit with PLL Integration

DC-Tcl Procedures. Learning Objectives. After completing this lab, you should be able to: Write generic DC-Tcl procedures. Lab Duration: 30 minutes

Preparations. Creating a New Project

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

When is Data Susceptible to Corruption

8. Switching to the Quartus II TimeQuest Timing Analyzer

Timing Constraints Editor User Guide

Maximizing Logic Utilization in ex, SX, and SX-A FPGA Devices Using CC Macros

Specifying Timing Exceptions

Designing RGMII Interface with FPGA and HardCopy Devices

10. Synopsys Synplify Support

TRILOBYTE SYSTEMS. Consistent Timing Constraints with PrimeTime. Steve Golson Trilobyte Systems.

AvnetCore: Datasheet

Intel Quartus Prime Standard Edition User Guide

Secure Microcontrollers for Smart Cards. AT90SC Summary

Experiment VERI: FPGA Design with Verilog (Part 2) (webpage: /)

Compile RISC_CORE. Learning Objectives. After completing this lab, you should be able to: Perform a top-down compile strategy on the RISC_CORE design

VIVADO TUTORIAL- TIMING AND POWER ANALYSIS

Multiple Clocks and Timing Exceptions

Synplify Pro for Microsemi Edition Release Notes

CorePCI Target 33/66 MHz

The Advantages of the 32-Bit Cortex-M1 Processor in Actel FPGAs. White Paper

Design Constraints User Guide

SmartFusion2, IGLOO2, and RTG4 Designing with Blocks for Libero SoC v11.8 in the Enhanced Constraint Flow User Guide

Synplify Pro for Actel Edition Release Notes

OrCAD Support for Atmel PLDs. Application Note. OrCAD Support for Atmel PLDs. Overview

King Fahd University of Petroleum and Minerals. Computer Engineering Department. COE 561 Digital Systems Design and Synthesis (Course Activity)

Cell-Based Design Flow. 林丞蔚

1-Megabit (128K x 8) Low Voltage Paged Parallel EEPROMs

SmartDesign MSS. ACE Simulation

Prototyping RTAX-S Using Axcelerator Devices

2-wire Serial EEPROM AT24C512. Preliminary. 2-Wire Serial EEPROM 512K (65,536 x 8) Features. Description. Pin Configurations.

Atmel FPGA Integrated Development System (IDS)

Agenda: Day Two. Unit 6: Specifying Timing Exceptions DAY 2. I/O Paths and Exceptions. Constraining I/O Interface Paths

Introduction to STA using PT

Product Description. Application Note. AVR360: XmodemCRC Receive Utility for the AVR. Features. Theory of Operation. Introduction

A STANDARDIZED PROCEDURE FOR CLOSING TIMING ON OpenHPSDR FPGA FIRMWARE DESIGNS

2-wire Serial EEPROM AT24C01A AT24C02 AT24C04 AT24C08 AT24C16

AvnetCore: Datasheet

SDC and TimeQuest API Reference Manual

Getting a Quick Start 2

Designing Safe Verilog State Machines with Synplify

HOW TO SYNTHESIZE VERILOG CODE USING RTL COMPILER

Asic Design ET Alexander de Graaf, EEMCS/ME/CAS 5/20/14. Challenge the future. Delft University of Technology

Overview. Design flow. Principles of logic synthesis. Logic Synthesis with the common tools. Conclusions

A GENERATION AHEAD SEMINAR SERIES

APPLICATION NOTE. Gate Count Capacity Metrics for FPGAs. Introduction. Maximum Logic Gates

UG0787 User Guide PolarFire FPGA Block Flow

Using ProASIC PLUS Clock Conditioning Circuits

Constraint Verification

Parallel EEPROM Die Products. Die Products. Features. Description. Testing

Vivado Design Suite User Guide

Mobile Pentium II TM System Clock Chip ICS DATASHEET

FishTail: The Formal Generation, Verification and Management of Golden Timing Constraints

256K (32K x 8) 3-volt Only Flash Memory

Transcription:

Technical Brief Using Synopsys Design Constraints (SDC) with Designer This technical brief describes the commands and provides usage examples of Synopsys Design Constraints (SDC) format with Actel s Designer Series software. SDC is a widely used format that allows designers to utilize the same sets of constraints to drive synthesis, timing analysis, and place-and-route. This document includes information about SDC design objects, timing constraints, and timing exceptions. System Setup Designer versions: R1-2001 and later Both PC and UNIX Designer versions support the SDC constraint format Supported devices: SX-A, ex Understanding and Using SDC with Designer SDC is a Tcl-based format-constraining file. The commands of an SDC file follow the Tcl syntax rules. Designer will accept an SDC constraint file generated by a third-party tool. This file is used to communicate design intent between tools and provide clock and delay constraints. The Synopsys Design Compiler, Prime Time, and Synplicity tools can generate SDC descriptions, or the user can generate the SDC file manually. Generated SDC File There can be slight differences between a user generated SDC file, and SDC files generated by other tools. For example, suppose you write the following constraint: create_clock -period 100 clk The SDC file from Design Compiler generates the same constraint in a different format: create_clock -period 100 -waveform {0 50} [get_ports {clk}] The SDC file from Prime Time generates this constraint in yet another format: create_clock -period 100.000000 -waveform {0.000000\ 50.000000}[get_ports {clk}] As long as constraint syntax and arguments conform to the Tcl syntax rules that SDC follows, Designer will accept the SDC file. Importing an SDC File Importing an SDC file into Designer and compiling the design will allow Timer to build the timing graph and map the constraints. To import SDC into Designer, the procedure is as follows (See Figure 1 on page 2): 1. Invoke Designer. 2. Import the EDIF netlist. From the menu, select File -> Import Netlist. 3. Import the SDC file. From the menu, select File -> Import. Select File Type with extension.sdc, choose the.sdc file to import. 4. Compile and perform Timing-Driven Layout. When Compile and Layout are complete and Timer is invoked, the constraints from the SDC file will be incorporated in the timing of the design and will be reflected in Timer. For more details on using Timer, refer to the Timer User s Guide. Supported Commands and Syntax Design goals, such as performance, determine the types of constraints that can be set in your design. This section lists the SDC access commands and restraints as well as giving usage examples. For the latest supported commands and objects, please see the Designer Release Notes or Designer User s Guide. Design Object Access Commands Most constraint commands require a command argument. Designer supports the SDC access commands shown in Table 1. Table 1 Supported SDC Access Commands Design Object Clock Port Access Command get_clocks get_ports get_clocks returns the named clock with the argument. create_clock -period 10 [get_clocks CK1] get_ports returns the named ports with the argument. set_max_delay -from [get_ports data1] -to [get_ports out1] October 2001 1 2001 Actel Corporation

Figure 1 Importing an SDC File in Designer Timing Constraint Commands Design Constraint command examples are listed in Table 2. Table 2 Supported SDC Constraint Command Constraint Clock Constraint Path Constraint Command create_clock set_max_delay Clock Constraint The create_clock constraint is associated with a specific clock in a sequential design and determines the maximum register-to-register delay in the design. The following is a description of command syntax for specifying a clock: create_clock -period period_value [-name clock_name] [-waveform edge_list] [port_pin_list] period_value (specified in ns) is mandatory. There will be no clock created if the period is not supplied. clock_name is optional. It is unnecessary if port_pin_list contains one name. edge_list is optional and not supported in the current version of Designer. If supplied, it must contain exactly 2 edges. The duty cycle info will then be added to the clock constraint. port_pin_list may contain either zero names or one name. The following are valid and invalid examples of the create_clock command: Valid Command Examples create_clock -period 5 -name CK1 create_clock -period 4 -name CK1 -waveform 0 2 create_clock -period 6 [get_ports CK1] create_clock -period 11 -name CK1 -waveform 0 2 5 7 (valid, but the waveform will be ignored) create_clock -period 2 -name CLOCK [get_ports CK1] (valid, but the name of the clock will be CK1 and not CLOCK) Invalid Command Examples create_clock -period 10 (no name is supplied) create_clock -period 3 [get_ports {CK1 CK2}] (more than one name in the port_pin_list) create_clock -period 7 -name CK [get_ports {CLK11 CLK2}] create_clock clk -name CLK1 -period 20 -waveform 3 13 Effects of the create_clock Constraint The original design has a clock period of 3.13 ns. The revised design is to run with a 2.30 ns period. The following clock constraint is given to Designer: create_clock -period 3 [get_port Clock] Figure 2 on page 3 shows the results obtained after compiling and performing Timing-Driven Layout on the constraint, showing the improvement of register-to-register delay. This design has 0.23 ns of slack on the constrained registers. 2

Figure 2 Post-Layout Timing Examination Showing Slack after Timing-Driven Layout on the Clock Constraint Max Delay Constraint The set_max_delay constraint sets the path delay of the specified ports to a restricted value. The syntax is as follows: set_max_delay [-from from_list] [-to to_list] delay_value from_list is mandatory to_list is mandatory delay_value is specified in ns The following examples give sample command syntax for specifying maximum path delay: Valid commands set_max_delay -from [get_ports data2] -to [get_ports {out1 out2}] 9 Invalid commands set_max_delay -from [get_ports {IN10 IN11}] 5 (the to_list is not supplied) Effects of the set_max_delay Constraint Example 1: Feedthrough signals are hard to constrain because they do not belong to any clock domain. However, the set_max_delay constraint is one way to properly do it. Sample paths are illustrated in Figure 3. The commands to constrain these paths are given below. set_max_delay -from [get_ports A] -to [get_ports Y] 12 set_max_delay -from [get_ports A] -to [get_ports X] 8 set_max_delay -from [get_ports B] -to [get_ports X] 3 A B A to Y: 12ns A to X: 8ns B to X: 3ns Figure 3 Feedthrough Signal Paths Example 2: Design originally has an In-to-Out delay path, Clock->Q<1> = 5.97 ns after standard layout. The designer hopes to set the maximum delay to 5.80 ns. The following set_max_delay constraint was given to Designer: set_max_delay -from [get_ports Clock] -to [get_ports Q<1>] 5.80 The results obtained after compiling and performing a Timing-Driven Layout on the constraint are shown in Figure 4 on page 4. Designer could account for this constraint and set the max delay to 5.80 ns. The actual delay with this constraint for this Clock->Q<1> path is 5.63 ns, with a positive slack of 0.17 ns. X Y 3

Additional Notes Synplify s Synplicity also has provided the SDC forward constraint option, where the synthesis tool writes out this file as well as the synthesized netlist. Actel s Designer can import this SDC file and timing driven place and route can be performed on the design. Limitations Not all object and design constraint commands are supported in Designer. There are limitations on SDC support. Refer to the latest Designer series Release notes for latest supported Object Access, Design Constraints, and Supported Features. Naming Conventions There is no wildcarding; the * and? characters cannot be used in the object names. set_max_delay -from [get_ports data1] -to [get_ports {out1 out2}] 9 (valid) set_max_delay -from [get_ports data*] -to [get_ports out*] 9 (not supported) Object names The timing graphical interface will display the internal Actel port names. While the internal Actel netlist prevents special characters from being used, in the case where the internal name is different from the "user" netlist, there may be discrepancies in the GUI. These could also be different from the names in the SDC files. No Multi-file Support Constraints imported from one SDC file will be discarded if a second SDC file is imported. All constraints must be imported from a single SDC file. Conclusion With the widely used Synopsys Design Constraint (SDC) format integrated into Designer, users have another option to set timing constraints in their design. Actel Designer will take into account these constraints, therefore allowing the same sets of constraints to drive synthesis, timing analysis, and place and route. Results of these constraints and net delays can then be observed by using Timer. Figure 4 In-to-Out delays with set_max_delay Constraints Set 4

Actel and the Actel logo are registered trademarks of Actel Corporation. All other trademarks are the property of their owners. http://www.actel.com Actel Europe Ltd. Maxfli Court, Riverside Way Camberley, Surrey GU15 3YL United Kingdom Tel: +44 (0)1276 401450 Fax: +44 (0)1276 401590 Actel Corporation 955 East Arques Avenue Sunnyvale, California 94086 USA Tel: (408) 739-1010 Fax: (408) 739-1540 Actel Asia-Pacific EXOS Ebisu Bldg. 4F 1-24-14 Ebisu Shibuya-ku Tokyo 150 Japan Tel: +81-(0)3-3445-7671 Fax: +81-(0)3-3445-7668 5192682-0/10.01