MICROCHIP logo

MICROCHIP Xilinx Spartan 6 Example Conversion

MICROCHIP-Xilinx-Spartan-6-Example-Conversionon

A Leading Provider of Smart, Connected and Secure Embedded Control Solutions

Create Libero® SoC Design Suite Project

Place conversion-script into ISE® project directory
python conv_xise_1v0.py -t <arch> <design>.xise

MICROCHIP-Xilinx-Spartan-6-Example-Conversionon-1

Open Libero SoC Design Suite and run created TCL-script

MICROCHIP-Xilinx-Spartan-6-Example-Conversionon

Project is created but missing:

MICROCHIP-Xilinx-Spartan-6-Example-Conversionon-2

  • IP: BlockRAM, my_clocks
  • Architectural base-blocks: bufg

Continued

Supported target architectures for conversion

  • MPFS: PolarFire® SoC
  • MPF: PolarFire FPGA
  • M2S: SmartFusion®2
  • M2GL: IGLOO®2
  • AGL: IGLOO
  • A3P: ProASIC®3

IGLOO and ProASIC3 devices require Libero SoC version 11.9 or earlier

Other architectures supported in latest version of Libero SoC

Replace PLLs and DCMs

  • Select IP catalog in Libero ® SoC Design SuiteMICROCHIP-Xilinx-Spartan-6-Example-Conversionon-3
  • Create Clock Conditioning Circuit (CCC) for required frequencies
  • Choose Advanced“ tab for reset

Replace Individual Clock Buffers

Designs often contain instantiated clock buffers (BUFG)

MICROCHIP-Xilinx-Spartan-6-Example-Conversionon-3

  • Vendor specific libraries
  • Unisim => smartfusion, smartfusion2,polarfire

Change of instantiations

  • BUFG => CLKINT

Documentation: Macro Library Guide

  • SmartFusion®, IGLOO® and ProASIC®3
  • SmartFusion2 and IGLOO2
  • PolarFire ®

Replace Block RAM

MICROCHIP-Xilinx-Spartan-6-Example-Conversionon-5

  • Create new LSRAM from IP catalog
  • Configure LSRAM

Create Shim

  • Take existing port map of Block RAMMICROCHIP-Xilinx-Spartan-6-Example-Conversionon-6
  • Create new HDL fileMICROCHIP-Xilinx-Spartan-6-Example-Conversionon-7
  • Adapt port map of shim

Instantiate LSRAM into Shim

  • Take entity declaration from IP fileMICROCHIP-Xilinx-Spartan-6-Example-Conversionon-8
  • Connect shim ports with instance
Update Design Hierarchy

Click Build Hierarchy“

Integration of sources under root design

MICROCHIP-Xilinx-Spartan-6-Example-Conversionon-9

Correct errors in HDL

MICROCHIP-Xilinx-Spartan-6-Example-Conversionon-21

Run synthesis

  • Correct potential typos reported by tools

MICROCHIP-Xilinx-Spartan-6-Example-Conversionon-11

Constraints

Double click Manage Constraints“

MICROCHIP-Xilinx-Spartan-6-Example-Conversionon-12

Enter timing constraints

Create Derived Constraints“

Derived constraints:

  • Take PLL functionality (multiply/phase shift)
  • Constraints “b ehind“ clock modificationMICROCHIP-Xilinx-Spartan-6-Example-Conversionon-14

Click on “Derive Constraints”

  • Populates additional SDC file

Constrain clock domain crossings

MICROCHIP-Xilinx-Spartan-6-Example-Conversionon-15

Assign Pins

  • Constraints managerMICROCHIP-Xilinx-Spartan-6-Example-Conversionon-16
  • Pin assignment via tableMICROCHIP-Xilinx-Spartan-6-Example-Conversionon-18
  • Pin assignment via package
Implement Design
  • Place and route designMICROCHIP-Xilinx-Spartan-6-Example-Conversionon-19
  • Check timing and do timing closure
    (set_false_path on clock domainMICROCHIP-Xilinx-Spartan-6-Example-Conversionon-20
  • Create bitstream

Done
Enjoy longevity of your new FPGA design

2022 Microchip Technology Inc. and its subsidiaries

Documents / Resources

MICROCHIP Xilinx Spartan 6 Example Conversion [pdf] User Guide
Xilinx Spartan 6 Example Conversion, Xilinx, Spartan 6 Example Conversion, Example Conversion

References

Leave a comment

Your email address will not be published. Required fields are marked *