Libero Ide - Session 1

  • May 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Libero Ide - Session 1 as PDF for free.

More details

  • Words: 17,412
  • Pages: 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 Featured FPGA

Axcelerator Axcelerator >500MHz >500MHz

PLUS ProASIC ProASICPLUS

150MHz 150MHz

Economy FPGA

ProASIC ProASIC 100 100 MHZ MHZ

SX-A SX-A 250 250 MHz MHz

CPLD Equivalent

eX eX 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 & Nonvolatile

Reprogrammable

Libero™ IDE

© 2005 Actel Corp.

Nonvolatile

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

712 712

ISP, ISP,2P-RAM/FIFO, 2P-RAM/FIFO,PLLs, PLLs,LVPECL, LVPECL,FlashLock FlashLock

PLUS ProASIC 1000 ProASICPLUS 1000

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 Implementation

Design Verification

Physical Implementation

Synplify

SynaptiCAD

PALACE •Physical Synthesis

•Integrated Design Environment

• Synthesis

• Stimulus

ViewDraw AE

ModelSim

Actel Designer

•Place & Route

Libero™ IDE

•Schematic Capture

•Simulation

Actel

Actel

• ACTgen Macro builder

• Silicon Explorer Debugger

© 2005 Actel Corp.

FlashPro

•Programming

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

July, 2005

12

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

Language-Sensitive HDL Editor 

Verilog 95 or VHDL 93

Design Explorer Window

HDL pane

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.

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 Incomplete Libero™ IDE

Synthesis Complete

Source Modified – EDIF Netlist not current

© 2005 Actel Corp.

July, 2005

15

July, 2005

16

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

Synthesis Succeeded

Libero™ IDE

© 2005 Actel Corp.

Synthesis Failed

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:  Red => Errors  Blue => Hyperlinks  Light Blue => Warnings

Right Mouse Click!

Click in window to clear or copy text

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 project location

 File > New Project

 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

July, 2005

22

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



Licensing and Technical Support Directly from Mentor

 No Actel OEM Versions

Libero™ IDE

© 2005 Actel Corp.

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

July, 2005

26

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.

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

Libero™ IDE

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)

© 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

July, 2005

32

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.

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

July, 2005

36

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.

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

July, 2005

38

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.

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

July, 2005

42

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.

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

July, 2005

44

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.

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  



Rule-based Generation Guarantees Functional Accuracy



Outputs:  

Libero™ IDE

High Speed Small Area

© 2005 Actel Corp.

VHDL - Behavioral and Structural Verilog Behavioral and Structural

July, 2005

51

July, 2005

52

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.

26

Launching ACTgen from Libero ACTgen icon

Libero™ IDE

© 2005 Actel Corp.

July, 2005

53

July, 2005

54

ACTgen User Interface

Version #

Core details

Shows Categories Based on Selected Family View by category or alphabetically

Version of selected or configured core

View selected and configured cores for project Libero™ IDE

© 2005 Actel Corp.

27

ACTgen Alphabetical Browse

Libero™ IDE

© 2005 Actel Corp.

July, 2005

55

July, 2005

56

ACTgen Browse by Family

Libero™ IDE

© 2005 Actel Corp.

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

July, 2005

60

Component Generation

Macro name Output format Generate behavioral VHDL or Verilog

Files appear on Libero File Manager tab

Libero™ IDE

© 2005 Actel Corp.

30

Structural Schematic Designs

Structural Schematic Design Flow Design Capture

Generate Structural Netlist

Pre-Layout Simulation

Place & Route

Post-P&R Simulation

Libero™ IDE

© 2005 Actel Corp.

Programming

July, 2005

62

31

Design Capture Design Capture

Generate Structural Netlist

Pre-Layout Simulation

Place & Route

Post-P&R Simulation

Libero™ IDE

Programming

© 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 Functions

Net 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

July, 2005

72

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.

36

Customizing a Schematic Border (cont.)  Save File to New Name  (File > Save Copy As )  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

July, 2005

74

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.

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 this net

Libero™ IDE

Add and label this net

Add and label this net

© 2005 Actel Corp.

July, 2005

77

July, 2005

78

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 Libero™ IDE

add label to bus © 2005 Actel Corp.

add label to net

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

July, 2005

80

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.

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

July, 2005

82

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.

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

Libero™ IDE

© 2005 Actel Corp.

Programming

July, 2005

88

44

Design Capture

Design Capture

Simulation

Synthesis

Post-Synthesis Simulation

Place & Route

Post-P&R Simulation

Libero™ IDE

Programming

© 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

July, 2005

92

Mixed Mode Schematic

Libero™ IDE

© 2005 Actel Corp.

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

Libero™ IDE

Programming

© 2005 Actel Corp.

July, 2005

95

July, 2005

96

Design Capture

Design Capture

Simulation

Synthesis

Post-Synthesis Simulation

Place & Route

Post-P&R Simulation

Libero™ IDE

© 2005 Actel Corp.

Programming

48

Creating New HDL Macros

Libero™ IDE

© 2005 Actel Corp.

July, 2005

97

© 2005 Actel Corp.

July, 2005

98

HDL Editor

Libero™ IDE

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

July, 2005

100

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.

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

July, 2005

102

Project Manager with Saved Files...

VHDL file

Libero™ IDE

© 2005 Actel Corp.

51

Functional Simulation

Design Capture

Simulation

Synthesis

Post-Synthesis Simulation

Place & Route

Post-P&R Simulation

Libero™ IDE

© 2005 Actel Corp.

Programming

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 Clock name

Double 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

July, 2005

110

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.

55

Drawing Signals Edge Placement

Enter time for edge placement

Libero™ IDE

Double click at end of signal

© 2005 Actel Corp.

July, 2005

111

© 2005 Actel Corp.

July, 2005

112

Editing Signals

Libero™ IDE

56

Drawing Busses Double click “VAL” state button

Double Click!

Libero™ IDE

© 2005 Actel Corp.

July, 2005

113

July, 2005

114

Editing Signals Appending and Inserting

Copy of waveform is inserted!

Libero™ IDE

© 2005 Actel Corp.

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

July, 2005

118

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.

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

July, 2005

122

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.

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

July, 2005

126

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.

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



Libero™ IDE

Automatic Window Updating

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

Libero™ IDE

ModelSim> prompt before design is loaded. VSIM> prompt is displayed after design is loaded © 2005 Actel Corp.

July, 2005

129

July, 2005

130

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.

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 Drag & Drop

Virtuals Multiple Panes

Zooming

Simulation Control

Libero™ IDE

Item formatting

Cursor Measurements

© 2005 Actel Corp.

July, 2005

133

July, 2005

134

Creating Busses in Wave Window  Scalar Signals Can Be Combined into Vectors

Libero™ IDE

© 2005 Actel Corp.

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

July, 2005

138

Wave Log Files (cont.)  Enter file name in Save Dataset dialog box

Enter name

Libero™ IDE

© 2005 Actel Corp.

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

July, 2005

140

Opening Datasets (cont.) Click to browse for dataset

Select file and click open

Libero™ IDE

© 2005 Actel Corp.

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

July, 2005

144

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.

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

July, 2005

146

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 

Libero™ IDE

Wave or List Windows or Log File

© 2005 Actel Corp.

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 or readers

Libero™ IDE

© 2005 Actel Corp.

Zoom control

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

July, 2005

150

Saving Tabular Output

Drag & Drop!

Libero™ IDE

© 2005 Actel Corp.

75

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

Restart

Run

Run Length

Run -all

Step

Continue Run

Break

Step Over

 In Wave Window Tool Bar:

Run

Run -all

Continue Run Libero™ IDE

© 2005 Actel Corp.

Break July, 2005

151

July, 2005

152

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     

Libero™ IDE

Listed Signals Waved Signals Breakpoints Logged Signals Virtual Signals

© 2005 Actel Corp.

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 [<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

July, 2005

156

Associating Stimulus Right Mouse Click!

Libero™ IDE

© 2005 Actel Corp.

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

July, 2005

158

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.

79

Libero Simulation files on HDD

Libero™ IDE

© 2005 Actel Corp.

July, 2005

159

July, 2005

160

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.

80

Synthesis

Design Capture

Simulation

Synthesis

Post-Synthesis Simulation

Place & Route

Post-P&R Simulation

Libero™ IDE

Programming

© 2005 Actel Corp.

July, 2005

161

July, 2005

162

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

Right Mouse Click!

or Double Click!

Libero™ IDE

© 2005 Actel Corp.

81

Synplify Interface Add constraint files or VHDL packages

Libero automatically lists files lowest levels first, top last

Change target and result file

Libero™ IDE

Global synthesis constraints

© 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

July, 2005

166

Global Constraints  Frequency  Symbolic FSM Compiler  Configure HDL Compiler  Resource Sharing

Libero™ IDE

© 2005 Actel Corp.

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

July, 2005

170

Resource Sharing  When enabled, Synplify performs automatic sharing of operator resources, including adders, subtractors, incrementers, and decrementers.

if if (s (s == ‘0’) ‘0’) then then YY <= <= AA ++ B; B; else else YY <= <= CC ++ D; D; end end if; if; S

S

A

A

+ C

B Y C

+

+ D

D

Without resource sharing Libero™ IDE

Y

B

With resource sharing © 2005 Actel Corp.

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

   

Libero™ IDE

© 2005 Actel Corp.

(Found Counter, FSM, Adder, etc.) Net Loading Logic Buffering and Replication Information Resource Usage Critical Path Timing Analysis

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 spreadsheetlike 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

alspreserve

A

syn_encoding

A

DESCRIPTION

Boolean sequential,

Prevents a net from being removed during Place and Route

onehot, 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 1/0

or component during optimization and mapping. Prevents the internal signal from being removed during

syn_keep

D

true/false

synthesis and optimization.

syn_maxfan

A

integer 1/0

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

syn_noclkbuf

A

true/false 1/0

Turns off the automatic insertion of clock buffers. 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, architecture or register

syn_radhard level

A

syn_replicate

A

string 1/0 1/0

syn_sharing

D

true/false

Libero™ IDE

Disable register replication Enables/disables the resource sharing of operators inside a module during synthesis.

© 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 attribute attribute attribute attribute Libero™ IDE

syn_keep of and_out3 : signal is true; syn_keep of or_out1 : signal is true; alspreserve: boolean; alspreserve of and_out3 :signal is true; alspreserve of or_out1 : signal is true; © 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:  5 - 24 States:  > 24 States:

Sequential One-hot 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 } Example - Disables All Replication in Design:

0 disables replication

. . . define_global_attribute syn_replicate {0}

. . . Libero™ IDE

© 2005 Actel Corp.

July, 2005

187

syn_replicate Usage (cont.)  Verilog Syntax

1 enables replication

disables replication object /* synthesis syn_replicate = 1 | 0 0*/;

 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 else

<= 0;

end

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  Improves Design Performance

Synplify 7.5.1 Pro GUI

 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

Reg

8ns

Reg

Performance: 83MHz Limited by 12ns

 After Retiming

Reg

Libero™ IDE

12ns

© 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

Libero™ IDE

Programming

© 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

July, 2005

200

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.

100

Place and Route

Design Capture

Simulation

Synthesis

Post-Synthesis Simulation

Place & Route

Post-P&R Simulation

Libero™ IDE

© 2005 Actel Corp.

Programming

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

July, 2005

204

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.

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

July, 2005

206

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.

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 EDIF Verilog VHDL Actel ADL Netlist Criticality ProASIC Constraint File Physical Design Constraint File

Libero™ IDE

© 2005 Actel Corp.

Extension *.ed* *.v *.vhd *.adl *.crt *.gcf *.pdc

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 Criticality PIN SDC Physical Design Constraint Value Change Dump Switching Activity Intermediate File/Format Design Constraint File

Libero™ IDE

© 2005 Actel Corp.

Extension *.crt *.pin *.sdc *.pdc *.vcd

*.saif *.dcf

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

July, 2005

210

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.

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

July, 2005

212

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.

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

July, 2005

218

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;

Libero™ IDE

© 2005 Actel Corp.

Disables buffer and inverter optimization

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;

Libero™ IDE

Enables buffer and inverter optimization

© 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 ;  Global Command

 set_max_fanout Net_name;  Single Net or Set of Nets (*)

 set_max_fanout 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 .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

July, 2005

224

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

48

RESET_c

Nets assigned to global resources

. . . Libero™ IDE

© 2005 Actel Corp.

112

Designer Import Log (cont.) . . . I/O

Cells:

Core cells: | Instances |

Input. IOs: Bidir

2

IOs:

0

Output IOs:

16

Global IOs:

2

Internal Global:

0

IOs:

Tiles

Logic

|

81

|

185 |

81

Storage

|

48

|

384 |

48

RAM/FIFO

|

0

|

0 |

0

|

|

|

----------------------Total

Gates |

----------|-----------|--------|-------

----------|-----------|--------|-------

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

Internal

|

113

|

1.9

|

16

Net statistics

---------------|--------|----------------|-----------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 .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 end if; end process;

Q1 <= A;

process (clk, resetn, presetn) begin 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;

Deleted blocks

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

Log Window

World View 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

July, 2005

234

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.

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

July, 2005

240

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.

120

VREF Pins Axcelerator  Assigning VREF Pins

Libero™ IDE

© 2005 Actel Corp.

July, 2005

241

July, 2005

242

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.

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 Type

PIN file Gatefield Constraint file Physical Design Constraint Libero™ IDE

© 2005 Actel Corp.

File Extension Family ACT1, ACT2, ACT3, MX, XL, DX, SX, SX-A, eX *.pin ProASIC, *.gcf ProASIC PLUS *.pdc Axcelerator 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

July, 2005

252

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.

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 local clock region

 Create Logic Region  Create Empty Region

Create empty region

Delete region

 Select Region  Move Region

Assign / Unassign

 Delete Region  Resize Region

Create inclusive 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

July, 2005

258

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.

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

July, 2005

262

ChipPlanner Region Properties  Region > Properties  Indicates:

Change region color

 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.

131

MultiView Navigator Region Color Control Example

Libero™ IDE

© 2005 Actel Corp.

July, 2005

263

July, 2005

264

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.

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

 Display Input Nets

Hide nets

Show routes

 Display Output Nets  Display Input and Output Nets  Display Ratsnest

Show inputs only Show Ratsnest Show outputs only

 Display Routes  Routes Option for APA and A500K Only

View Ratsnest Libero™ IDE

View Routes © 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

RAM block

Top2

Top3 …

1) Core + memory 2) Core + memory + I/O i/o

spine core

i/o i/o i/o i/o i/o Libero™ IDE

© 2005 Actel Corp.

July, 2005

269

July, 2005

270

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.

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] …  routing_resource_type is either hclk or rclk  local_clock_region is Hierarchical Resource Name of Specific Clock Region Tile3b.colN-1 Tile 3A

3

Tile3C.Row0

2 Tile1C.RowN-1

1 A Libero™ IDE

B

C

© 2005 Actel Corp.

July, 2005

271

July, 2005

272

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.

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

© 2005 Actel Corp.

July, 2005

274

LogicalCone User Interface

Libero™ IDE

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

July, 2005

278

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

Libero™ IDE

© 2005 Actel Corp.

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

Libero™ IDE

 Constraints Entered on Clock Tab

Used for Register-to-Register Constraints

© 2005 Actel Corp.

July, 2005

283

Timer Clock Tab

Select Clock

Expand button 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 Pulldown 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

July, 2005

292

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.

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

July, 2005

296

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

Libero™ IDE

© 2005 Actel Corp.

148

Timer Setup Check (cont.)  Info Window Displays Setup Check  

Setup:

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

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

July, 2005

298

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.

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

July, 2005

300

Timer Hold Check (cont.)  Info Window Displays Hold Check  

Hold:

Hold time violation = (d2 (shortest) + d1 (shortest) – d3 (longest) < 0) Negative indicates timing violation

11.93

(d2 shortest)

+ 0.87

(d1 shortest)

- 0.85

(d3 longest)

= 11.95

(Met)

Libero™ IDE

© 2005 Actel Corp.

150

Clocks Tab Clock Exceptions

Libero™ IDE

© 2005 Actel Corp.

July, 2005

301

Timer Add Path Set  Path Tab Displays Registerto-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 

Libero™ IDE

© 2005 Actel Corp.

Advanced Tab

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

Constraint for user defined group

User Path

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

July, 2005

306

Timer Minimum Delays  Timer Displays Minimum Delays when “Shortest” is Selected in Preferences Minimum delay displayed

Libero™ IDE

© 2005 Actel Corp.

153

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

Window re-named to reflect minimum delays

Libero™ IDE

Required min delays shadowed no user input accepted

© 2005 Actel Corp.

July, 2005

307

July, 2005

308

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.

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:

Libero™ IDE

Timer with $1I10:E in Stop set:

© 2005 Actel Corp.

July, 2005

310

155

Timer Breaks Tab – Global Pass Sets  By Default, Timer Breaks All Signal Paths at Inputs of Flipflops and Latches  Global Pass Set Editor Provides Mechanism for Modifying Breaks to Be Passthrough Paths on All Input Pins of Flip-flops and Latches Except Data Input to Flipflops  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:

Libero™ IDE

Timer with U1:CLR in Pass set:

© 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 clock

port a design all_inputs all_outputs

Description

get_clocks all_clocks

Single clock in a design All clocks in a design

get_ports

An entry point to or exit point from

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

cell

get_cells

An instance of a design or library cell

pin cell pin

get_pins

An instance of a design port or library

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

Timer

Menu select

Generate Generate design design constraints constraints

PALACE PALACE audited

GCF

compile

netlist SDC

Layout unaudited 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  SX-A, eX, SX-S Clock Generator

CK

FF FF 11

FF FF 22 MyDesign

CKsource New setup relationship

Default 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 

Libero™ IDE

SX, SXA and eX Families

© 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 TimingDriven 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 well within design specs ?

Yes

No constraints needed (Use Standard Mode Layout)

No

Are estimates within 15% of design specs ?

Libero™ IDE

Yes

Apply constraints within Timer (Use Timing-Driven Layout)

© 2005 Actel Corp.

July, 2005

335

© 2005 Actel Corp.

July, 2005

336

Completed Layout

Libero™ IDE

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

July, 2005

340

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.

170

SmartPower Domains Tab  Shows Clock Domains with their Corresponding Frequencies Delete selected domain Create New Domain

Domain management window – add domains or select an existing domain

Pin management window add pin to the current domain.

Filter Boxes

Libero™ IDE

© 2005 Actel Corp.

July, 2005

341

SmartPower Dynamic Tab  Provides Detailed Hierarchical Reports of Dynamic Power Consumption

Reported Values

Hierarchy 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 Frequency

Selected Clock Domain

Pin Type Annotated Pins

NonAnnotated Pins Specified Frequency

Libero™ IDE

© 2005 Actel Corp.

July, 2005

343

July, 2005

344

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.

172

Post-Layout Simulation

Design Capture

Simulation

Synthesis

Post-Synthesis Simulation

Place & Route

Post-P&R Simulation

Libero™ IDE

Programming

© 2005 Actel Corp.

July, 2005

345

July, 2005

346

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 min:typ:max

Libero™ IDE

© 2005 Actel Corp.

falling min:typ:max

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

July, 2005

348

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.

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

July, 2005

350

Programming & Debugging

Design Capture

Simulation

Synthesis

Post-Synthesis Simulation

Place & Route

Post-P&R Simulation

Libero™ IDE

© 2005 Actel Corp.

Programming

175

Generating Programming File Flash

Generate programming file (bitstream or STAPL)

Select output file type

File Format Contains Bitstream Raw Data Raw Data plus programming infomration STAPL Libero™ IDE

Programmer Sculptor, Sculptor II Sculptor, Sculptor II, FlashPro, FlashPro Lite, In system programming © 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

July, 2005

354

Invoking Sculptor II Software from Libero Click “Program” Button in Design Flow Window or.. Right Mouse Click!

Double Click!

Libero™ IDE

or

© 2005 Actel Corp.

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 down menu) compares checksum on the chip to FUSCHECKSUM in the .afm file. Libero™ IDE

Status Area

© 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.

2. Buffer > Load

Compares checksum on the chip to 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

July, 2005

358

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.

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

July, 2005

360

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 2.5V/3.3V 2.5V/3.3V GND GND GND NC NC GND GND TRSTB 2.5V 2.5V Libero™ IDE

1 3 5 7 9 11 13 15 17 19 21 23 25

© 2005 Actel Corp.

2 4 6 8 10 12 14 16 18 20 22 24 26

VDDP VDDP VPP VPN GND TCK TDI TDO TMS RCK TRSTB VDDL/VDD VDDLVDD

180

FlashPro User Interface

Libero™ IDE

© 2005 Actel Corp.

July, 2005

361

July, 2005

362

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

Libero™ IDE

© 2005 Actel Corp.

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

July, 2005

364

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.

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 Program Erase

Verify Verify BOL Verify EOL READ_IDCODE READ DEVICE_INFO CHECK

Libero™ IDE

© 2005 Actel Corp.

Action Programs device Erases device Verify device (same as VERIFY_EOL) Verify all flash cells within BOL spec Verify all flash cells within EOL spec Reads device ID Reads back device Returns device type and s/n Checks device id

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

July, 2005

368

Invoking FlashPro Software from Libero  Click “Program” Button in Design Flow Window or..

Right Mouse Click!

Double Click!

Libero™ IDE

or

© 2005 Actel Corp.

184

Programmer Summary

Programmer Sculptor II Flash Pro Flash Pro Lite

Libero™ IDE

Supported Families ALL ProASIC and ProASICPLUS PLUS ProASIC

Manufacturer BP Microsystems

Connection PC Parallel

FS2 FS2

PC Parallel PC Parallel

© 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

July, 2005

372

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.

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

July, 2005

374

Action Probe Circuitry  Dynamic Internal Node Access  No Changes to Timing

Relationships  No Changes to Fan-out or Node

Loading  Antifuse Devices Only

Registers

 Patented Architectural Feature  Unique to Actel

 No Silicon Overhead  Uses Zero Logic Resources  Always there if Needed

Libero™ IDE

Control Registers

© 2005 Actel Corp.

187

Silicon Explorer Setup SX/SX-A/eX

18 Logic Analyzer Channels

Windows PC Serial Connection

Silicon Explorer

SX/SXA TMS TDI TCK TDO

D Q

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

July, 2005

378

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.

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

July, 2005

380

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.

190

Related Documents

Libero
April 2020 6
Ide
May 2020 26
Mplab Ide Tutorial[1]
November 2019 6
Rekayasa Ide-1.docx
April 2020 33
Session 1
October 2019 9