You are on page 1of 190

Libero™ Integrated Design

Environment
Actel Corporation
Mountain View, CA – USA

Outline
 Session 1: Introduction to Actel products
Libero IDE overview and design flow
Design entry
 Session 2: Functional simulation
Synthesis
 Session 3: Place & Route
 Session 4: Post-Layout simulation
Programming

Libero™ IDE © 2005 Actel Corp. July, 2005 2

1
Introduction to Actel Products

Actel Commercial Product Spectrum

Markets

Full
Axcelerator
Axcelerator
Featured >500MHz
>500MHz
FPGA

ProASICPLUS
ProASIC PLUS
150MHz
150MHz
Economy ProASIC
ProASIC
FPGA 100
100 MHZ
MHZ
SX-A
SX-A
250
250 MHz
MHz

CPLD
eX
eX
Equivalent
250
250 MHz
MHz

3,000 10,000 100,000 1M 2M


Density

Libero™ IDE © 2005 Actel Corp. July, 2005 4

2
FPGA Technologies Compared

SRAM Flash Antifuse

1T
6T

Best of Both Worlds


Reprogrammable Reprogrammable Nonvolatile
& Nonvolatile

Libero™ IDE © 2005 Actel Corp. July, 2005 5

Flash Product Offering


 Benefits of flash FPGA technology
 Lowest power in its class
 In-system programmable
 Non-volatile
 Single-chip
 Lowest system cost

Product
Product KKGates
Gates Max
MaxI/O
I/O Leading
Leadingfeatures
features

ProASIC
ProASIC 475
475 440
440 ISP,
ISP,2P-RAM/FIFO,
2P-RAM/FIFO,FlashLock,
FlashLock,Mixed
Mixed2.5V/3.3
2.5V/3.3I/O
I/O

ProASICPLUS
ProASICPLUS 1000
1000 712
712 ISP,
ISP,2P-RAM/FIFO,
2P-RAM/FIFO,PLLs,
PLLs,LVPECL,
LVPECL,FlashLock
FlashLock

Libero™ IDE © 2005 Actel Corp. July, 2005 6

3
Antifuse Product Offering
 Benefits of antifuse FPGA technology
 High performance  Secure FuseLock Technology
 Low power  Live at power-up
 Single-chip  Cost effective
 High utilization/100% pin locking  Firm error resistant

Product
Product KKGates
Gates Max
MaxI/O
I/O Leading
Leadingfeatures
features

SX-A
SX-A 108
108 360
360 350MHz,
350MHz,64/66
64/66PCI,
PCI,2.5/3.3/5V
2.5/3.3/5VHot
HotSwap
SwapI/O
I/O

eX
eX 12
12 130
130 Single-chip
Single-chipFPGA
FPGAoffered
offeredat
atCPLD
CPLDdensities
densities

MX
MX 54
54 202
202 Best
Best55volt
voltsolution,
solution,Embedded
Embeddedblock
blockRAM
RAM

RTSX-S
RTSX-S 108
108 205
205 SEU
SEUimmune
immunewith
withbuilt-in
built-inTMR
TMR

Axcelerator
Axcelerator 2000
2000 684
684 500MHz
500MHzcore/FIFO,
core/FIFO,1GHz
1GHzPLL,
PLL,LVDS
LVDSI/O
I/O

Libero™ IDE © 2005 Actel Corp. July, 2005 7

Libero IDE Overview and


Design Flow

4
Libero IDE Overview
 Complete Toolset for Actel FPGA Development
 Project Manager
 ViewDraw Schematic Capture
 Synplify Synthesis
 Testbench Generation
 Mentor ModelSim Simulation
 PALACE Physical Synthesis (Libero Platinum)
 Actel Designer Design Implementation
 Compile, Place & Route
 Timing and Physical Constraints
 Timing Analysis
 Power Analysis
 Back Annotation
 Programming File Generation
 FlashPro Programming Software
 Silicon Explorer Debug Software

Libero™ IDE © 2005 Actel Corp. July, 2005 9

Libero Tool Suite

Design Design Physical


Implementation Verification Implementation
Synplify SynaptiCAD PALACE

•Physical Synthesis
•Integrated • Synthesis • Stimulus
Design ViewDraw ModelSim Actel Designer
Environment AE

•Place & Route


•Schematic Capture •Simulation
FlashPro
Actel Actel

• ACTgen •Programming
• Silicon Explorer
Macro builder Debugger

Libero™ IDE © 2005 Actel Corp. July, 2005 10

5
Libero Project Manager Features
 Centrally Manages and Integrates Files and Tools
 Coordinates Project Information between Tools
 e.g., Family Is Selected Once and Communicated to All Tools
 Provides Seamless Piping of Internal Design Files among Tools
 From within Libero’s Project Manager, User Can Invoke Tools for:
 Design Entry
 Stimulus Generation
 Simulation
 Synthesis
 Design Implementation and Static Timing Analysis

Libero™ IDE © 2005 Actel Corp. July, 2005 11

Libero IDE Project Manager


Design Explorer Window
 Design Hierarchy Tab Displays
Hierarchical Representation of
Source Files in Project
 Libero Continuously Analyzes
and Updates Hierarchy
 File Manager Tab Displays All
Files in Project Grouped by
Type Design
Explorer HDL pane
Language-Sensitive HDL Editor Window
 Verilog 95 or VHDL 93
Tools Can Be Launched from
Design Flow Window or Process
Window
Log Windows Provide Status
and Error Messages Log Window Error Manager

Status Bar

Libero™ IDE © 2005 Actel Corp. July, 2005 12

6
Libero IDE Design Flow Window
 Flow Window
Displayed in HDL
Pane
 Tabs Switch
between Flow
Window and HDL
Window

Libero™ IDE © 2005 Actel Corp. July, 2005 13

Libero IDE Design Flow Window

Step-by-Step design flow decreases design development time


Current state of design
 Design Flow
Window Displays:
 Tools
 Files
 Transitions
 Current State
 Tool Tips
 Interactive Blocks
 Activates Tools
 View Files
 Display changes
dynamically based
on target family

Libero™ IDE © 2005 Actel Corp. July, 2005 14

7
File Status of Displayed Items
 Group of Files Can Be …
 … Missing
 If ANY Are Missing, Block Is Shadowed Out
 … Available and Current
 Green Check Mark Is Shown
 … Available, but Not Current
 If at Least One is Not Current, Warning Icon Is Displayed

Synthesis Synthesis Source Modified –


Incomplete Complete EDIF Netlist not
current
Libero™ IDE © 2005 Actel Corp. July, 2005 15

Tool States
 Disabled => Button Is Shadowed
 White => Available, but Not Yet Used
 Green => Completed Successfully
 Red => Error in Running Tool

Synthesis Synthesis
Succeeded Failed

Libero™ IDE © 2005 Actel Corp. July, 2005 16

8
Libero IDE View Options
 Displayed Windows Turned On or Off Using Libero “View” Menu

Libero™ IDE © 2005 Actel Corp. July, 2005 17

Libero Log Window Error Manager


 Error Manager Consists of 4 Tabs in Log Window:
 All: Displays All Messages
 Errors: Displays Error Messages
 Warnings: Displays Warning Messages
 Info: Displays Information Messages
 Default Colors:
Click in window to
 Red => Errors clear or copy text
Right
 Blue => Hyperlinks Mouse
Click!
 Light Blue => Warnings

Icon appears next


to each message

Libero error manager tabs


Libero™ IDE © 2005 Actel Corp. July, 2005 18

9
Libero Software Updates
 Manually Check for Software Updates from Help Menu
 Configure Libero to Automatically Check for Software Updates from
Preferences Tab (File > Preferences)

Libero™ IDE © 2005 Actel Corp. July, 2005 19

Libero IDE New Project Wizard


 Menu-Driven Wizard
Use Browse button to change
 File > New Project project location
 Status Guide Shows Current
State
 All Fields Must Be Filled in to
Continue
 HDL Type Must Be Consistent
with License
 Next Button Goes to Next
Wizard Screen
 Finish Button Finishes/Closes
Wizard after Making Changes.
Saves All Selections.

Libero™ IDE © 2005 Actel Corp. July, 2005 20

10
Libero IDE New Project Wizard: Select Device
 Select Family
 After Family Is Selected,
Devices from that Family Are
Displayed
 After Device Is Selected,
Available Packages for that
Device Are Displayed

Libero™ IDE © 2005 Actel Corp. July, 2005 21

Libero IDE New Project Wizard: Select Tools


 Synthesis
 Vendor (e.g. Synplify)
 Version

 Physical Synthesis
 PALACE
 Version
 Testbench Generation
 WaveFormer Lite
 Select Version

 Simulation
 ModelSim
 Select Version

 Support for Mentor Graphic’s


LeonardoSpectrum and Precision
 Standard Tools Direct from Mentor
 No Actel OEM Versions
 Licensing and Technical Support
Directly from Mentor

Libero™ IDE © 2005 Actel Corp. July, 2005 22

11
Libero IDE New Project Wizard: Add Files
 Add Existing Design Files to Project
 Schematics, Symbols, HDL (VHDL or Verilog), Stimulus (VHDL or
Verilog), ACTgen Macros or EDIF Netlists

Browse to file location

Select file type

Libero™ IDE © 2005 Actel Corp. July, 2005 23

Libero IDE New Project Wizard: Finish


 Project Information Listed in Dialog Box
 Click “Finish” to Complete Project Creation or “Back” to Make
Corrections or Additions

Project summary
shown in window

Libero™ IDE © 2005 Actel Corp. July, 2005 24

12
Organization of Libero Project Files

Default folder for


Libero projects

Libero project file

Libero™ IDE © 2005 Actel Corp. July, 2005 25

Libero IDE Project Startup


 Default Operation
 Upon Launch of Libero, Most Recent
Project Is Opened
 If No Project in Most Recently Used
List, Libero Launches the New
Project Wizard

 Default Controlled in Startup


Properties
 Choose “Preferences” under “File”
Menu
 Choose “Startup” Tab
 Check or Uncheck “Open the most
recently used project at startup”

Libero™ IDE © 2005 Actel Corp. July, 2005 26

13
Libero Project Manager: Design Implementations
 Create Project Variations
 Save Different Project Views for Comparison
 Requires .adb file, Back-annotated File, Programming/Debugging
File, or Post-layout Simulation Folder

Libero™ IDE © 2005 Actel Corp. July, 2005 27

Libero Project Manager: Design Implementations


 Add, Rename or remove design implementations

Libero™ IDE © 2005 Actel Corp. July, 2005 28

14
Libero Project Manager: Design Implementations
 Implementations
 Making Changes in Current View Can Change State of Project
 Pre-Synthesis
 Post-Synthesis
 Post-Physical Synthesis
 Affects All Other Views

 Changing Implementation Files for Current View Does Not Affect


Other Views

Libero™ IDE © 2005 Actel Corp. July, 2005 29

Importing Files
 File -> Import Files
 Existing Design Files Can Be Imported into Libero Project
 Schematics, Symbols, HDL (VHDL or Verilog), Stimulus (VHDL or Verilog),
ACTgen Macros, EDIF Netlists, SDC Files, Constraint Files, Tool Profiles
 Constraint Files NOT Automatically Sent to External Tools

Select file type from


pull-down menu Schematics (*.[1-9]*)
Symbols (*[1-9]*)
Vhdl Sources (*.vhd, *.vhdl)
Vhdl Package Files (*.vhd, *.vhdl)
ACTgen Macros (*.gen)
Stimulus Files (*.vhd, *.vhdl)
Edif Netlists (*.edn)
SDC file (*.sdc)
Gatefield Constraint files (*.gcf)
Tool Profiles (*.ini)
Libero™ IDE © 2005 Actel Corp. July, 2005 30

15
Import Files: File Manager Tab
 Files Can Also Be Imported from File Manager Tab
 Click on File Type and Select Import

Right
Mouse
Click!

Libero™ IDE © 2005 Actel Corp. July, 2005 31

Deleting Files from Libero Project


 Files Can Be Deleted from Project and from HDD
 Files Deleted from HDD Cannot Be Recovered!

Right
Mouse
Click!

Libero™ IDE © 2005 Actel Corp. July, 2005 32

16
Design Hierarchy Tab: Block Properties
 Block Properties Dialog Box Displays File Path, Date
Created and Last Modified Date

Right
Mouse
Click!

Libero™ IDE © 2005 Actel Corp. July, 2005 33

Libero Project Manager


Include Modules for Simulation
 Libero Only Passes Top-level Source-related Modules to
Simulation
 If Other Source Modules Are Required for Simulation,
Check Box on File Properties

Check to include file in


simulation

Libero™ IDE © 2005 Actel Corp. July, 2005 34

17
Unknown Hierarchy
 Libero Displays Files in “Default
Configuration” Tree
 Missing Files Indicated with “?”
 When Libero Cannot Determine
Hierarchy, Files Are Shown with “X”
under Unknown Hierarchy on Design
Hierarchy Tab
 Files also Shown with “X” on File
Manager Tab
 Examine these Files to Correct Problem
or Remove File from Project

Libero™ IDE © 2005 Actel Corp. July, 2005 35

Package Files
Compile Order
 Package Files Displayed on Libero
IDE File Manager Tab
 VHDL Packages
 Verilog Include Files
 Use Package Files Order Window to
Indicate if Packages Are for
Simulation, Synthesis or Both and to
Set Compile Order
 Use Up or Down Arrows to Change
Compile Order
 Check Boxes to Compile Packages
for Simulation, Synthesis, or Both
 Select Options => Package Files
Organization, or Right Click in
Design Hierarchy Window

Libero™ IDE © 2005 Actel Corp. July, 2005 36

18
Libero Project Manager
Find Module
 To find Module in a Hierarchy, click Find Module Icon on
Tool bar, or Click Edit/Find Module

Libero selects and displays the


found module

Libero™ IDE © 2005 Actel Corp. July, 2005 37

Find in Files
 Edit => Find in Files, or Toolbar
Icons
 Search for Files, Words, etc
 Specify by File Types
 Specify where to Search
 Match Whole Word
 Match Case
 Regular Expression
 Results Shown in “Find in Files” Tab
in Log Window

Libero™ IDE © 2005 Actel Corp. July, 2005 38

19
Find in Files
Cross Probing
 Selecting File Name Presented in Find in Files Log Window …
 … Opens Selected File in Libero Text Editor
 … Highlights Match

Libero™ IDE © 2005 Actel Corp. July, 2005 39

Libero IDE Project Settings


 Users can change device and specify simulation and programming options
 Options > Project Settings

 Device - change FPGA die or


package
 Simulation - specify simulation
options
 “Compile VHLD Package Files”
option is on by default
 Programming – specify location of
programming file and software

Libero™ IDE © 2005 Actel Corp. July, 2005 40

20
OEM Tools Support
Tool Profiles
 Create or Edit Tool Profile for Project
 Options > Profiles
 Select Third-Party Tools & Versions
 Synthesis
Vendor (e.g. Synplify)
Version
 Physical Synthesis
PALACE
Version
 Simulation
ModelSim
Select Version
 Testbench Generation
WaveFormer Lite
Select Version
 Name Profile and Save
 Edit or Add Profiles As Needed

Libero™ IDE © 2005 Actel Corp. July, 2005 41

Add / Edit Tool Profiles


 Add/Edit Profile Requires
 … Name of Profile
 … Choosing Tool
 From Drop-down Menu
 Choose Version

 … Choosing Tool Location


 Browse for Location
 Specify Location

Libero™ IDE © 2005 Actel Corp. July, 2005 42

21
Profile Conflict
 Occurs when Current Profile
Settings Are Different from those
of Previous Project that is
Opened
 May Have Newer Version
Selected when Opening Project
Created with an Older Version

Libero™ IDE © 2005 Actel Corp. July, 2005 43

Libero IDE
Other Features
 Save Project to Different Name
 “Save-As” Enables Saving Project
with Different Name and/or in
Different Location
 Text Editor Selection
 Use Libero IDE Text Editor or
External Text Editor
 File > Preferences Text Editor Tab
 Drag-Drop
 Dragging and Dropping Libero .prj
File in Libero Window Opens
Project File

Enter location of
external text editor
if selected

Libero™ IDE © 2005 Actel Corp. July, 2005 44

22
Libero IDE Online Help
 HTML-based Help System
 Help Available for Error Messages,
Specific Screens and Menus
 Expanded Content

 Hyperlinks to Application Notes and


Actel Web Pages
 Help Menu Provides Direct Access to
All Libero PDF Reference Manuals

Libero™ IDE © 2005 Actel Corp. July, 2005 45

Design Entry

23
Design Entry
 Libero Supported Design Flows
 Structural Schematic Flow
 Mixed-Mode Flow
 HDL Flow
 ACTgen Macro Builder
 ViewDraw Overview
 Schematic Design Entry Tool

Libero™ IDE © 2005 Actel Corp. July, 2005 47

Libero Design Flows

24
Libero Design Flows
 Structural Schematic Flow
 Contains only Actel ViewDraw Library Components or Mix of Actel
ViewDraw Library Components and Structural HDL
 Top Level Must Be Schematic!
 Synthesis Optional before Layout
 Mixed-Mode Flow
 Schematic and RTL Blocks
 May also Contain Structural HDL Blocks
 Top Level Must Be Schematic!
 Synthesis Required before Layout
 HDL Flow
 VHDL or Verilog (not both)
 May Contain Structural Blocks

Libero™ IDE © 2005 Actel Corp. July, 2005 49

ACTgen Macro Builder

25
ACTgen Macro Builder
 Create Macro
Functions from
User’s Parameters
 Optimized for Actel
Architecture
 High Speed
 Small Area
 Rule-based
Generation
Guarantees
Functional Accuracy
 Outputs:
 VHDL - Behavioral
and Structural
 Verilog -
Behavioral and
Structural

Libero™ IDE © 2005 Actel Corp. July, 2005 51

Using ACTgen within Libero


 ACTgen Macros Can Be Used in …
 … Structural Schematic flow
 … Mixed-mode Flow
 … HDL Flow
 Steps:
 Launch ACTgen from Libero IDE Project Manager
 Create HDL Structural Implementation
 VHDL or Verilog
 HDL Flow
 Instantiate Macro in Top-level RTL
 Structural Schematic and Mixed-mode Flows
 Create ViewDraw Symbol from Libero
 instantiate Symbol in Schematic

Libero™ IDE © 2005 Actel Corp. July, 2005 52

26
Launching ACTgen from Libero

ACTgen icon

Libero™ IDE © 2005 Actel Corp. July, 2005 53

ACTgen User Interface

Core
Version # details

Shows Categories
Based on Selected
Family
View by category Version of selected or
or alphabetically configured core

View selected and


configured cores for
project

Libero™ IDE © 2005 Actel Corp. July, 2005 54

27
ACTgen Alphabetical Browse

Libero™ IDE © 2005 Actel Corp. July, 2005 55

ACTgen Browse by Family

Libero™ IDE © 2005 Actel Corp. July, 2005 56

28
ACTgen
Counter Example

1. Choose
Function

2. Select type
and variation

Libero™ IDE © 2005 Actel Corp. July, 2005 57

ACTgen
Counter Example

3. Enter width

4. Complete the
rest of the
description

Optional Fan-In
Control
5. Click Generate

Libero™ IDE © 2005 Actel Corp. July, 2005 58

29
ACTgen Buffering Control

 Users Can Control Buffering


in ACTgen Macros
 Control Net Loading or
Eliminate Buffering

Libero™ IDE © 2005 Actel Corp. July, 2005 59

Component Generation

Macro name

Output format
Generate
behavioral VHDL
or Verilog

Files appear on
Libero File Manager
tab

Libero™ IDE © 2005 Actel Corp. July, 2005 60

30
Structural Schematic Designs

Structural Schematic Design Flow

Design Capture

Generate Pre-Layout
Structural Netlist Simulation

Place & Route

Post-P&R Simulation Programming

Libero™ IDE © 2005 Actel Corp. July, 2005 62

31
Design Capture

Design Capture

Generate Pre-Layout
Structural Netlist Simulation

Place & Route

Post-P&R Simulation Programming

Libero™ IDE © 2005 Actel Corp. July, 2005 63

ViewDraw Overview

Schematic Design Entry Tool

32
ViewDraw
Features
 Powerful Editing Capabilities
 Simple, Push-Button GUI Enables Rapid Design Input
 Infinite Undo/Redo
 Dynamic Pan and Autoscroll
 Automatic Connection of Abutting Pins
 Rubber Banding of Connected Nets with Dynamic Redraw

 Flexible and Customizable


 Designers can Add, Delete, or Reorder Items in Menu System
 Commands Can Also Be Entered via Function Keys or CLI
 Selectable Display Styles for Lines, Fill Patterns, Bus Widths

Libero™ IDE © 2005 Actel Corp. July, 2005 65

ViewDraw
Additional Features
 ViewDraw AE can read
 EPD 2.0 and 3.0
 Generated schematics
 Schematic files
 Outputs in ViewDraw format

 ViewDraw can now co-exist/co-install with ePD


 Customers can switch back and forth between ViewDraw and ePD
tools easily

Libero™ IDE © 2005 Actel Corp. July, 2005 66

33
Invoking ViewDraw
 Launch ViewDraw from Libero.
 Create Schematic
 Save and Check

Right
Mouse
Click!

Libero™ IDE © 2005 Actel Corp. July, 2005 67

ViewDraw

Save+Check
Command
Window

Insert
Component
Zoom
Net Functions
and Bus
Connection
Push
symbol
or
schematic
Drawing
Tools

Libero™ IDE © 2005 Actel Corp. July, 2005 68

34
Inserting ViewDraw Components
 Add -> Component
Enter component name

Select Directory
• Project directory
•Actel cells
•ViewDraw builtin

Component appears here


•Drag and drop into
schematic

Libero™ IDE © 2005 Actel Corp. July, 2005 69

Adding Schematic Border


 Built-in Library Contains Several Sheet Border Templates
 Templates Can Be Modified

Enter sheet name (asheet, bsheet, etc.)

Select built-in library

Drag and drop


into schematic

Libero™ IDE © 2005 Actel Corp. July, 2005 70

35
ViewDraw Border in Schematic

Libero™ IDE © 2005 Actel Corp. July, 2005 71

Customizing a Schematic Border


 Border Template Can Be Customized
 Open Border (File > Open)
 Select Symbol from “Type” Menu

Select built-in library

Select Symbol

Libero™ IDE © 2005 Actel Corp. July, 2005 72

36
Customizing a Schematic Border (cont.)
 Save File to New Name
 (File > Save Copy As <name>)
 Border Saved in Project Library Enter new sheet name
 Visible on Libero File Manager Tab

Select project library

Select Symbol

Libero™ IDE © 2005 Actel Corp. July, 2005 73

Customizing a Schematic Border (cont.)


 Open Saved Border and Edit (File > Open)
 Add Lines, Arcs, Text, etc. as Necessary

Modified border visible


on File Manager tab

Libero™ IDE © 2005 Actel Corp. July, 2005 74

37
Adding Schematic Components
 Add > Component from ViewDraw Menu
 Add ACTgen Macros, Custom Macros or Actel Basic Cells
 Select VCC or GND from ‘actelcells’

Enter cell name

Select cell library

Drag and drop


into schematic

Libero™ IDE © 2005 Actel Corp. July, 2005 75

Drawing Wires and Busses


Adding a Net
 To Add Net:
 Choose Add > Net (or Add > Bus)
 Alternate: Click Wire ( ) or Bus ( ) Icon on Toolbar
 Specify Net Origination Point and Depress Left Mouse Button
 Drag Mouse to Form Net (or Bus), specifying Points along Net
by Clicking Right Mouse Button
 Click Right Mouse Button to Insert Vertex in Net
 Release Left Mouse Button to Specify Ending Point for Net

Libero™ IDE © 2005 Actel Corp. July, 2005 76

38
Adding I/O Cells

 Add I/O Cells to Top-level Design Schematic


 Schematic-only Designs or Structural Schematic Designs
 Macros Contained in “actelcells” Component Library
 I/O Cells Must Have Dangling Hierarchical Connector
Attached to Pad Side
 Label Dangling Connector
 I/O Macros Can Be Buried in Hierarchy

Add and label Add and label Add and label


this net this net this net

Libero™ IDE © 2005 Actel Corp. July, 2005 77

Hierarchical Connectors
 Use Hierarchical Connectors from ViewDraw Built-in
Library for All Designs
 Add just like Any Other Component
 Same Connector for Wire or Bus
 Called ‘in’, ‘out’, or ‘bi’ in Built-in Library
 Label Net or Bus Next to Connector

add label to net add label to bus add label to net

Libero™ IDE © 2005 Actel Corp. July, 2005 78

39
ViewDraw Attributes
 A Limited Number of Attributes Can Be Entered into
Schematic and Passed to Designer
 $Array Attribute
 Creates Arrays of Cells in Schematic
 Useful for I/O Buffers
 Double-click Cell, Enter on Attribute Tab

Libero™ IDE © 2005 Actel Corp. July, 2005 79

Design Rule Checking


 At Design Entry Completion , Save
and Check Design
 Click Save Check Icon
 Use Tools > Schematic Checker

Viewdraw Status Bar:

Libero™ IDE © 2005 Actel Corp. July, 2005 80

40
Design Entry Completion
 Files in Implementation Are Displayed on Libero Design
Hierarchy and File Manager Tabs

Schematic

Libero™ IDE © 2005 Actel Corp. July, 2005 81

ViewDraw File Structure on HDD


 Schematic Files Saved in “sch” Folder
 Symbol Files Saved in “sym” Folder
 Wire Files Saved in “wir” Folder
 Files Visible on Libero File Manager Tab

Libero™ IDE © 2005 Actel Corp. July, 2005 82

41
Opening Existing Schematics

Right
Mouse
Click!

Libero™ IDE © 2005 Actel Corp. July, 2005 83

Completed Schematic

Input buffers Actel library components Output buffer


Hierarchical Hierarchical

connectors connector

Libero™ IDE © 2005 Actel Corp. July, 2005 84

42
Libero Schematic Checker (Optional)

 Schematic Connectivity Checker in Libero


 Checks for Errors Not Included in ViewDraw Save + Check
 Optional Step Available from File Manager Tab

Right
Mouse
Click!

Libero™ IDE © 2005 Actel Corp. July, 2005 85

Structural Schematic Flow


Using ACTgen Macros
 Launch ACTgen from Libero Project Manager
 Create HDL Structural Implementation
 VHDL or Verilog
 Create ViewDraw Symbol from Libero and Instantiate Symbol in
Schematic
 Symbol Visible on File Manager Tab

Symbol

Right
Mouse
Click!

Libero™ IDE © 2005 Actel Corp. July, 2005 86

43
Mixed-Mode Designs

Mixed-Mode Design Flow

Design Capture

Simulation Synthesis Post-Synthesis Simulation

Place & Route

Post-P&R Simulation Programming

Libero™ IDE © 2005 Actel Corp. July, 2005 88

44
Design Capture

Design Capture

Simulation Synthesis Post-Synthesis Simulation

Place & Route

Post-P&R Simulation Programming

Libero™ IDE © 2005 Actel Corp. July, 2005 89

Mixed Mode Design Entry

 Mixed Mode => RTL Blocks within Schematic


 HDL Blocks Can Be Structural or Behavioral RTL
 RTL Blocks Can Be VHDL or Verilog (But Not Both)
 Top Level Must Be Schematic
 Procedure
 Create HDL Blocks
 RTL Blocks - Use HDL Editor or Import Existing Design Files
 Structural Blocks - Use HDL Editor or ACTgen
 Create ViewDraw Symbols for HDL Blocks
 Done Automatically from Libero Design Flow Manager
 Instantiate Blocks in Schematics and Make Interconnects
 Use Hierarchical Connectors from ViewDraw “built-in” Library for HDL
Ports in Schematic

Libero™ IDE © 2005 Actel Corp. July, 2005 90

45
RTL or ACTgen in Mixed-Mode Flow
 Create RTL from Libero HDL Editor or Import File
OR
 Create HDL Structural Implementation using ACTgen
 VHDL or Verilog
 Create ViewDraw Symbol from Libero Instantiate Symbol in
Schematic
 Symbol Appears on File Manager Tab

Symbol

Right
Mouse
Click!

Libero™ IDE © 2005 Actel Corp. July, 2005 91

Mixed Mode Schematic

Libero™ IDE © 2005 Actel Corp. July, 2005 92

46
Synthesize
 Optional for Pure Schematic or Structural Schematic Flows
 All HDL Blocks Are Structural VHDL or Verilog (e.g., ACTgen Blocks)
 Required for Mixed-mode Designs
 Designs Containing RTL Blocks

 Libero Launches Synplicity to Insert Pads and Optimize Design


 Hierarchical Connectors Must Be Used
 Structural Schematics with All Pads Instantiated Can Go Directly to
Designer Tool

Synthesize

Libero™ IDE © 2005 Actel Corp. July, 2005 93

HDL Designs

47
HDL Design Flow

Design Capture

Simulation Synthesis Post-Synthesis Simulation

Place & Route

Post-P&R Simulation Programming

Libero™ IDE © 2005 Actel Corp. July, 2005 95

Design Capture

Design Capture

Simulation Synthesis Post-Synthesis Simulation

Place & Route

Post-P&R Simulation Programming

Libero™ IDE © 2005 Actel Corp. July, 2005 96

48
Creating New HDL Macros

Libero™ IDE © 2005 Actel Corp. July, 2005 97

HDL Editor

Libero™ IDE © 2005 Actel Corp. July, 2005 98

49
HDL Editor
Block Comments
 Comment and Uncomment Command Allows Users to
Comment or Uncomment Sections of VHDL or Verilog Code

Libero™ IDE © 2005 Actel Corp. July, 2005 99

HDL Editor
Detect Changes
 If File Is Open in Libero HDL Editor and Modified by
another Text Editor, Warning Is Issued

Warning
message in
Libero log
window

Libero™ IDE © 2005 Actel Corp. July, 2005 100

50
Libero HDL Syntax Checker
 HDL Syntax Checker Available from File Manager Tab
 Checks for Errors in HDL Blocks
 Errors Indicated in Libero Log Window
 Optional Step

Right
Mouse
Click!

Libero™ IDE © 2005 Actel Corp. July, 2005 101

Project Manager with Saved Files...

VHDL file

Libero™ IDE © 2005 Actel Corp. July, 2005 102

51
Functional Simulation

Design Capture

Simulation Synthesis Post-Synthesis Simulation

Place & Route

Post-P&R Simulation Programming

Libero™ IDE © 2005 Actel Corp. July, 2005 103

Simulation Flow
 For Each Block You Want to Simulate . . .

Generate stimulus Export Testbench View Waveforms

Associate Stimulus

Invoke simulator

Compile and Run


the simulation

Libero™ IDE © 2005 Actel Corp. July, 2005 104

52
Invoking WaveFormer Lite

Right
Mouse
Click!

or

Double
Click!

Libero™ IDE © 2005 Actel Corp. July, 2005 105

WaveFormer Lite Features

 Allows Convenient Test Stimulus Specification via GUI


 User Specifies Stimulus by Drawing Waveforms
 Supports Copy / Paste / Append Operations
 Significantly Reduces TestBench Creation Time
 Automatically Converts Graphical Stimulus Files into HDL
TestBenches
 Can Generate:
 VHDL Testbench (*.vhd)
 Verilog Testbench (*.v)

 Users Can Annotate Waveform For Design Documentation

Libero™ IDE © 2005 Actel Corp. July, 2005 106

53
Drawing the Stimulus
 WaveFormer Lite Diagram Window

Bus value controls


Signal level controls Zoom controls

Cursor
location

inputs

Libero™ IDE © 2005 Actel Corp. July, 2005 107

Creating Clocks

Double
Clock name
Click!
Clock
frequency

Clock
duty
cycle

Start high
or low

Libero™ IDE © 2005 Actel Corp. July, 2005 108

54
Creating Clocks

Libero™ IDE © 2005 Actel Corp. July, 2005 109

Drawing Signals

State button toggles automatically


Select “low” state button

Align courser and click!


Use zoom controls to make viewing easier

Libero™ IDE © 2005 Actel Corp. July, 2005 110

55
Drawing Signals
Edge Placement

Enter time for edge placement Double click at end of signal

Libero™ IDE © 2005 Actel Corp. July, 2005 111

Editing Signals

Libero™ IDE © 2005 Actel Corp. July, 2005 112

56
Drawing Busses

Double click “VAL” state button

Double
Click!

Libero™ IDE © 2005 Actel Corp. July, 2005 113

Editing Signals
Appending and Inserting

Copy of waveform
is inserted!

Libero™ IDE © 2005 Actel Corp. July, 2005 114

57
Copying to a Different Signal
 Signal Can Be Copied

Copy of waveform
is inserted!

Libero™ IDE © 2005 Actel Corp. July, 2005 115

Reactive Test Bench:


Stimulus and Expected Response
 Draw stimulus waveforms on the input ports of the model
under test.
 Draw expected response waveforms on the output ports of
the model under test

Libero™ IDE © 2005 Actel Corp. July, 2005 116

58
Reactive Test Bench:
Samples
 Samples Verify MUT Output
 Sample constructs can monitor and perform actions based on the
data sampled
 Sample can work at a single point or over a windowed area
 Sample can perform relative to the beginning of the transaction or
relative to another event in the diagram.

Libero™ IDE © 2005 Actel Corp. July, 2005 117

Reactive Test Bench:


Control & Looping
 Markers used for Control & Looping Sections of
Transactions
 Specify the end of the transaction
 Create loops using for, while, and repeat loop markers
 Insert HDL code

Libero™ IDE © 2005 Actel Corp. July, 2005 118

59
Reactive Test Bench:
Variables
 Variables Parameterize State Values
 Variables can drive values on stimulus waveforms
 Variables can store values on expected waveforms
 Waveform states can be expressed as conditional expressions
using variables

Libero™ IDE © 2005 Actel Corp. July, 2005 119

Reactive Test Bench:


Delays
 Delays Parameterize Time Values
 Delays represent the time between two edges in the diagram
 Specify min and max values
 Delay values can be time or cycle-based
 Conditionally control when edges occur

Libero™ IDE © 2005 Actel Corp. July, 2005 120

60
Reactive Test Bench:
Help Resources
 Online Manual: Under the Help menu choose Reactive
Test Bench Generation to open the help
 PDF Manual: Under the SynaptiCAD install directory there
is a subdirectory called Help with Reactive_test
bench_Generation_Option.pdf
 SynaptiCAD’s website: www.syncad.com

Libero™ IDE © 2005 Actel Corp. July, 2005 121

Saving Stimulus
 Save Stimulus
File > Save
 File Name May Contain Name of Top-level Module
 Stimulus Appears on Libero File Manager Tab

Libero™ IDE © 2005 Actel Corp. July, 2005 122

61
Generating the Testbench
 Select Export from WaveFormer Lite Menu
 WaveFormer Lite Has Many Export Options
 Recommendations
 VHDL Testbench - Select “VHDL with Top Level Testbench”
 Verilog Testbench - Select “Verilog with Top Level Testbench”

Libero™ IDE © 2005 Actel Corp. July, 2005 123

Waveform and Testbench

Stimulus and testbench


appear on File Manager
tab in Libero

stimulus
testbench

Libero™ IDE © 2005 Actel Corp. July, 2005 124

62
ModelSim AE

Libero™ IDE © 2005 Actel Corp. July, 2005 125

ModelSim AE
 Same Functionality as ModelSim PE
 Windows 98, Win NT, Win 2000 or Win XP
 Node-Locked
 VHDL or Verilog

 Reduced Performance
 No Co-simulation (VHDL and Verilog) Capability
 Limited to Simulation of Actel’s Gate-level Libraries
 Supported through Actel

Libero™ IDE © 2005 Actel Corp. July, 2005 126

63
ModelSim User Interface

TCL/TK User
Interface
TCL Scripting
Source Level
Debug
Debug
Windows

Waveform
Display

Data linked to
cursor

Libero™ IDE © 2005 Actel Corp. July, 2005 127

ModelSim Windows
 There Are Nine Windows
 Main, Structure, Source, Signals, Process, Variables, Dataflow,
Wave, & List Windows
 Additional Window Features
 Drag & Drop
 HDL Items Can Be Dragged from Dataflow, List, Signals, Source,
Structure, Variables, and Wave Windows …
 … And Dropped into either List or Wave Window
 Automatic Window Updating

Libero™ IDE © 2005 Actel Corp. July, 2005 128

64
ModelSim Main Window

Menu Bar Tool Bar (Break, Run,


Cont, Step, and Step Over)

Design Hierarchy

Status Bar (current time, TCL Interpreter


delta time step, environment) ModelSim> prompt before design is loaded.
VSIM> prompt is displayed after design is loaded

Libero™ IDE © 2005 Actel Corp. July, 2005 129

Structure Window
 Hierarchical View of Design
Structure
 VHDL (Squares) – Package,
Component Instantiation,
Generate and Block Statements
 Verilog (Circles) – Module
Instantiation, Named fork,
Named begin, task, and
function
 Instantiation Label,
entity/module,
architecture
 Becomes Current Region for
Source and Signals Window,
Updates Process and Variables
Window

Libero™ IDE © 2005 Actel Corp. July, 2005 130

65
Signals Window
 Follows Structure Window
 Shows Names and Values of HDL Items in Current Region of
Structure Window
 Items Can Be Sorted in Ascending, Descending or
Declaration Order
 Hierarchy (+) Expandable
 VHDL Items - Signals
 Verilog Items - Nets, Register Variables
 Named Events
 “Drag & Drop”
 Wave & List windows
 Force Apply Stimulus
 Filter Signal Types (input,output etc)
 Find HDL Items

Libero™ IDE © 2005 Actel Corp. July, 2005 131

Source Window
 Selected from Structure Window
 Color-coded Comments, Keywords, Strings, Numbers, Executable
Lines, Identifiers, System Tasks, Text
 Full Edit Capability
 Save, Compile and Restart
 Drag and Drop
 Describe
 Examine

Libero™ IDE © 2005 Actel Corp. July, 2005 132

66
Wave Window
Multiple Cursors
Virtuals
Drag & Drop Multiple Panes

Zooming

Simulation Control Item formatting Cursor


Measurements

Libero™ IDE © 2005 Actel Corp. July, 2005 133

Creating Busses in Wave Window


 Scalar Signals Can Be Combined into Vectors

Libero™ IDE © 2005 Actel Corp. July, 2005 134

67
Saving Wave Data
 Signals Added to Wave Window Can Be Saved for Future
Simulation Runs
 File > Save Format from Wave Window

Libero™ IDE © 2005 Actel Corp. July, 2005 135

Saving Wave Data (cont.)


 Enter File Name in Save Format Dialog Box
 Enter Name on Libero Simulation Tab to Include Signals in Future
Simulation Runs

Enter file name

Libero™ IDE © 2005 Actel Corp. July, 2005 136

68
Wave Log Files (Datasets)
 Wave window waveforms can be saved as a Wave Log File
(.wlf) for importing into other simulations.
 File > Save Dataset in Wave window

Libero™ IDE © 2005 Actel Corp. July, 2005 137

Wave Log Files (cont.)


 Enter file name in Save Dataset dialog box

Enter name

Libero™ IDE © 2005 Actel Corp. July, 2005 138

69
Opening Datasets
 Any number of Datasets can be opened for viewing or
comparing to the current simulation
 File > Open > Dataset (Main Window)
 File > Open Dataset (Wave Window)

Libero™ IDE © 2005 Actel Corp. July, 2005 139

Opening Datasets (cont.)

Click to browse for dataset

Select file and click open

Libero™ IDE © 2005 Actel Corp. July, 2005 140

70
Opening Datasets (cont.)
 Open dataset is displayed on a new tab in the ModelSim
Main Window workspace.

Tab for dataset “gold”

Libero™ IDE © 2005 Actel Corp. July, 2005 141

Adding Datasets to Wave Window


 Dataset signals can be added to the Wave window
 Select appropriate tab in workspace then use Structure and Signals
windows
 Visually compare simulation results

Libero™ IDE © 2005 Actel Corp. July, 2005 142

71
Adding Datasets to Wave Window (cont.)

Signals
from
dataset
“gold”

Libero™ IDE © 2005 Actel Corp. July, 2005 143

Managing Datasets

 Multiple Datasets can be managed with the Dataset


browser
 View > Datasets from Main Window
 Options:
 Open, Close, Make Active, Rename

Libero™ IDE © 2005 Actel Corp. July, 2005 144

72
Process Window
 View Active
 Displays All Processes Scheduled to Run during Current
Simulation Cycle
 View In Region
 Displays any Processes that Exist in Region Selected in Structure
Window
 Process State
 Ready, Wait, Done
 Window Update
 Show Region in Structure Window
 Points to Source Lines
 Shows Variables in Process
 Displays Process in Dataflow

Libero™ IDE © 2005 Actel Corp. July, 2005 145

Variables Window
 Lists Names of HDL Items in Current Process
 VHDL - Constants, Generics and Variables
 Verilog - Register Variables
 Tree Hierarchy - (+) Expandable, (-) Expanded
 Sort
 Ascending, Descending
 Declaration Order
 Change Value of Selected HDL Item
 Find
 Forward or Reverse Search
 Drag & Drop
 Wave or List Windows or Log File

Libero™ IDE © 2005 Actel Corp. July, 2005 146

73
DataFlow Window

Explore physical connectivity of design


 Displays processes, signals,
nets and registers
 Links to Main, Process,
Signals, Wave and Source
windows
 Find feature allows searching
for signal, net or register
names

Libero™ IDE © 2005 Actel Corp. July, 2005 147

Dataflow Window
ModelSim AE Simulator
 The ModelSim AE simulator has a limited Dataflow
functionality
 Only one process and it’s attached signals or one signal and it’s
attached processes are displayed

Display net drivers Zoom


or readers control

Libero™ IDE © 2005 Actel Corp. July, 2005 148

74
List Window
 Simulation Results in Tabular
Format
 VHDL - Signals and Process
Variables
 Verilog - Nets and Registers
 “Drag & Drop”
 Find Function
 Trigger / Strobe Properties
 Write List
 Tabular
 Event
 TSSI
 Markers - Add, Delete or Goto

Libero™ IDE © 2005 Actel Corp. July, 2005 149

Saving Tabular Output

Drag & Drop!

Libero™ IDE © 2005 Actel Corp. July, 2005 150

75
Advancing Simulation Time
 Three Methods
 At VSIM prompt:
 VSIM 12> run 100 ms
 In Main Window Tool Bar:

Restart Run Run -all Step

Run Length Continue Run Break Step Over

 In Wave Window Tool Bar:

Run Run -all

Continue Run Break

Libero™ IDE © 2005 Actel Corp. July, 2005 151

Re-running Simulation
 Restart to Zero
 Force Restart at VSIM Prompt
 VSIM 12> restart –f

 In Main Window Run > Restart or Restart Button


 Displays Restart Dialog

 Keep Current
 Listed Signals
 Waved Signals
 Breakpoints
 Logged Signals
 Virtual Signals

Libero™ IDE © 2005 Actel Corp. July, 2005 152

76
ModelSim Macro Files
 ModelSim Commands Can Be Saved in Macro File
 The ‘do’ Command Executes Commands
 Macro File Can Have any Name and Extension
Syntax:
do<filename> [<parameter_value>]
Example:
do run.do
 This Command Executes File run.do

vlib presynth
vmap presynth ./presynth
vcom -93 -work presynth D:/Actelprj/count32/hdl/count32.vhd
vcom -93 -work presynth D:/Actelprj/count32/stimulus/count32.vhd
vsim presynth.testbench
add wave /testbench/*
run 1000ns

Libero™ IDE © 2005 Actel Corp. July, 2005 153

Libero Simulation Options


 Simulation Options Can Be Set from Simulation Tab under
Options
 Results Saved in run.do File Specify simulation run time

Use Automatic Do File allows


Libero to automatically set up
the simulation for the user

Include Do file allows Libero to


include user-defined script. User
can enter name of script file

Select min, typ, max


simulation conditions for post-layout
simulation
Default resolution based on family
choice
1ps for 500K, APA, 54SXA, AX
1ns for all other families
Libero™ IDE © 2005 Actel Corp. July, 2005 154

77
Invoking ModelSim
Pre- or Post-Synthesis
 Click “Simulation” Design Flow Window or …

Right
Mouse
Click!

Double
Click!

Libero™ IDE © 2005 Actel Corp. July, 2005 155

Associating Stimulus

Right
Mouse
Click!

Libero™ IDE © 2005 Actel Corp. July, 2005 156

78
Hierarchical Testbench Support
 Libero Allows Users to Specify List of Stimulus Files for
Simulation
 No Stimulus File Selected by Default
 Libero Remembers Stimulus Association for Any Block

Libero™ IDE © 2005 Actel Corp. July, 2005 157

Pre-Synthesis Simulation
 ModelSim Automatically
Compiles Design and Runs
Simulation for 1 µS
 (External) Signals from
Testbench Automatically
Added to Wave Window
 Additional (Internal) Signals
Can Be Added by User

Libero™ IDE © 2005 Actel Corp. July, 2005 158

79
Libero Simulation files on HDD

Libero™ IDE © 2005 Actel Corp. July, 2005 159

Simulating Designs
Summary
 Capture Design
 Generate RTL Netlist (VHDL or Verilog)
OR
 Create Schematic
 May Include RTL blocks
 Structural VHDL or Verilog Netlist Automatically
Created before Simulation
 Create Testbench
 Use WaveFormer Lite, or Text Editor
 Associate Stimulus
 Run Pre-Synthesis Simulation

Libero™ IDE © 2005 Actel Corp. July, 2005 160

80
Synthesis

Design Capture

Simulation Synthesis Post-Synthesis Simulation

Place & Route

Post-P&R Simulation Programming

Libero™ IDE © 2005 Actel Corp. July, 2005 161

Invoking Synplicity
 Click “Synthesis” in Design Flow Window or ..

Right
Mouse
Click!

or
Double
Click!

Libero™ IDE © 2005 Actel Corp. July, 2005 162

81
Synplify Interface

Add constraint files or Libero automatically lists files


VHDL packages lowest levels first, top last

Change target
and result file
Global synthesis
constraints

Libero™ IDE © 2005 Actel Corp. July, 2005 163

Result File
 Synplicity Produces an EDIF Netlist
 <design>.edn
 Libero Automatically Produces Structural VHDL or Verilog
Netlist
 <design>.vhd or <design>.v
 Results Appear on File Manager Tab under Synthesis Files

Libero™ IDE © 2005 Actel Corp. July, 2005 164

82
Setting the Target Options

High fanout = slow, small


designs
Low fanout = fast, large
designs
Use defaults for first
pass

By default, Synplify will


insert Actel I/O
macros on all the HDL
I/O ports.
When synthesizing
lower-level blocks, this
must be disabled.

Libero™ IDE © 2005 Actel Corp. July, 2005 165

Global Constraints
 Frequency
 Symbolic FSM Compiler
 Configure HDL Compiler
 Resource Sharing

Libero™ IDE © 2005 Actel Corp. July, 2005 166

83
Frequency
Global clock frequency -
0MHz means optimize for
area

Libero™ IDE © 2005 Actel Corp. July, 2005 167

Symbolic FSM Compiler

When checked, it
selects proper encoding
for all state machines.

Encoding method can be set on


individual state machines with
syn_encoding directive in the
HDL code

Libero™ IDE © 2005 Actel Corp. July, 2005 168

84
State Machine Encoding (VHDL)

Options > Configure VHDL Compiler


Sets the default encoding style for enumerated types

Override encoding style on


an individual basis using
syn_encoding directive in
constraint editor or the
HDL source code

# of states default encoding


1-4 sequential
5 - 24 one-hot
> 24 gray

Libero™ IDE © 2005 Actel Corp. July, 2005 169

Resource Sharing
 When enabled, Synplify
performs automatic sharing of if
if (s
(s == ‘0’)
‘0’) then
then
operator resources, including YY <=
<= AA ++ B;
B;
adders, subtractors, else
else
incrementers, and decrementers. YY <=
<= CC ++ D;
D;
end
end if;
if;

S A
A
+
B C
Y + Y
C B
+
D D

Without resource sharing With resource sharing


Libero™ IDE © 2005 Actel Corp. July, 2005 170

85
Performing Synthesis

Compile only or check syntax

Libero™ IDE © 2005 Actel Corp. July, 2005 171

View Log

 Synplify Log contains


Plenty of Valuable
Information:!
 Warnings and Errors
 Double-click and Jump to
Code!
 Fanout Limit
 Extraction Information
(Found Counter, FSM,
Adder, etc.)
 Net Loading
 Logic Buffering and
Replication Information
 Resource Usage
 Critical Path Timing
Analysis

Libero™ IDE © 2005 Actel Corp. July, 2005 172

86
Reading the Log File: Errors

Double
Click!

Libero™ IDE © 2005 Actel Corp. July, 2005 173

Constraint Editor

 Synplify facilitates constraint


entry with a spreadsheet-
like constraint editor.
 File->New
 Select Constraint File
(Spreadsheet)
Select Files of type Constraint
Files
 Press OK
 Extremely easy to use

Libero™ IDE © 2005 Actel Corp. July, 2005 174

87
Constraint Editor (Cont.)

 Constraint Editor supports a


Drag and Drop interface.
 There are sheets for entering:
 Clock Frequency or Period
 Clock to Clock timing
 Input/Output Constraints
 Registers Constraints
 Multi-Cycle Paths
 False Paths
 Attributes

Libero™ IDE © 2005 Actel Corp. July, 2005 175

Synplicity Directives and Attributes

88
Synplicity Directives and Attributes
 Let You Direct Analysis, Optimization, and Mapping of
Design during Synthesis
 Attributes Control Mapping Optimizations
 Attributes Can Be Entered in either .sdc Constraint File or HDL
Source Code
 Synplify Supports Limited Number of Attributes that Can Be Entered in
Attribute Pane
 Most Attributes Are Entered in your VHDL or Verilog Code

 Directives Control Compiler Optimizations


 Directives Must Be Entered in HDL Source Code

Libero™ IDE © 2005 Actel Corp. July, 2005 177

Actel Attribute and Directive Summary


NAME Type VALUE DESCRIPTION

alspreserve A Boolean Prevents a net from being removed during Place and Route
sequential,
onehot,
syn_encoding A gray, safe Specifies the encoding style for state machines.
1/0 Controls the handling of hierarchy boundaries of a module
syn_hier A true/false or component during optimization and mapping.
1/0 Prevents the internal signal from being removed during
syn_keep D true/false synthesis and optimization.

syn_maxfan A integer Controls the maximum fanout of an instance, net, or port.


1/0
syn_noclkbuf A true/false Turns off the automatic insertion of clock buffers.
1/0 Prevents sequential optimization such as constant
syn_preserve D true/false propagation, inverter push-through and FSM extraction.
Specifies register design technique to apply to a module,
syn_radhard level A string architecture or register
syn_replicate A 1/0 Disable register replication
1/0 Enables/disables the resource sharing of operators inside a
syn_sharing D true/false module during synthesis.
Libero™ IDE © 2005 Actel Corp. July, 2005 178

89
alspreserve
Actel-Specific Attribute

 Keeps Net from Being Collapsed in Designer (Back-end)


Tools
 Must also Add syn_keep to Ensure Synplicity Retains Net
 Synplicity Adds alspreserve Attribute to EDIF Netlist

Libero™ IDE © 2005 Actel Corp. July, 2005 179

alspreserve
Syntax
 Verilog Syntax
object /* synthesis alspreserve = 1 */ ;
 Example:
module foo ( in, out);
input [6:0] in; output out; wire out;
wire or_out1 /* synthesis syn_keep=1 alspreserve=1 */;
wire and_out1; wire and_out2;
wire and_out3 /* synthesis syn_keep=1 alspreserve=1 */;

 VHDL Syntax
attribute alspreserve of object : signal is true ;
 Example:
architecture comb of foo is
signal and_out1, and_out2, and_out3, or_out1 : std_logic;

attribute syn_keep of and_out3 : signal is true;


attribute syn_keep of or_out1 : signal is true;
attribute alspreserve: boolean;
attribute alspreserve of and_out3 :signal is true;
attribute alspreserve of or_out1 : signal is true;
Libero™ IDE © 2005 Actel Corp. July, 2005 180

90
syn_radhardlevel
Example (cont.)
SCOPE attribute tab:

Source files: use C-module flip-flop for qA

Add to infer C-module flip-flops

Libero™ IDE © 2005 Actel Corp. July, 2005 181

syn_encoding
Attribute
 Sets Encoding Style for State Machines
 Overrides Default Style
 Default Style - Compiler Selects Encoding Style Based on
Number of States as Follows:
 1 - 4 States: Sequential
 5 - 24 States: One-hot
 > 24 States: Gray
 syn_encoding Can Have the Following Values:
 onehot
 gray
 sequential
 safe

Libero™ IDE © 2005 Actel Corp. July, 2005 182

91
syn_maxfan
Attribute
 Controls Maximum Fanout of Instance, Net, or Port
 Limit Specified by this Attribute May Be Treated as Hard or
Soft Depending on Where It Was Specified
 Soft Limit May Not Be Honored if it Degrades Performance
 You Can Apply syn_maxfan Attribute to Module, Register,
Instance, Port, or Net
 For ProASIC and APA Designs Only – You Can also Apply to Module
or Entity

Libero™ IDE © 2005 Actel Corp. July, 2005 183

syn_maxfan
Usage
 SCOPE Constraint Editor Usage

 SDC File Syntax


define_attribute { object } syn_maxfan { integer
}
 Example – Limit Fanout for Signal clk to 200:

. . .
define_attribute {clk} syn_maxfan {200}

. . .

Libero™ IDE © 2005 Actel Corp. July, 2005 184

92
syn_maxfan
Syntax

 Verilog Syntax
object /* synthesis syn_maxfan = "value" */ ;
 Example:
module test (registered_data_out, clock, data_in);
output [31:0] registered_data_out; input clock;
input [31:0] data_in /* synthesis syn_maxfan=1000 */;
reg [31:0] registered_data_out /* synthesis syn_maxfan=1000 */;
// Other code
 VHDL Syntax
attribute syn_maxfan of object : object_type is "value"
;
 Example:
entity test is
port(clock : in bit;
data_in : in bit_vector(31 downto 0);
registered_data_out: out bit_vector(31 downto 0))
attribute syn_maxfan : integer;
attribute syn_maxfan of data_in : signal is 1000;
-- Other code
Libero™ IDE © 2005 Actel Corp. July, 2005 185

syn_replicate
Attribute
 Prevents Replication of Register
 assign syn_replicate = 0 Turns Off Register Replication
 Cannot Force Tool to Replicate
 Works along with max_fanout Value
 Only Supported on Individual Register
 When Will Synplify Replicate or Buffer?
 Generally Flip-flops Are Replicated to Achieve Fan-out Control
 For Combinatorial Cells, Buffers Are Added

Libero™ IDE © 2005 Actel Corp. July, 2005 186

93
syn_replicate
Usage
 SCOPE Constraint Editor Usage

 SDC File Syntax


define_global_attribute syn_replicate 1=enables
{ 1 replication
| 0 }
0 disables replication
Example - Disables All Replication in Design:

. . .
define_global_attribute syn_replicate {0}

. . .

Libero™ IDE © 2005 Actel Corp. July, 2005 187

syn_replicate
Usage (cont.)
 Verilog Syntax 1 enables replication
object /* synthesis syn_replicate = 1 | 0 0*/;
disables replication

 Example:
module norep (Reset, Clk, Drive, OK, ADPad, IPad, ADOut);

. . .
reg [31:0] IPad;
reg DriveA /* synthesis syn_replicate = 0 */;
assign ADPad = DriveA ? ADOut : 32'bz;
always @(posedge Clk or negedge Reset)
if (!Reset) begin
DriveA <= 0;
IPad <= 0; end
else begin
DriveA <= Drive & OK;
IPad <= ADPad; end
endmodule

Libero™ IDE © 2005 Actel Corp. July, 2005 188

94
syn_replicate
Usage (cont.)
 VHDL Syntax
attribute syn_replicate of object : object_type is
true | false ;
 Example:
entity norep is port (
Reset : in std_logic;
Clk : in std_logic;
Drive : in std_logic;
OK : in std_logic;
ADPad : inout std_logic_vector (31 downto 0);
IPad : out std_logic_vector (31 downto 0);
ADOut : in std_logic_vector (31 downto 0));
end norep;
architecture archnorep of norep is
signal DriveA : std_logic;
attribute syn_replicate : boolean;
attribute syn_replicate of DriveA : signal is false;

begin

-- Other code

Libero™ IDE © 2005 Actel Corp. July, 2005 189

syn_sharing
Directive
 Enables/Disables Resource Sharing of Operators inside
Module during Synthesis
 By Default, Directive Is Enabled (Value 1 for Verilog, true for
VHDL).
 If Resource Sharing Check Box in Project View is Disabled, You
Can Still Enable Resource Sharing Using syn_sharing
Directive

Libero™ IDE © 2005 Actel Corp. July, 2005 190

95
syn_sharing
Usage
 Verilog Syntax
object /* synthesis syn_sharing = 1 | 0 */ ;
 Example:
module my_design(out,in,clk_in) /* synthesis syn_sharing=0 */;

// Other code
 VHDL Syntax
attribute syn_sharing of object : object_type is " true | false";
object can be architecture name
 Example:

entity alu is
port ( a, b : in std_logic_vector (7 downto 0);
. . . );
end alu;
architecture behave of alu is
-- Turn on resource sharing for the architecture.
attribute syn_sharing of behave : architecture is "true";
begin
-- Other code
Libero™ IDE © 2005 Actel Corp. July, 2005 191

Retiming
Synplify Pro
 Retiming Is Feature in Synplify Pro ver 7.5.1
 Helps Improve Performance of Sequential Circuits
 Moves Registers across Combinatorial Gates
 Also Called Register Balancing
 Global Option – Can Be Turned On/Off in GUI
 Cannot Have this Option on per-Block Basis because it Optimizes Whole
Design
 Advantages
Synplify 7.5.1 Pro GUI
 Improves Design Performance
 No Need to Modify RTL Code
 # of Register Cycles Remains the Same
 Impact
 May Result in Higher Utilization
 May Increase Difficulty in Routing
 Some Designs May Degrade in Performance!

Libero™ IDE © 2005 Actel Corp. July, 2005 192

96
Retiming (cont.)
 Retiming Moves Registers across Design to Achieve the
Best Possible fmax
 Before Retiming

Reg 15ns Reg 5ns Reg Performance: 67MHz


Limited by 15ns

 After Retiming

12ns 8ns Performance: 83MHz


Reg Reg Reg Limited by 12ns

Libero™ IDE © 2005 Actel Corp. July, 2005 193

Synplify and Synplify PRO for Actel


 Synplify for Actel Is Equivalent to Synplicity's Synplify
Product.
 Limited to Actel Products Only
 Does Not include RAM Inferencing
 Included in All Libero Products
 Synplify Pro AE has additional features beyond Synplify AE
and requires a separate license from Actel
 Limited to Actel products only

Libero™ IDE © 2005 Actel Corp. July, 2005 194

97
Synplify® for Actel and Synplify Pro® Features
Comparison

Libero™ IDE © 2005 Actel Corp. July, 2005 195

Synplicity Help
 Synplicity Has Complete On-line
Manual
 Invoked from Help Pulldown or
by Pressing F1

Libero™ IDE © 2005 Actel Corp. July, 2005 196

98
Post-Synthesis Simulation

Design Capture

Simulation Synthesis Post-Synthesis Simulation

Place & Route

Post-P&R Simulation Programming

Libero™ IDE © 2005 Actel Corp. July, 2005 197

Post-Synthesis Simulation
 Steps:
 Synthesize Design with Synplicity
 Generate EDIF Netlist from Synplicity
 Libero Automatically Creates Structural VHDL or Verilog Netlist
 Run Post-synthesis Simulation on Structural Netlist

Libero™ IDE © 2005 Actel Corp. July, 2005 198

99
Post-Synthesis Simulation
 Click on “Simulation” in Design Flow window or…

Right
Mouse
Click!

or
Double
Click!

Libero™ IDE © 2005 Actel Corp. July, 2005 199

Post-Synthesis Simulation
 ModelSim automatically
compiles structural netlist
exported from Designer
 Runs simulation for 1 uS
 Structural library mapping
handled by Libero
 Pre-compiled libraries do not
require compiling prior to
simulation

Libero™ IDE © 2005 Actel Corp. July, 2005 200

100
Place and Route

Design Capture

Simulation Synthesis Post-Synthesis Simulation

Place & Route

Post-P&R Simulation Programming

Libero™ IDE © 2005 Actel Corp. July, 2005 201

Open Design for Place & Route


 Click on “Place & Route” in Design Flow Window or…

Right
Mouse
Click!

or

Double
Click!

Libero™ IDE © 2005 Actel Corp. July, 2005 202

101
Designer Interface

 Designer Provides Graphical


Flow Manager to Lead
Designer through Design
Flow
 Completed Tasks
Highlighted
 Design Flow Steps Listed at
Top
 User Tools Grouped Below

Designer Error Manager Tabs (same as Libero)

Libero™ IDE © 2005 Actel Corp. July, 2005 203

Designer TCL Script Support


Industry-standard Language
 Tool Command Language
 Launch Multiple Tools from
Single Script
 Launch Multiple Design Runs

Synthesis

TCL script Designer

Simulator

Libero™ IDE © 2005 Actel Corp. July, 2005 204

102
Running Scripts within Designer
 In File Menu, Click Execute Script File
 Displays Execute Script Dialog Box

Enter name of script file

Enter arguments to be passed


to script file

Click Run to execute script

Tcl Scripts can be Executed from the Command Line:


Example:
d:\Libero\Designer\bin\designer script:my_script

Libero™ IDE © 2005 Actel Corp. July, 2005 205

Recording Scripts
 Designer Can Export Tcl Script File that Contains
Commands Executed in Current Session
 Exported Tcl Script can be used to …
 … re-Execute Same Commands Interactively or in Batch
 … Become More Familiar with Tcl Syntax

Libero™ IDE © 2005 Actel Corp. July, 2005 206

103
Importing Source Files

Multiple files can be imported


at the same time
Netlist import is done
automatically by Libero

Import File types:


File Type Extension
EDIF *.ed*
Verilog *.v
VHDL *.vhd
Actel ADL Netlist *.adl
Criticality *.crt
ProASIC
Constraint File *.gcf
Physical Design
Constraint File *.pdc

Libero™ IDE © 2005 Actel Corp. July, 2005 207

Importing Auxiliary Files

Optional step to import pin


files, timing constraints, etc.
Import Auxiliary files after
compile completes

Import File types:


File Type Extension
Criticality *.crt
PIN *.pin
SDC *.sdc
Physical Design
Constraint *.pdc
Value Change Dump *.vcd
Switching Activity
Intermediate
File/Format *.saif

Design Constraint File *.dcf

Libero™ IDE © 2005 Actel Corp. July, 2005 208

104
Entering Constraints in Designer
 Option 1 - Import Files in Designer
 Source or Auxiliary Files
 Option 2 - Import Files in TCL Script
 Option 3 - Set All Constraints Directly in Designer
 Physical - PinEdit
 Timing - Timer

Libero™ IDE © 2005 Actel Corp. July, 2005 209

Constraint File Types


 Physical
 Pin Locations
 SX-A, SX-S - .pin File
 APA - .gcf File
 Axcelerator - .pdc File
 All I/O Attributes
 Axcelerator - .pdc File

 Timing
 All Constraints
 APA - .sdc File
 Antifuse – .sdc File

Libero™ IDE © 2005 Actel Corp. July, 2005 210

105
Designer File Auditing
 Designer Audits Source Files to
Ensure Imported Files Are Current
 All Imported Source Files Are Date-
and Time-stamped
 Designer Notifies You if File Is
Changed
 Audit Settings Can Be Changed
(File > Audit Settings)
 Enable / Disable Auditing
 Move File to New Location
 Associate File with Current Date
and Time

Libero™ IDE © 2005 Actel Corp. July, 2005 211

Importing Files into Designer


Summary
 Import the Following Source Files
 EDIF, VHDL, Verilog Netlists
 PDC, SDC, and GCF Files
 Source Files Are Audited per User Settings
 Import the Following Auxiliary Files
 DCF, SDC, PDC, VCD, and SAIF Files

Libero™ IDE © 2005 Actel Corp. July, 2005 212

106
Designer
Compile

Reads Netlist
Compiles Design into Actel
Database (ADB) File
Runs Combiner
Performs Design Rule
Checking
Checks for Netlist Errors (Bad
Connections and Fanout
Problems)
Removes Unused Logic
(gobble)
Verifies that Design fits into
Selected Device

Libero™ IDE © 2005 Actel Corp. July, 2005 213

Compile Wizard

Select:
Die
Package
Speed Grade
Die Voltage
Select Restrict Pin Usage
Reserve JTAG Pins
Reserve ActionProbe Pins
Select Ambient Temperature
Commercial (0 - 70ºC)
Industrial (-45 - 85ºC)
Military (-55 - 125ºC)
Custom
Select Voltage Range

Libero™ IDE © 2005 Actel Corp. July, 2005 214

107
Radiation Derating
 Radiation Derating for SX-S
 Users Can Now Add Radiation
Exposure Level in Device
Selection Wizard for Radiation
Derated Timing

Libero™ IDE © 2005 Actel Corp. July, 2005 215

Flash Netlist Optimization

108
Netlist Optimization Constraints
Flash Designs

 Attempts to Remove All Cells from Netlist that Have No


Effect on Circuit’s Functional Behavior
 Reduces Overall Size of Design
 Produces Faster Place and Route Times
 Takes Advantage of Inverted Inputs of Logic Tiles
 By Default All Optimizations Are Performed on Netlist
 Original Netlist Preserved
 Removed Cells Back-annotated with 0ns Delay in Timer

Libero™ IDE © 2005 Actel Corp. July, 2005 217

dont_optimize
Flash Designs
 Turns Off All Netlist Optimizations
 When Followed by One or More Netlist Optimization
Options, this Statement Turns off Named Option(s).
 Syntax
dont_optimize {inverter buffer clocktree resettree const
dangling};

 Example:
dont_optimize buffer inverter;
Disables buffer and inverter
optimization

Libero™ IDE © 2005 Actel Corp. July, 2005 218

109
optimize
Flash Designs
 Turns On All Netlist Optimizations
 When Followed by One or More Netlist Optimization
Options, this Statement Turns On Named Optimization
Option(s)
 Syntax
optimize {inverter buffer clocktree resettree const dangling};

 Example:
optimize buffer inverter; Enables buffer and inverter
optimization

Libero™ IDE © 2005 Actel Corp. July, 2005 219

Netlist Optimization Constraints


Options
 buffer - Removes All Buffers Provided Maximum Fanout Not
Exceeded
 inverter - Removes All Inverters Provided Maximum Fanout Not
Exceeded
 clocktree - Removes All Inverters and Buffers in Nets Connected to
Clock Inputs on All Flip-Flop Cell Types
 resettree - Removes All Inverters and Buffers in Nets Connected to
Reset Inputs on All Flip-Flop Cell Types
 const - Replaces All Logical Elements with One or More Constant
Inputs (Connected to Logical “1” or “0”) by Simplified Logic Function
 If Replacement Logic Function Is Inverter or Buffer, that Element Is
Removed
 dangling - Recursively Removes All Cells Driving Unconnected Nets

Libero™ IDE © 2005 Actel Corp. July, 2005 220

110
set_max_fanout
 May Retain Buffers and Inverters in Netlist
 Removes All Buffers and Inverters whose Elimination Does Not
Exceed Specified Fanout
 Use this Constraint if Design Has High-Fanout Net in
Critical Paths
 Syntax
 set_max_fanout <value>;
 Global Command
 set_max_fanout <value> Net_name;
 Single Net or Set of Nets (*)
 set_max_fanout <value> Block_name;
 All Nets of Block Block_name

Libero™ IDE © 2005 Actel Corp. July, 2005 221

dont_touch

 Selectively Disables Optimization of Named Hierarchical


Instances
 Wildcard (*) Isolates All Sub-Blocks Under Named Block
 Syntax
dont_touch hier_net_name [, hier_net_name];
 Example
optimize buffer inverter;
dont_touch /U1/myblock/*;

Enables Only Buffer and Inverter Optimization


Types. Optimizes All Instances except those
Contained in Block /U1/myblock.

Libero™ IDE © 2005 Actel Corp. July, 2005 222

111
Import Log
Flash Designs
 Import Log Written after Compile Step in Designer
 Created under <name>.dtf directory

 What it Reveals
 Promoted Globals
 Distribution of Fanout
 Device Utilization (RAMs, PLLs, IOs, Global Routes, Logic)
 Internal and External Nets (Min, Average and Max fanout)
 High Fanout Net Candidates to be Mapped to Spines
 Internal Clocks

Libero™ IDE © 2005 Actel Corp. July, 2005 223

Designer Import Log


Flash Designs

. . .
Compile Output:
NOTE [removed_pwr_gnd_cells]:
Removed 2 power/ground cells from the design. Removed cells
Optimizing Netlist.

Promoting nets to globals.

Following nets are possible candidates for Globals/Spines :


Fanout Type Driver Name
48 CLK_NET CLK_pad/MUXTILE CLK_c
48 SET/RESET_NET RESET_pad/MUXTILE RESET_c

Following nets are assigned to global resources:


Fanout Name
48 CLK_c
Nets assigned to global resources
48 RESET_c

. . .

Libero™ IDE © 2005 Actel Corp. July, 2005 224

112
Designer Import Log (cont.)
. . .
I/O Cells: Core cells:
| Instances | Gates | Tiles
Input. IOs: 2 ----------|-----------|--------|-------
Bidir IOs: 0 Logic | 81 | 185 | 81
Output IOs: 16 Storage | 48 | 384 | 48
Global IOs: 2 RAM/FIFO | 0 | 0 | 0
Internal Global: 0 | | |
----------------------- ----------|-----------|--------|-------
Total IOs: 20 Total | 129 | 569 | 129

Actual number of tiles used


Nets | Count | Average Fanout | Max. Fanout
---------------|--------|----------------|------------
Global | 2 | 48.0 | 48
External | 18 | 2.9 | 20
Net statistics
Internal | 113 | 1.9 | 16
---------------|--------|----------------|------------
Total | 133 | 2.7 | 48

. . .
Libero™ IDE © 2005 Actel Corp. July, 2005 225

Identifying Removed Cells


Flash Designs
While Compile or Layout Is Running, Temporary File Named deleted_blocks
Is Created under <name>.dtf Directory
 Lists All Deleted Cells
 This File Automatically Removed after Layout Is Finished
Save File before Layout Completes or Run Place Option without Route

Libero™ IDE © 2005 Actel Corp. July, 2005 226

113
Netlist Optimization Example
Flash Designs

-- example to test APA optimization


library ieee;
use ieee.std_logic_1164.all;
entity test is
port (A, B, presetn, resetn, clk: in std_logic;
out1, out2, Q1, Q2: out std_logic);
end test;

architecture RTL of test is


begin
process (clk, resetn)
begin
if (resetn = '0') then Q1 <= '0';
elsif (clk 'event and clk = '0') then Q1 <= A;
end if;
end process;

process (clk, resetn, presetn)


begin
Deleted blocks
if (resetn = '0') then Q2 <= '0';
elsif (presetn = '0') then Q2 <= '1';
elsif (clk 'event and clk = '0') then Q2 <= B;
end if;
end process;

out1 <= A and not B;


out2 <= not A xor not B;
end RTL;

Libero™ IDE © 2005 Actel Corp. July, 2005 227

Successful Compile

 Compile Button Turns


Green if Compile
Completes Successfully
 Errors Indicated in
Designer Log Window

Libero™ IDE © 2005 Actel Corp. July, 2005 228

114
MultiView Navigator

MultiView Navigator

 MultiView Navigator Includes the Following Tools:


 PinEditor, I/O Attribute Editor, NetlistViewer, and ChipPlanner
 Allows Cross-probing Among Different Designer Tools

Libero™ IDE © 2005 Actel Corp. July, 2005 230

115
MultiView Navigator

Zoom Controls Toolbar Icons

Design
Window
Working
Area

World View Log


Window Window

Libero™ IDE © 2005 Actel Corp. July, 2005 231

MultiView Navigator
Windows
 Design Window
 View Design as Logical Blocks, Physical Elements, Ports, Nets, and
Regions
 World View Window
 Shows Position of Current Viewing Window Relative to Chip
 Working Area Shows Current Active Tools
 Tile or Cascade Active Tools
 Log Window Keeps Running Log of Activity
 Output – Shows All Messages
 Errors – Shows Error Messages
 Warnings – Shows Warning Messages
 Info – Shows Informational Messages
 Find Window – Keeps Result of Find Function for Later Usage

Libero™ IDE © 2005 Actel Corp. July, 2005 232

116
MultiView Navigator Features
Message Bar
 Hierarchical Error / Info Message Display
 Summary Line Shown in New Message Bar
 Expands on Demand to Show More Details
 Copy / Clear Messages
 Most Messages Transitory (Removes Clutter)
 Reduced Number of Tabs (Removes Clutter)
 Ongoing Effort to Improve Message Content

Libero™ IDE © 2005 Actel Corp. July, 2005 233

MultiView Navigator Toolbar


 File ->
 Commit – Writes any Changes Made in Editors to Design
 Prelayout Check – Verifies Placement Changes in Editors Are
Legal
 Edit ->
 Undo/Redo – Allows User to Undo a Mistake or Redo an
Accidental Undo
 Find – Enables Find Interface
 Zoom Controls
 Zoom Region, Zoom In, Zoom Out, Zoom to Fit
 Assignment Options
 Place, Unplace, Lock (Fix), Unlock (Unfix)
 Tools Menu
 ChipPlanner, PinEditor, NetlistViewer, I/O Attribute Editor

Libero™ IDE © 2005 Actel Corp. July, 2005 234

117
MultiView Navigator
Prelayout Checker
 Infeasible Constraints Identified pre-Layout
 Automatically Runs when You Commit from MVN
 Users Can Run Using MVN Command Tools->DRC
 Enhanced Checks
 Overlapping Region Checks
 Resource Overbooking
 I/O Technology Checks

Libero™ IDE © 2005 Actel Corp. July, 2005 235

MultiView Navigator
Find / Search

 Search for Instances, Nets or Ports


 Wildcard (*) Matching
 Advanced Options - Choice of Log Window Pane for Search Results
 Cross-probing from Find Tab to the other Four Windows

Libero™ IDE © 2005 Actel Corp. July, 2005 236

118
PinEditor

Pin Assignment Options


 I/O Locations Can Be Assigned as Follows:
 Automatically by Designer Software during Layout
 By Importing:
 . Gatefield Constraint File (.gcf) (ProASIC and ProASICPLUS)
 Manually using PinEdit Tool in Designer
 Pin Assignments May Be Exported for Later Use

Libero™ IDE © 2005 Actel Corp. July, 2005 238

119
MultiView Navigator
PinEditor
 Graphical Pin Location Editor
 Drag and Drop Placement of Pins
 Fix Pin Locations for Subsequent Place and Route Runs
 Flip Display
 Enables Assignments as if Looking from Top or Bottom of Chip
 Pinout Can Be Printed for Documentation

Libero™ IDE © 2005 Actel Corp. July, 2005 239

I/O Features
Axcelerator
 I/O Bank
Configuration
 Select Bank
 Select I/O Standards
 Incompatible Options
Disappear when
Selecting I/O Standards
 Select Low-power Mode
 Select Input Delay

Libero™ IDE © 2005 Actel Corp. July, 2005 240

120
VREF Pins
Axcelerator
 Assigning VREF Pins

Libero™ IDE © 2005 Actel Corp. July, 2005 241

Pin Assignment Recommendations


 Enter Design as Completely as Possible
 Don’t Worry about Functionality
 Compile (Ignore Warnings) and Layout
 “Fix”All Pin Assignments
Edit > Select All then Edit > Fix
 Send Pin Report to PCB Layout
 Continue Working Out Bugs
 Future Layouts Will Honor “Fixed” Assignments

Libero™ IDE © 2005 Actel Corp. July, 2005 242

121
Exporting Pin Report
 Pin Report Can be Exported from Designer

Libero™ IDE © 2005 Actel Corp. July, 2005 243

Exporting Pin Constraint File


 Pin Constraint File Can be Exported from Designer

File
File Type Extension Family
ACT1, ACT2,
ACT3, MX, XL,
PIN file *.pin DX, SX, SX-A, eX
ProASIC,
Gatefield Constraint file *.gcf ProASIC PLUS
Physical Design Constraint *.pdc Axcelerator

Libero™ IDE © 2005 Actel Corp. July, 2005 244

122
I/O Attribute Editor

MultiView Navigator
I/O Attribute Editor
Input/Output Attribute Editor
 Select (Varies by Family):
 I/O Standard
 I/O Threshold
 Slew Rate
 I/O Power-up State
 Enter Load Capacitance
 Does Not Change SDF File
Generation
Spreadsheet-like Sort, Copy,
Paste

Libero™ IDE © 2005 Actel Corp. July, 2005 246

123
MultiView Navigator
I/O Attribute Editor (cont.)

Double click on column to sort display by


that column

Hold down CTRL key to


select multiple rows

With multiple rows selected, changing the


value of a drop-down item with CTRL key
pressed will change the value for all rows

Libero™ IDE © 2005 Actel Corp. July, 2005 247

Netlist Viewer

124
MultiView Navigator
Netlist Viewer
 Displays Netlist in Hierarchical
Manner, Providing Logical View
of Design
 Netlist Viewer Can Explore each
Level of Hierarchy and Trace
Signals

Open Netlist Viewer

Libero™ IDE © 2005 Actel Corp. July, 2005 249

MultiView Navigator
Netlist Viewer (cont.)

Schematic View
Window –
displays a
graphical
representation of
the netlist

Search Window –
shows results of
searches

Libero™ IDE © 2005 Actel Corp. July, 2005 250

125
MultiView Navigator
Netlist Viewer (cont.)
 Viewing Options
 Push, Pop, Jump to Top
 Go to First Page, Go to Last Page, Go to Next Page, Go to Last
Page
 Right-click on Net to Follow Net to Other Pages or Net Driver

 Highlight, Highlight Append, un-Highlight, un-Highlight All


 Allows Page Splitting
 Allows User to Decide if All Elements on that Level Are Shown as
Single Page

Libero™ IDE © 2005 Actel Corp. July, 2005 251

MultiView Navigator
Netlist Viewer

 View pre- and post-Optimized Netlists


 Pre-optimized Netlist Is Original Hierarchical Netlist
 Post-optimized Netlist is Flattened
 Reflects what other Tools Use (ChipEdit, PinEdit)

Libero™ IDE © 2005 Actel Corp. July, 2005 252

126
ChipPlanner

ChipPlanner
 Editing and Floorplanning
 ChipPlanner Capabilities:
 Editing
 Place, Unplace, or Move Logic and I/O
 View Macro Placements Made during Layout
 View Net Connections with Ratsnest or Route View
 View Architectural Boundaries
 View and Edit Silicon Features, such as I/O Banks
 View Placement and Routing of Paths when Used with Timer
 Floorplanning
 Create and Assign Logic or Nets to Regions
 Cross-probe with Silicon Explorer to Select Probes

Libero™ IDE © 2005 Actel Corp. July, 2005 254

127
ChipPlanner Terminology
 Region
 Defined sub-Portion of Die
 Shapes - Rectangular or Rectilinear (Union of Rectangles)
 Types:
 Empty - No Logic Can Be Put into this Region
 Inclusive - Assigned Logic Must Be Put into this Region
Other Unassigned Logic Can Be Added to this Region by Layout
 Exclusive - Only Assigned Logic Can Be Put into this Region
Not Supported for APA or A500K
 Assign
 Place Logic into Particular Region or Location
 Lock
 Finalizes Allocation of Logic in Particular Location

Libero™ IDE © 2005 Actel Corp. July, 2005 255

ChipPlanner
Editing and Floorplanning

 Drag Logic or I/O to Desired Location


 ChipPlanner Floorplanning Functions
 Create Logic Region Create local clock region

 Create Empty Region Create empty region Delete region


 Select Region
 Move Region Assign /
 Delete Region Unassign
Create inclusive region
 Resize Region
 Assign/Unassign Logic to Region Create exclusive region

 Regions Can Span Logic, Memory Cells and I/O

Libero™ IDE © 2005 Actel Corp. July, 2005 256

128
ChipPlanner
Empty Region
 Region > Create Empty
 No Logic Assigned to Empty Regions

Libero™ IDE © 2005 Actel Corp. July, 2005 257

ChipPlanner
Inclusive Region
 Region > Create Inclusive
 Assigned Logic Put in Inclusive Region
 Other Logic May also Be Put in this Region

Libero™ IDE © 2005 Actel Corp. July, 2005 258

129
ChipPlanner
Exclusive Region (Axcelerator)
 Region > Create Exclusive
 Only assigned logic placed in exclusive region

Libero™ IDE © 2005 Actel Corp. July, 2005 259

ChipPlanner
Local Clock Region (Flash)
 Region > Create Local Clock
 Assign net to a spine region graphically
 All logic connected with the net will be assigned to the spine region

Libero™ IDE © 2005 Actel Corp. July, 2005 260

130
ChipPLanner
Region Color Control
 Individual Region Color Control
 Regions Have Different Default Colors Based on Types
 Can Change Each Region’s Default Color
 Region Colors Saved in .adb File
 Region Colors Reset to Defaults upon Recompile

Libero™ IDE © 2005 Actel Corp. July, 2005 261

ChipPlanner
Region Properties
 Region > Properties
Change region color
 Indicates:
 Region Type
 Region Width, Height and Origin
 Region Usage
 Shows Region Default Color
 Default Color Can be Changed
 Also Provides Access to Assignment
Window

Region size and utilization

Libero™ IDE © 2005 Actel Corp. July, 2005 262

131
MultiView Navigator
Region Color Control Example

Libero™ IDE © 2005 Actel Corp. July, 2005 263

ChipPlanner
Logic Assignment
 Two Logic Assignment Methods
 Assignment Window (Region > Assign/Unassign Logic…)
 Provides Search and Selection Capability
 Also Available from Region Properties Dialog Box
 Drag and Drop Logic into Region
 Checkmark Indicates Assigned Logic

Libero™ IDE © 2005 Actel Corp. July, 2005 264

132
ChipPlanner
Display Settings
 Users Can Show/Hide Object and
Assign Color to Resource
 View > Display Settings

Libero™ IDE © 2005 Actel Corp. July, 2005 265

ChipPlanner
Viewing Nets
 Select Net View Options from Nets Toolbar:
 Display No Nets
Show nets Show routes
 Display Input Nets Hide nets
 Display Output Nets

 Display Input and Output Nets


Show inputs only Show Ratsnest
 Display Ratsnest Show outputs only

 Display Routes
 Routes Option for APA and A500K Only

View Ratsnest View Routes


Libero™ IDE © 2005 Actel Corp. July, 2005 266

133
ChipPlanner
Highlighting Nets
 Selected Nets Can Be Highlighted to Aid
Analysis
 Select Net from Design Window Nets Tab or Search
Results
 Change Highlight Color from Toolbar or Edit Menu

Highlight Color

Highlight
Unhighlight All

Libero™ IDE © 2005 Actel Corp. July, 2005 267

ChipPlanner
ProASIC/ProASICPLUS
 Floorplanning Capabilities
 Define Rectangular Regions
 x/y Location Displayed During Region Resize
 Only Empty and Inclusive Regions Supported for APA and A500K
 Assign Logic, Regular I/O and Regular Nets to Region
 Drag and Drop Assignments
 Selection Highlighting and Color Selection
 Create Local Clock Region
 Multi-region Assignments Not Recommended
 Assigning Same Macro to Two Overlapping Regions is Legal
 However … NO Check to Ensure that Regions Overlap
 Layout May Fail
 I/O Assignments
 View Spines Created through GCF
 View Routing
Libero™ IDE © 2005 Actel Corp. July, 2005 268

134
Silicon Support
ProASIC/ProASICPLUS
 Multi-type Region Support
 Region Support for RAM
 LocalClock Regions Can Include RAM and I/O
 Controlled by Compile Option (Designer -> Options -> Compile)
 Need to Recompile after Modifying Option
 Default is ON for New Designs from Designer 6.0 on

Top1 Top2 Top3 …


RAM block
1) Core +
memory

2) Core + spine
memory + I/O core
i/o
i/o
i/o
i/o i/o i/o

Libero™ IDE © 2005 Actel Corp. July, 2005 269

ChipPlanner
Axcelerator
 Floorplanning Capabilities
 Define Rectangular Regions
 Empty, Exclusive and Inclusive Region Support for Axcelerator
 Modify Region types (Inclusive / Exclusive)
 Assign Logic and Nets to Region
 I/O Assignments
 PLL and RAM
Assignments
 Drag and Drop
Assignments
 Multi-region
Assignments
NOT
Recommended

Libero™ IDE © 2005 Actel Corp. July, 2005 270

135
Silicon Support
Axcelerator
 LocalClock Region Support
 Created through PDC only
 PDC Syntax
 assign_local_clock –type routing_resource_type –net netname
<local_clock_region> [local_clock_region] [local_clock_region] …
 routing_resource_type is either hclk or rclk
 local_clock_region is Hierarchical Resource Name of Specific Clock Region
Tile3b.colN-1
Tile 3A

Tile3C.Row0
3
2

Tile1C.RowN-1
1

A B C
Libero™ IDE © 2005 Actel Corp. July, 2005 271

ChipPlanner
Scripting Support
 ProASIC/ProASICPLUS
 Existing GCF Format and Capabilities
 GCF Enhancement to Support Partial I/O Regions
 Axcelerator
 PDC Commands for Floorplanning
 Define and un-Define Region
Rectangular
Rectilinear (Currently Only Supported in PDC)
 Region Types
Empty
Inclusive
Exclusive (Axcelerator Only)
 Assign and Unassign Resources
Macros
Nets
 Reset Floorplan

Libero™ IDE © 2005 Actel Corp. July, 2005 272

136
MultiView Navigator
LogicalCone
 Helps View Critical Portions of Netlist
 Identify Critical Paths using Timer
 Add this Logic to LogicalCone
 Incrementally Add / Remove Logic from Cone
 CrossProbe from / to LogicalCone
 All NetlistView Features available in LogicalCone
 New LogicalCone Tab in Hierarchy Window
 New LogicalCone Menu Accessible from NetlistViewer
 Can Simultaneously Create Multiple Cones
 Set of Macros Can Be Highlighted, then Added to Cone
 LogicalCone Data No Longer Valid after Recompile
 Applies to All Families Supported by MVN

Libero™ IDE © 2005 Actel Corp. July, 2005 273

LogicalCone
User Interface

Libero™ IDE © 2005 Actel Corp. July, 2005 274

137
ChipEditor

ChipEditor
Older Antifuse Families

ChipEditor icon

Libero™ IDE © 2005 Actel Corp. July, 2005 276

138
ChipEditor
Older Antifuse Families

 Graphical Placement
Editor
 Place Logic Modules and
I/O
 ChipEdit Shows Routing
Congestion with “Rats
Nest” Views
 Gives More Control to
Power User

Libero™ IDE © 2005 Actel Corp. July, 2005 277

ChipEditor
Viewing Routing
 Rats Nest View Shows Connectivity
 Example – CLKBUF Connected to Several Registers

Libero™ IDE © 2005 Actel Corp. July, 2005 278

139
ChipEditor
Viewing Routing (cont.)
 Minimum Spanning Tree Mode
 Shows Connectivity between Selected Macros

Libero™ IDE © 2005 Actel Corp. July, 2005 279

Timing Constraints and Analysis

140
Designer Timing Analysis Tools
 Timer
 Static Timing Analysis Tool
 Generates User-specified Measurements
 Click Timer Icon from Designer GUI
 Timing Report
 Generates Standard Set of Measurements
 Report Can Be Printed or Saved to File

Libero™ IDE © 2005 Actel Corp. July, 2005 281

Timer

 Select Timer in Graphical


Flow Manager
 Functions:
 Define Clock Constraints
and Exceptions
 Define Path Constraints
 Define Global Stop Sets
 Define Global Pass Sets
 Information Used to
 Generate Timing Reports
 Assist in Timing Verification
in Timer
 Constrain Timing-driven
Layout Engine

Libero™ IDE © 2005 Actel Corp. July, 2005 282

141
Timer
Summary Tab
 Displays Maximum Frequency for
Clock(s) in Design
 Clock Selected from Pull-down
Window
 Enter Clock Frequency Requirement
Select Clock  Constraints Entered on Clock Tab
Used for Register-to-Register
Constraints

Libero™ IDE © 2005 Actel Corp. July, 2005 283

Timer
Clock Tab

Expand button
Select Clock opens expanded clock path window

 Specify Global Clock


Constraints
 Select Clock from Pull-
down Menu
 Enter Period and Duty
Cycle
 Enter Clock Exceptions to
Make Exceptions to Global
Clock Constraints
 Useful for Multicycle Path
Definition

Specify clock exceptions

Libero™ IDE © 2005 Actel Corp. July, 2005 284

142
Timer
Paths Tab

 Define Path Constraints for


Signal Groups
 Default or User-defined
 Four Default Groups:
 Inputs to Registers
 Registers to Registers
 Registers to Outputs
 Inputs to Outputs
 Clock Selected from Pull-
down Menu
 Additional Paths Can Be
Defined
 Edit -> Add Set of Paths

Constraints for default groups


entered on Summary tab
Libero™ IDE © 2005 Actel Corp. July, 2005 285

Timer
Breaks Tab
 Provides Mechanism for Forcing Paths to Be Don't Cares

Libero™ IDE © 2005 Actel Corp. July, 2005 286

143
Timer Preferences

Select File -> Preferences


Longest/Shortest Path(s)
 Maximum Number of Paths to Display
Expanded Path(s) in List
 Maximum Number of Expanded Paths
to Display
Show
 Longest – Maximum Delays
 Used for Setup Calculation
 Shortest – Minimum delay
 Used for Hold-time Calculation

Sort by
 Actual Delay
 Slack

Libero™ IDE © 2005 Actel Corp. July, 2005 287

Timer Preferences (cont.)

 Path Selection
 Critical Paths Only
 Shows Maximum Delay to any
End Terminal Only
 Paths Between Any Pair
 Shows All Paths Conforming to
Defined Filters
 Break Path at Register
 Clk/G Pins Option - Include /
Exclude Clk / G pins in/from Path
Starting/Ending Points
 Clr/Pre Pins Option – Include /
Exclude Clr / Pre Pins in/from
Path Starting/Ending Points
 Data Pins of Latches – Include /
Exclude Latch Data Pins in/from
Path Starting or Ending Points

Libero™ IDE © 2005 Actel Corp. July, 2005 288

144
Using Timer for Static Timing Analysis

Understanding Setup Check


Understanding Hold Check
User Defined Paths

Timer Measurements

d2

d1
d3

d1: delay from clock pad to driving flip-flop


d2: data path delay
d3: delay from clock pad to destination flip-flop

Data arrival time: d2 + d1 (longest)

Libero™ IDE © 2005 Actel Corp. July, 2005 290

145
Maximum Clock Frequency
Same Edge of Clock

Clock edge indication


Expand button opens expanded clock path
window to display path used to calculate the
maximum clock frequency
Constraints can be entered summary tab
Violations indicated with “X”

Min clk period = d2(longest) + setup – d3(shortest)


+ d1 (longest)
d1 and d3 are displayed in timer info window

d2 is displayed in timer path tab and info window

Libero™ IDE © 2005 Actel Corp. July, 2005 291

Maximum Clock Frequency Calculation


Same Edge of Clock
 Info Window Displays Clock
Network Delays

Longest
Datapath
delay

Min Period
15.57
+ 0.77
-0.85
+ 0.87
= 16.36

Libero™ IDE © 2005 Actel Corp. July, 2005 292

146
Maximum Clock Frequency
Opposite Edges of Clock

d2

d1
d3

Min clk period* / 2 = d2(longest) + setup – d3(shortest) + d1 (longest)


d1 and d3 are displayed in timer info window
d2 is displayed in timer path tab and info window
*uses duty cycle entered on Clock tab

Libero™ IDE © 2005 Actel Corp. July, 2005 293

Maximum Clock Frequency Calculation


Opposite Edges of Clock
 Timer Calculates Maximum Frequency when Opposite
Edges Are Used Based on Duty Cycle

Min Period
3.53
+ 0.77
-1.91
+ 1.93
= 4.32
x 2
= 8.64

Libero™ IDE © 2005 Actel Corp. July, 2005 294

147
Setup Check
 Data Must Be Stable and Valid for Specified Amount of
Time before ‘Capture’ Clock Edge
 Key Point: FF1.Q Changes with FF1.clk. Setup Is Checked
on Captured Data (NOT Launched Data)

FF1:CLK

FF3:CLK

Setup Time of FF3

Libero™ IDE © 2005 Actel Corp. July, 2005 295

Timer
Setup Check
 Longest Delays Used for Setup Check
 Select Longest in Timer Preferences Dialog Box

Libero™ IDE © 2005 Actel Corp. July, 2005 296

148
Timer
Setup Check (cont.)

 Info Window Displays Setup Check


 Setup violation = (tclk + d3 (shortest) – setup – (d2 (longest) + d1 (longest)) < 0)
 Negative indicates timing violation

Setup: 40.00 (clock period)


+ 0.85 (d3 shortest)
- 0.77 (library setup time)
- 15.57 (d2 longest)
- 0.87 (d1 longest)
= 23.65 (MET)

Libero™ IDE © 2005 Actel Corp. July, 2005 297

Hold Check
 Data Should Arrive after Clock Edge of FF3
 Hold Check Is Done on Launching Edge

F F 1 :C L K

F F 3 :C L K

Libero™ IDE © 2005 Actel Corp. July, 2005 298

149
Timer
Hold Check
 Shortest Delays Used for Hold Check
 Select Shortest in Timer Preferences Dialog Box
 Need to Recalculate Timer Delays

Libero™ IDE © 2005 Actel Corp. July, 2005 299

Timer
Hold Check (cont.)
 Info Window Displays Hold Check
 Hold time violation = (d2 (shortest) + d1 (shortest) – d3 (longest) < 0)
 Negative indicates timing violation

Hold: 11.93 (d2 shortest)


+ 0.87 (d1 shortest)
- 0.85 (d3 longest)
= 11.95 (Met)

Libero™ IDE © 2005 Actel Corp. July, 2005 300

150
Clocks Tab
Clock Exceptions

Libero™ IDE © 2005 Actel Corp. July, 2005 301

Timer
Add Path Set
 Path Tab Displays Register-
to-Register Delays (d2)
 Add Specific Path or Groups
of Paths
 Select ‘From’ Filter
 Inpad or Register
 Select ‘To’ Filter
 Outpad or Register
 Select Path
 Use of Keywords Makes
Process Easier
 Advanced Tab

Libero™ IDE © 2005 Actel Corp. July, 2005 302

151
Timer
Constraining User Paths
 Enter constraints for User-defined Groups on Paths Tab
 Select Clock from Drop-down Menu
 Use Commit Command in File Menu to Save Constraints

Constraint id

User Path Constraint for user


defined group

Libero™ IDE © 2005 Actel Corp. July, 2005 303

Timing Analysis

 Timer Performs Static Timing


Analysis Using either Pre-Layout
(Estimated) or Post_Layout
(Actual) Timing Data
 Shows Performance Relative to
Constraints Entered
 Default Groups Show:
 Inputs to Register
 Register to Register,
 Register to Output
 Inputs to Outputs

Pre-Layout delay

Libero™ IDE © 2005 Actel Corp. July, 2005 304

152
Timing Analysis
Failed Paths
 Paths which Fail to Meet
Constraints Are Easily
Identified
 Expand Path for Analysis
 Correct Failed Paths:
 Change Speed Grade
 Change Synthesis
Constraints
 Modify Design

Post-Layout delay

Failed timing paths

Libero™ IDE © 2005 Actel Corp. July, 2005 305

Timer
Minimum Delays

 Timer Displays Minimum Delays when “Shortest” is


Selected in Preferences

Minimum delay displayed

Libero™ IDE © 2005 Actel Corp. July, 2005 306

153
Timer
Minimum Delays (cont.)
 Minimum Delays Displayed on Timer Summary Tab

Window re-named to Required min delays shadowed


reflect minimum delays no user input accepted

Libero™ IDE © 2005 Actel Corp. July, 2005 307

Timer
Outdated Data
 Outdated Data Grayed Out in GUI
 Users Must Update manually
 Use Recalculate Buttons or Tools > Calculate Delays

Re-calculate
Min delays buttons
after
re-calculating

Data is grayed out after changing


from “longest” to “shortest”

Warning indicates data is out of date

Libero™ IDE © 2005 Actel Corp. July, 2005 308

154
Timer
Breaks Tab – Global Stop Sets

 Any path Passing through


Defined Stop Is Don't Care
Regardless of Any Other
Defined Delay
 Useful for Removing False
Paths

Libero™ IDE © 2005 Actel Corp. July, 2005 309

Stop Set Example

Don’t care path

Timer with no Stop set: Timer with $1I10:E in Stop set:

Libero™ IDE © 2005 Actel Corp. July, 2005 310

155
Timer
Breaks Tab – Global Pass Sets

 By Default, Timer Breaks All


Signal Paths at Inputs of Flip-
flops and Latches
 Global Pass Set Editor
Provides Mechanism for
Modifying Breaks to Be Pass-
through Paths on All Input
Pins of Flip-flops and Latches
Except Data Input to Flip-
flops
 Useful for Eliminating False
Paths from Configuration and
Control Registers

Libero™ IDE © 2005 Actel Corp. July, 2005 311

Pass Set Example

Desired path

Timer with no Pass set: Timer with U1:CLR in Pass set:

Libero™ IDE © 2005 Actel Corp. July, 2005 312

156
Identifying Combined Cells in Timer Antifuse Designs
 Timer Back-annotates 0ns Delay to Combined cells
 Original Cells Remain in Netlist

0ns delay for U6


indicates it was
combined with U5

Libero™ IDE © 2005 Actel Corp. July, 2005 313

Identifying Removed Cells in Timer


Flash Designs

0ns delay for B_c_I


indicates it was removed
during netlist optimization

Libero™ IDE © 2005 Actel Corp. July, 2005 314

157
Timer SDC Constraints

Supported SDC Constraints


 Designer Currently Supports the Following Synopsys Design
Constraints (SDC) for ProASICPLUS Devices:
 create_clock
 set_multicycle_path
 set_false_path
 set_max_delay

 More SDC Constraints Coming in Future Releases


 With Full SDC Support, GCF Constraints Will Be Dropped

Libero™ IDE © 2005 Actel Corp. July, 2005 316

158
Specifying Design Objects in SDC
 Most Constraint Commands Require Command Argument
 SDC Supports both Implicit and Explicit Object Specification
 To Avoid Ambiguity, Explicitly Specify Object Type by Using Nested Object
Access Command
Design object Access command Description
clock get_clocks Single clock in a design
all_clocks All clocks in a design

port get_ports An entry point to or exit point from


a design
all_inputs All entry points to a design.
all_outputs All exit points from a design.

cell get_cells An instance of a design or library cell

pin get_pins An instance of a design port or library


cell pin

Example: set_max_delay 15.00 -from [all_inputs] -to [get_clocks


{MY_CK_SEL}]
Libero™ IDE © 2005 Actel Corp. July, 2005 317

Importing Timing Constraints


Synopsys Design Constraint (SDC) Is Accepted File Format for
Timing Constraints
 Synthesis Timing Constraints May Be Imported into Designer

Libero™ IDE © 2005 Actel Corp. July, 2005 318

159
Exporting Timing Constraints
 Timing Constraints Entered in Timer Can Be Exported
 File Can Be Edited and Imported into Designer if Desired

Libero™ IDE © 2005 Actel Corp. July, 2005 319

Designer 6.1 Timer


Improved Constraints Handling
 PALACE .sdc File Now Imported as Source
 Audited as Source File
 Can Still Be Imported as Auxiliary File post-Compile

Designer 6.1
Synthesis
Synthesis Menu select
Timer

Generate
Generate GCF
design compile
design netlist
constraints
constraints
SDC Layout
unaudited
PALACE
PALACE
audited
Import
Importaux
auxSDC
SDC
constraints
constraintsfile
file

*True Synopsys Design Constraints

Libero™ IDE © 2005 Actel Corp. July, 2005 320

160
Designer 6.1 Timer
Multi-cycle Path Constraints
 SDC Support for Multi-cycle Paths - All NGT Families
 APA (PA3)
 AX, AX-S FF FF
FF FF
 SX-A, eX, SX-S 11 22
Clock CK
Generator
MyDesign

CKsource
Default setup relationship New setup relationship

CKsink

set_multicycle_path -setup 2 -from FF1 -to FF2

Libero™ IDE © 2005 Actel Corp. July, 2005 321

Designer 6.1 Timer


Other Enhancements
 Fmax in Summary Tab Now Takes Duty Cycle into Account
 Sort by Slack on User-defined Sets
 Sort by Highest Negative Slack
 Now Supports Sort-by-slack and Sort-by-delay

Libero™ IDE © 2005 Actel Corp. July, 2005 322

161
Timer Reports

Timing Report
Tool -> Report Paths from Timer
Main Menu
 Generates Standard Set of
Measurements
 External Setup and Hold Times
Can Be Included
 Report Can Be Printed or
Saved to File
 Report Can also Be Generated
from Designer Main Menu

Libero™ IDE © 2005 Actel Corp. July, 2005 324

162
Timing Violation Report
 Lists Timing Violations in Design
 Tool > Report Violations

Libero™ IDE © 2005 Actel Corp. July, 2005 325

Cross-Probing
Timer and MVN Tools
 Designers Can Cross-probe between Timer and MVN Tools

Libero™ IDE © 2005 Actel Corp. July, 2005 326

163
Cross Probing
Timer and ChipEditor
 Timer Expanded Path Can
Cross-probe with ChipEdit and
Netlist Viewer

Libero™ IDE © 2005 Actel Corp. July, 2005 327

Constraint Recommendations
 Set Realistic Constraints

 Set Sufficient Constraints

 Don’t Over constrain


 Improperly-Constrained Design Can Lead to Long Run Times,
Multiple Iterations and/or Sub-optimal Results
 max_delay Is Not Equivalent to Clock Constraint or Clock Period
 Use Exceptions
 Use Global Stop Set

Libero™ IDE © 2005 Actel Corp. July, 2005 328

164
Layout
 Assign Physical Locations to Unassigned I/Os
 Place Logic Modules
 Assign Routing Tracks to Nets
 Calculate Detailed Delays for All Paths

Libero™ IDE © 2005 Actel Corp. July, 2005 329

Layout Modes
SX Architecture
Layout Mode
 Timing-Driven: Constraints Defined in Timer
 De-selecting Timing-Driven Layout Selects Standard
Layout
Incremental Placement
 Lock Existing Placement: Treats All Unchanged
Macros as Fixed Placements
 De-selecting Allows Placer to Relocate Unchanged
Macros if Necessary
Multiple Passes
 P&R Runs Multiple Times
 User Specifies Number of Times and which Results to
Save (Best or All)

Advanced Options Allow Additional Control of


Timing-driven Placement Engine
 SX, SXA and eX Families

Libero™ IDE © 2005 Actel Corp. July, 2005 330

165
Advanced Layout Options
SX Architecture

 Extended Run
 Directs Layout to Use Larger Number of Iterations during
Optimization to Improve Layout Quality
 Causes Layout to Run up to 5 Times Longer

 Effort Level
 Specifies Duration of Timing-driven Phase of Optimization during
Layout as Percentage of Default Duration
 Default Value is 100
 Selectable Range from 25 to 500
 Reducing Effort Level also Reduces Run Time of Timing-driven
Place and Route (TDPR).
 With Effort Level of 25, TDPR Is Almost Four Times Faster than Default
of 100
However, with Fewer Iterations Performance May Suffer
 Routability May or May Not Be Affected

Libero™ IDE © 2005 Actel Corp. July, 2005 331

Advanced Layout Options (cont.)


SX Architecture

 Timing Weight
 Setting this Option Changes Weight of Timing Objective Function
 Recommended Range: 10 - 150 (Default is 100)
 Bias TDPR in Favor of either Routability or Performance
 Weight Is Specified as Percentage of Default Weight
 Value of 100 Has No Effect
 Value Less than 100 – More Emphasis on Routability and Less on
Performance
Appropriate for Design that Fails to Route with TDPR
 Value Higher than 100 – More Emphasis on Performance
BUT … Very High Value of Timing Weight Might Degrade Performance!

Libero™ IDE © 2005 Actel Corp. July, 2005 332

166
Layout Options
Axcelerator
Layout Mode
 Timing-Driven: Constraints Defined in Timer
 De-selecting Causes Standard Layout to Be
Used
Place and Route Tools
 Can Be Turned On or Off
Incremental Placement and Routing
 Lock Existing Placement: Treats All
Unchanged Macros as Fixed Placements
Placement Effort Level
 Provides Degree of Control over Timing-
Driven Placement Engine
 Range is from “Low” to “High”
Multiple Passes
 P&R Runs Multiple Times
 User Specifies Number of Times and which
Results to Save (Best or All)

Libero™ IDE © 2005 Actel Corp. July, 2005 333

Layout Options
Flash Architecture
Layout Mode
 Timing-Driven: Constraints Defined in
Timer
 De-selecting Causes Standard Layout to
be Used
Place and Route Tools
 Can Be Turned On or Off
Incremental Placement and Routing
 Lock Existing Placement: Treats All
Unchanged Macros as Fixed Placements
Multiple Passes
 P&R Runs Multiple Times
 User Specifies Nmber of Times and which
Results to Save (Best or All)

Libero™ IDE © 2005 Actel Corp. July, 2005 334

167
Which Layout Mode to Use?

Analyze the pre-layout estimates

Are estimates Yes No constraints needed


well within
(Use Standard Mode Layout)
design specs
?

No

Are estimates Yes


within 15% of Apply constraints within Timer
design specs (Use Timing-Driven Layout)
?

Libero™ IDE © 2005 Actel Corp. July, 2005 335

Completed Layout

Libero™ IDE © 2005 Actel Corp. July, 2005 336

168
Exporting SDF File

Extract Timing delays


for post-layout simulation

Libero™ IDE © 2005 Actel Corp. July, 2005 337

Other Designer Tools

169
SmartPower

SmartPower Supports Axcelerator,


ProASIC, and ProASICPLUS
Families
 SmartPower Icon Not Visible for
other Families
SmartPower Report Contains Clock
Domains, Set of Pins, and
Annotated Pins
 Detailed Information Available in
Designer Documentation
 SmartPower.pdf

SmartPower icon

Libero™ IDE © 2005 Actel Corp. July, 2005 339

SmartPower
Summary Tab
 Total Static and Dynamic Power of
Design
 Calculates Junction Temperature for
Given Cooling Scenario

Design Level
Power Summary

Ambient Temp.
Cooling Type
Calculated Junction Temp.

Libero™ IDE © 2005 Actel Corp. July, 2005 340

170
SmartPower
Domains Tab
 Shows Clock Domains with their Corresponding Frequencies

Delete selected
domain

Domain Create New


management Domain
window –
add domains or
select an
existing domain

Pin management
window -
add pin to the
Filter Boxes current domain.

Libero™ IDE © 2005 Actel Corp. July, 2005 341

SmartPower
Dynamic Tab
 Provides Detailed Hierarchical Reports of Dynamic Power
Consumption

Reported
Hierarchy Values
Instances
Window

Report
Window

Libero™ IDE © 2005 Actel Corp. July, 2005 342

171
SmartPower
Activity Tab
 Allows Entry of Switching Activity Information on Interconnects of
Design

Global
Selected Clock
Frequency
Domain

Pin Type

Non- Annotated
Annotated Pins
Pins

Specified
Frequency

Libero™ IDE © 2005 Actel Corp. July, 2005 343

SmartPower
Power Report
 Text Format
 Select Hierarchical, Flat or
Breakdown as Report Style
 Select Static and/or Dynamic
Power for Reporting
 Options Menu Invokes
Preferences Menu

Libero™ IDE © 2005 Actel Corp. July, 2005 344

172
Post-Layout Simulation

Design Capture

Simulation Synthesis Post-Synthesis Simulation

Place & Route

Post-P&R Simulation Programming

Libero™ IDE © 2005 Actel Corp. July, 2005 345

Post-Layout Simulation
 Steps
 Route design
 Export .sdf file (Back-annotate)
 Run Post-layout Simulation
 SDF File Contains Delays for Min, Typ and Max
(DELAYFILE
(SDFVERSION "2.1")
(DESIGN "counter")
(VOLTAGE 2.70:2.50:2.30)
(PROCESS "WORST")
(TEMPERATURE 0:25:70)
(TIMESCALE 100ps)

(CELL
(CELLTYPE "OUTBUF")
(INSTANCE COUNT_pad_12)
(DELAY
(ABSOLUTE
(PORT D (1.65:2.55:3.52) (2.21:3.40:4.62))
(IOPATH D PAD (19.19:28.90:39.88) (17.49:26.35:38.85))
)
)
)
rising falling
min:typ:max min:typ:max
Libero™ IDE © 2005 Actel Corp. July, 2005 346

173
Post-Layout Simulation
 Click on “Simulation” in Design Flow Window or…

Right
Mouse
Click!

Double
Click!

Libero™ IDE © 2005 Actel Corp. July, 2005 347

Post-Layout Simulation
 Structural Netlist and .sdf File
Used for Simulation
 Simulator runs for 1 uS as
Default
 Max Operating Conditions
Default

Libero™ IDE © 2005 Actel Corp. July, 2005 348

174
Post-Layout Simulation
Selecting Operating Conditions
 Post-layout Operating
Conditions Can Be Specified
within Libero
 Tools > Options from Libero
Main Window
 Select Simulation Tab in
Options Window
 Choose Min/Typ/Max

Libero™ IDE © 2005 Actel Corp. July, 2005 349

Programming & Debugging

Design Capture

Simulation Synthesis Post-Synthesis Simulation

Place & Route

Post-P&R Simulation Programming

Libero™ IDE © 2005 Actel Corp. July, 2005 350

175
Generating Programming File
Flash

Generate programming
file (bitstream or STAPL)

Select output file type

File Format Contains Programmer


Bitstream Raw Data Sculptor, Sculptor II
Raw Data plus Sculptor, Sculptor II,
programming FlashPro, FlashPro Lite,
STAPL infomration In system programming
Libero™ IDE © 2005 Actel Corp. July, 2005 351

Sculptor II Overview
 PC-based Parallel-port, Single Device Programmer
 Designed to Allow Concurrent Programming of Multiple
Units from Same PC
 Replaces Silicon Sculptor I as Actel's Programmer of
Choice
 Silicon Sculptor II Benefits:
 Programs All Actel Packages
 Antifuse and Flash Programming Support
 Universal Actel Socket Adapters
 Works with Silicon Sculptor I Adapter Modules
 Uses Same Software as Silicon Sculptor I
 Provides Extensive Self-test Capability

Libero™ IDE © 2005 Actel Corp. July, 2005 352

176
Sculptor II Software
 Available from Actel Website
 http://www.actel.com/custsup/updates/silisculpt/
 Requirements (Windows Version)
 Microsoft Windows 95/98, Win NT or Win 2000
 Requirements (DOS Version)
 286 with 4MB RAM, Approx. 6MB Hard Drive Space
 DOS-driven Program - Memory Managers Not Required
 DOS Shell from Windows 95/98 - OK
 Does Not Work with Windows NT

Libero™ IDE © 2005 Actel Corp. July, 2005 353

Invoking Sculptor II Software from Libero


Click “Program” Button in Design Flow Window or..

Right
Mouse
Click!

Double
Click! or

Libero™ IDE © 2005 Actel Corp. July, 2005 354

177
Silicon Sculptor II Windows Interface

1. Select > Device


2. Buffer > Load
Check to see if the chip is blank.

Programs the design fuses.


Programs the security fuse.

Checksum Command (under the pull Status Area


down menu) compares checksum on
the chip to FUSCHECKSUM in the
.afm file.
Libero™ IDE © 2005 Actel Corp. July, 2005 355

Silicon Sculptor II DOS Interface

Programs the security fuse.

Programs the design fuses.

Checks to see if the chip is blank.

Compares checksum on the chip to


2. Buffer > Load FUSCHECKSUM in the .afm file.

1. Select > Device

Status Area
Libero™ IDE © 2005 Actel Corp. July, 2005 356

178
Flash Programming
 Flash FPGA Devices Can Be Programmed Multiple Ways
 Off-board Programming with Silicon Sculptor II
 In-System Programming (ISP) using JTAG Interface with Silicon
Sculptor II, Flash Pro or Flash Pro Lite Portable Programmer
 Programming via Microprocessor Interface (ProASICPLUS)

Libero™ IDE © 2005 Actel Corp. July, 2005 357

FlashPro Programmer

 Supports All Flash FPGAs


 Small Form Factor - 24 in3
 Low Cost
 Hardware Features
 Small 26-pin Header
 20” Ribbon Cable
 ECP Parallel Port

 Software Features
 Win 95/98/NT/00 O/S
 STAPL Support
 Daisy Chain Capability
 Log File Generation
 Self-test Option

Libero™ IDE © 2005 Actel Corp. July, 2005 358

179
FlashPro Lite Programmer
 Supports ProASICPLUS Devices
 Low Cost
 Ultra-small Form Factor
 Hardware Features
 Draws Power from Target Board
 Connects to Parallel Port
 Supports In-system Programming
 Software Features
 Supports Windows 98, NT, 2000, and XP Operating Systems
 STAPL Support
 Free Software Updates

Libero™ IDE © 2005 Actel Corp. July, 2005 359

ISP for ProASICPLUS Programming Header


 New Header
 Samtec 26-pin Header
 Support by Flash Pro and Silicon Sculptor
 Part Number: FTSH-113-01-L-D-K
 Pinout (on Customer PCB Board, Top View)

2.5/3.3V 1 2 VDDP
2.5V/3.3V 3 4 VDDP
2.5V/3.3V 5 6 VPP
GND 7 8 VPN
GND 9 10 GND
GND 11 12 TCK
NC 13 14 TDI
NC 15 16 TDO
GND 17 18 TMS
GND 19 20 RCK
TRSTB 21 22 TRSTB
2.5V 23 24 VDDL/VDD
2.5V 25 26 VDDLVDD

Libero™ IDE © 2005 Actel Corp. July, 2005 360

180
FlashPro User Interface

Libero™ IDE © 2005 Actel Corp. July, 2005 361

Programming with FlashPro


 Launch FlashPro from Libero
 Connect to Programmer
 Analyze Chain
 Select Device and Operation
 Execute Operation

Libero™ IDE © 2005 Actel Corp. July, 2005 362

181
Connect to Programmer
 File -> Connect
 Connect to Programmer
 Select Flash FPGA Device

Specify PC port
Select Family

Disable programming
voltages from programmer
if available on board

Libero™ IDE © 2005 Actel Corp. July, 2005 363

Analyze JTAG Chain


 File -> Analyze Chain
 Chain Details Appear in Log Window
 First Device Listed Is Nearest TDO of Programming Header

Select device
in chain

Libero™ IDE © 2005 Actel Corp. July, 2005 364

182
Load STAPL File
 Load STAPL File for Programming
 STAPL File Exported from Designer

Open file

Libero™ IDE © 2005 Actel Corp. July, 2005 365

Selecting an Operation
 Select Action to Perform

Option Action
Program Programs device
Erase Erases device

Verify device (same


Verify as VERIFY_EOL)
Verify all flash cells
Verify BOL within BOL spec
Verify all flash cells
Verify EOL within EOL spec
READ_IDCODE Reads device ID
READ Reads back device
Returns device type
DEVICE_INFO and s/n
CHECK Checks device id

Libero™ IDE © 2005 Actel Corp. July, 2005 366

183
Execute Operation

Execute button

Programming sequence
Optional steps in bold font

Progress displayed
in log window

Libero™ IDE © 2005 Actel Corp. July, 2005 367

Invoking FlashPro Software from Libero


 Click “Program” Button in Design Flow Window or..

Right
Mouse
Click!

Double
Click! or

Libero™ IDE © 2005 Actel Corp. July, 2005 368

184
Programmer Summary

Supported
Programmer Families Manufacturer Connection
Sculptor II ALL BP Microsystems PC Parallel
ProASIC and
Flash Pro ProASICPLUS FS2 PC Parallel
PLUS
Flash Pro Lite ProASIC FS2 PC Parallel

Libero™ IDE © 2005 Actel Corp. July, 2005 369

185
Silicon Explorer
 Debug Designs in Real Time!
 Select Internal FPGA Nodes on the Fly for Viewing while Device
Runs at FULL Speed!
 Reduce Debug Time and Decrease your Time to Market!

Design

Prototype

Select
Nodes

Observe
Results
Debug

Libero™ IDE © 2005 Actel Corp. July, 2005 371

Preparing for Debug


 If Possible, Avoid Using Probe
Pins for Regular User I/O

Reserve Probe pins during compilation

 Make Probe Pins Accessible


 Jumper Leads, Dedicated
Connector

Libero™ IDE © 2005 Actel Corp. July, 2005 372

186
Preparing for Debug (cont.)
 Silicon Explorer Used for Debugging
 Can Probe any Two INTERNAL Nodes in Real Time
 Four Internal Nodes for Axcelerator
 Also Functions as 18-channel Logic Analyzer
 Needs Only .prb File to Allow Debugging.
 Security Fuse Should NOT Be Programmed on Device

Generate Probe file

Libero™ IDE © 2005 Actel Corp. July, 2005 373

Action Probe Circuitry


 Dynamic Internal Node Access
 No Changes to Timing
Relationships
 No Changes to Fan-out or Node
Loading
Registers

 Patented Architectural Feature


 Antifuse Devices Only
 Unique to Actel
 No Silicon Overhead
 Uses Zero Logic Resources Control

 Always there if Needed Registers

Libero™ IDE © 2005 Actel Corp. July, 2005 374

187
Silicon Explorer Setup
SX/SX-A/eX

18 Logic Analyzer
Windows PC Channels

Serial
Connection SX/SXA
Silicon TMS
TDI
TCK D Q

Explorer TDO

PRA
PRB

Libero™ IDE © 2005 Actel Corp. July, 2005 375

Silicon Explorer II
 Action Probe Control
 Serial Port Connection
 No Plug-in Cards
 High-speed Signal Acquisition
 Sampling Rate
 100MHz Asynchronous
 66 MHz Synchronous
 Analyze PC-hosted Software
 Optional External Power Supply (Recommended for SX-A)
 Multilevel Triggering

Libero™ IDE © 2005 Actel Corp. July, 2005 376

188
Silicon Explorer Software

Full-featured 18 channel Logic Analyzer


 Flexible Signal Assignment
 Signal Grouping, Bussing
 Decimal, Hex, Binary,
Analog Radix Selection for
Bussed Signals
 Edge and Level Trigger
Selection
 64K Samples per Channel
 Easy-to-learn, Easy-to-use
Interface

Libero™ IDE © 2005 Actel Corp. July, 2005 377

Designer Cross-Probing
 Designer Allows you to Verify
and Optimize your Design

 Silicon Explorer II Helps you


Perform In-system Debugging

 Cross-Probing Links All Design


Views

Libero™ IDE © 2005 Actel Corp. July, 2005 378

189
Invoking Silicon Explorer
 Launch Silicon Explorer from Toolbar or Process Window

Select
from
menu

or

Double
Click!

Libero™ IDE © 2005 Actel Corp. July, 2005 379

Summary
Libero FPGA Design Suite Includes:
 Design Entry
 ViewDraw, HDL Editor, ACTgen
 Synthesis
 Synplicity
 Physical Synthesis
 Magma PALACE
 Verification
 ModelSim, WaveFormer Lite
 Designer (P&R, Timing Analysis and Constraints)
Actel Continues to Improve Libero IDE
 Increased Quality of Results
 Ease of Use
 Additional Features

Libero™ IDE © 2005 Actel Corp. July, 2005 380

190

You might also like