IGLOO2 System Builder User’s Guide IGLOO2 System Builder User’s Guide Table of Contents Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1 Accessing System Builder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2 Configuration Pages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Device Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Peripherals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 HPMS SMC FIC Subsystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 HPMS Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 SECDED Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Security Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Subsystem Memory Map Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3 Generating Your System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Fabric Interface Controllers (FICs) and Subsystems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Subsystem: HPMS FIC_0 Fabric Master . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Subsystem: HPMS FIC_0 HPMS Master . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Subsystem: HPMS FIC_1 HPMS Master - M2GL050 and Larger Devices Only . . . . . . . . . . . . . . . . . . . . . . . . . . Subsystem: HPMS FIC_1 Fabric Master - M2GL050 and Larger Devices Only . . . . . . . . . . . . . . . . . . . . . . . . . . Subsystem: HPMS DDR FIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Subsystem: HPMS SMC FIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Subsystem: Fabric DDR - M2GL050 and Larger Devices Only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Subsystem: SERDESIF and Configuration Path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Reset Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Other Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Finishing Your Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 22 23 25 26 27 29 29 32 33 35 35 A Product Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Customer Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Customer Technical Support Center . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Technical Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Website . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Contacting the Customer Technical Support Center . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ITAR Technical Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 36 36 36 36 37 2 Introduction System Builder is a graphical design wizard designed for IGLOO2 based systems. System Builder takes you through the following steps: • Selecting available device features for your design • Adding connections for any additional needed peripherals in the fabric • Setting required configuration options for each selected feature • Building a correct-by-design complete system The IGLOO2 System Builder wizard (Figure 1) creates your design based on high level design specifications by walking you through a set of high-level questions that will define your intended system. System Builder enables you to focus on your design specializations instead of on the specific silicon requirements of a IGLOO2 based design. Based on your device feature selection, System Builder instantiates, configures, and connects the necessary low level blocks to achieve your requirements. This simplifies the design creation process. The built-in design rule check feature prevents you from moving forward if there are mistakes or conflicts. The design that is produced by the System Builder follows all the IGLOO2 silicon design rules. You can also extend the System Builder generated design with your own custom peripherals and logic by specifying your options and then using SmartDesign to connect up your custom peripherals. You must use System Builder for an IGLOO2 design that uses any of the following features: • DDR Memory Controller • High-Speed Serial Interface (SERDES) • High-Performance Memory Subsystem features, such as • – Embedded Flash Memory (eNVM) – Embedded SRAM (eSRAM) – Peripheral DMA (PDMA) – HPMS System Services – HPMS Serial Peripheral Interface (SPI) High-Performance DMA (HPDMA) 3 Figure 1 • IGLOO2 System Builder 4 1 – Accessing System Builder You can access System Builder when you first create a project for IGLOO2 in the Design Templates and Creators panel (Figure 1-1). Figure 1-1 • Design Templates and Creators Panel - System Builder If you already have your project open you can invoke System Builder from the Design Flow window (Figure 1-2). Figure 1-2 • System Builder in the Design Flow Window System Builder has a set of required cores that it must have to generate a valid design. This list of required cores is downloaded automatically if you are connected to the Internet when System Builder is invoked. If these cores are not available or present, System Builder displays a message indicating that certain cores are not available in your Vault and that you will need to download them. 5 2 – Configuration Pages Device Features Use the System Builder Device Features page (Figure 1 on page 4) to select the IGLOO2 features that you will be using in your design, including: • High-Performance Memory Subsystem Features – HPMS DDR (MDDR) – Soft Memory Controller (SMC) – HPMS On-Chip Flash Memory (eNVM) – HPMS On-Chip SRAM (eSRAM) – HPMS High Performance DMA (HPDMA) – HPMS Peripheral DMA (PDMA) – HPMS Serial Peripheral Interface (SPI) – HPMS System Services • Fabric DDR (FDDR) • High-speed serial interfaces (SERDESIF) Selecting these options enables/disables certain options from appearing on subsequent System Builder pages. Note: You can select either MDDR or SMC but not both; this is a silicon limitation. HPMS DDR (MDDR) Enables the HPMS DDR Controller. The DDR FIC subsystem appears in the Peripherals page. On the Peripherals page, you must specify which Master in your system will access the external memory through this interface. You can specify a generic AMBA Master, which means you intend to have your own AMBA master in the fabric to communicate to this external memory. To do this, on the Peripherals page, drag the Fabric AMBA Master into the DDR FIC Subsystem. You can also access the HPMS DDR Controller using HPDMA (see below). Fabric DDR (FDDR) Enables the Fabric DDR Controller for access from the Fabric. The Fabric DDR subsystem appears in the Peripherals page. On the Peripherals page, you must specify which Master in your system will access the external memory through this interface. You can specify a generic AMBA Master, which means you intend to have your own AMBA master in the fabric to communicate to this external memory. To do this, on the Peripherals page, drag the Fabric AMBA Master into the Fabric DDR Subsystem. Soft Memory Controller (SMC) Enables the SMC_FIC Interface - this is a subsystem mastered by the HPMS. System Builder instantiates CoreSDR_AXI (which is a soft SDRAM controller) and connects it to the SMC FIC. You can then initiate HPDMA transfers to an external SDRAM using this interface. The HPMS SMC FIC Subsystem appears in the Peripherals page. HPMS On-Chip Flash Memory (eNVM) Makes the eNVM Configurator available on the Memory page. This gives you the option of specifying data storage clients in the Flash Memory to store your application firmware image or other types of data, 6 such as data co-efficients or serialization clients. In addition, a port for a Fabric Master is exposed. You can connect your Fabric AMBA Master to this port to access the eNVM. HPMS On-Chip SRAM (eSRAM) Exposes a port for a Fabric Master. You can connect your Fabric AMBA Master to this port to access the eSRAM. HPMS High-Performance DMA (HPDMA) The IGLOO2 High-Performance DMA module enables you to initiate transfers between the HPMS DDR at one end and eSRAM/eNVM (read only)/Fabric Slaves at the other end. This option exposes a port for a Fabric Master. You must connect your Fabric AMBA Master to this port to access the HPDMA configuration registers. For details, refer to the IGLOO2 Silicon User’s Guide. Note: If you want a Fabric peripheral to participate in HPDMA transfers, you must add it to an HPMS Master Subsystem on the Peripherals page. If you want to use the Soft Memory Controller (SMC) you must also select HPDMA. If you select and check HPDMA in the Device Features page, the HPDMA block is automatically brought out of reset at Power Up. HPMS Peripheral DMA (PDMA) The IGLOO2 High-Performance DMA module allows you to initiate transfers between any of the following HPMS/Fabric peripherals: • eNVM (Read only) • eSRAM • Fabric Peripherals This option exposes a port for a Fabric Master. You must connect your Fabric AMBA Master to this port to access the PDMA configuration registers. For details, refer to the IGLOO2 Silicon User’s Guide. Note: If you want a Fabric peripheral to participate in PDMA transfers, you must add it to an HPMS Master Subsystem on the Peripherals page. HPMS Serial Peripheral Interface (SPI) Enables the HPMS SPI. You can access an external flash memory using this interface. Selecting this option exposes a port for a Fabric Master. You must connect your Fabric AMBA Master to this port to access the HPMS SPI configuration registers. For details, refer to the IGLOO2 FPGA High Performance Memory Subsystem User's Guide. HPMS System Services The IGLOO2 HPMS offers you a variety of Services, including Random Number Generation, Encryption and Flash*Freeze. To access these services, you must: 1. Check the HPMS System Services checkbox in the Device Features page in System Builder. This exposes a Fabric Master port on the System Builder generated block. 2. In SmartDesign, instantiate and configure the CoreSysServices soft IP core from the Catalog and connect it to this exposed port. Note: If you use System Services, you cannot use any of the eSRAM, eNVM, PDMA and HPDMA, and vice versa. This will be fixed in a later release. High-speed Serial Interfaces Depending on the device, you can select up to four SERDES interfaces. If you select a SERDES interface on this page, System Builder builds the configuration subsystem for your SERDES interface. 7 You still need to instantiate and connect the SERDES interface using SmartDesign. For details, refer to the SERDES Configurator User’s Guide. Libero automatically stores SERDES configuration data from the SERDES Configurator in the eNVM. Upon system reset, this configuration data is automatically copied into the appropriate configuration registers of the SERDES over the APB connection from the System Builder component to the SERDESIF module. Refer to the IGLOO2 High Speed Serial Interfaces and User's Guide for a complete description of all the SERDES options and registers. Memory This page is available if you are using the HPMS DDR (MDDR), Fabric DDR (FDDR), or the embedded Flash Memory (eNVM). It enables you to configure the memory components listed below. HPMS DDR You can access Double Data Rate (DDR) Memory using the HPMS DDR Controller (Figure 2-1). Click the MDDR tab to configure the HPMS DDR. Figure 2-1 • HPMS DDR Configuration (Partial View) Specify the DDR Memory Settling Time; the default is 200 us. This is the amount of time it will take for the DDR memory to be initialized. Refer to your DDR memory datasheet for details on how this settling time can be computed. If the settling time is not set correctly the DDR Memory may fail to initialize during simulation. The HPMS DDR controller must be configured to match the parameters of the selected DDR Memory. You can configure the MDDR Controller by entering the parameters of your DDR Memory in this tab. Refer to the IGLOO2 MDDR Configuration User Guide for details. Alternatively, the configuration of the HPMS DDR can be defined in a file that can be imported using the System Builder via the Import Configuration button. Libero automatically stores HPMS DDR configuration data (whether entered using the GUI or imported from a file) in the eNVM. Upon system reset, this configuration data is automatically copied into the appropriate configuration registers. 8 Refer to the IGLOO2 DDR Interfaces User's Guide for a complete description of all the DDR configuration options and registers. FDDR You can access Double Data Rate (DDR) Memory using the IGLOO2 Fabric DDR Controller (available on selected IGLOO2 devices only). Click the FDDR tab to configure the Fabric DDR (Figure 2-2). Specify DDR Memory Settling Time; the default is 200 us. This is the amount of time it will take for the Fabric DDR memory to be initialized. Refer to your DDR memory datasheet for details on how this settling time can be computed. If the settling time is not set correctly the DDR Memory may fail to initialize during simulation. The FDDR controller must be configured to match the parameters of the selected DDR Memory. Configure the FDDR Controller by entering the parameters of your DDR Memory in this tab. Refer to the IGLOO2 Fabric DDR Controller Configuration User Guide for details. Alternatively, the configuration of the FDDR can be defined in a file that can be imported using the System Builder via the Import Configuration button. Libero automatically stores FDDR configuration data (whether entered using the GUI or imported from a file) in the eNVM. Upon system reset this configuration data is automatically copied into the appropriate configuration registers. Figure 2-2 • Fabric DDR (FDDR) in System Builder (Partial View) Embedded Flash Memory (eNVM) The Embedded Flash Memory Configurator gives you the option of specifying data storage clients in the Flash Memory to store your application firmware image or other types of data, such as data co-efficients. If you want to add data storage clients to the embedded Flash Memory, select HPMS On-chip Flash Memory (eNVM) on the Device Features page of System Builder. Proceed to the Memories page and click the ENVM tab to configure it. Select the Data Storage or Serialization for the Client type and click Add to System. (Figure 2-3). Click Edit to modify the configuration of your eNVM client. 9 Refer to the IGLOO2 HPMS Embedded Nonvolatile Memory (eNVM) Configuration User’s Guide for details. Figure 2-3 • eNVM Configurator 10 Peripherals The Peripherals page is separated into two parts, a panel of available cores and a table that lists your subsystems (Figure 2-4). Figure 2-4 • Select Peripherals - Fabric Slave Cores, Fabric Master Cores and Subsystems System Builder supports up to four AHBLite masters (including the ones automatically added by System Builder based on the device features selected) to the FIC_0/1_Fabric_Master_Subsystems. This support of up to four AHBLite masters enables you to use all the device features in the System Builder device page simultaneously. The Fabric Slave and Fabric Master cores enable you to attach any custom peripherals onto the generated design. By instantiating (drag from the available cores panel into a Subsystem in the subsystem panel) and configuring these cores into a subsystem, the correct bus interface pins, clocks, and resets are exposed at the top level System Builder generated design. At the top level SmartDesign, you can then connect up these ports to your custom peripheral and they will automatically be visible to the other masters/peripherals in that subsystem. The Subsystem Table lists the available subsystems based on your selections in the Device Features page. You can add/delete/move masters and peripherals around the subsystems to define how you want the various masters and peripherals to communicate. Drag and drop a peripheral to move it to a different subsystem. You can click the Configure icon to configure the options of that core (Figure 2-5). In the configuration dialog, you can specify the AMBA protocol for that core. Not all subsystems support masters/slaves with all AMBA protocols. Details are in the "IGLOO2 Design Subsystems" section below. You can also specify 11 the Quantity, which determines how many cores with that configuration will be instantiated in the generated system. Figure 2-5 • Configuring Fabric AMBA Master Core You can also choose to delete any peripherals that you may have added to a subsystem; right-click and choose Delete. IGLOO2 Design Subsystems HPMS FIC_0 - Fabric Master Subsystem This subsystem is available by default. It enables an AMBA AHBLite Fabric Master to access the HPMS memory space through FIC_0. Depending on your configuration, there can be up to four possible AHBLite Fabric Masters for this subsystem. • ConfigMaster - This is a fabric core that drives the peripheral initialization process (i.e., the process of copying register configuration data from the eNVM to the DDR/SERDES). ConfigMaster is completely managed by System Builder, and you cannot modify it. – HPMS_FIC_0_USER_MASTER- If you select one of the eNVM, eSRAM, PDMA, or SPI (in the preceding Device Features page), this slot is meant for an AMBA AHBLite/APB3 Fabric Master IP that is provided by you. You can access one of the above four components from your Fabric Master IP. Using this slot, you can read/write to the eNVM and eSRAM, and you can configure the PDMA/HPDMA registers to initiate DMA transfers. Your Fabric Master IP must generate AHBLite-compliant data transactions to be able to use this slot. – HPMS_FIC_0_SYS_SERVICES_MASTER - If you select HPMS System Services in the Device Features page, this slot is meant for you to connect the CoreSysServices IP. After generating your system, you must configure and instantiate CoreSysServices in your top level SmartDesign. You must then connect the AHBLite Bus Interface (BIF) of CoreSysServices to the HPMS_FIC_0_SYS_SERVICES_MASTER slot. – HPMS_FIC_0_HPDMA_CONTROLLER_MASTER - If you select HPDMA in the Device Features page, this slot is meant for you to connect the CoreHPDMACtrl IP. After generating your system, you must configure and instantiate CoreHPDMACtrl in your top level SmartDesign. You must then connect the AHBLite Bus Interface (BIF) of CoreHPDMACtrl to the HPMS_FIC_0_HPDMA_CONTROLLER_MASTER slot. The CoreHPDMACtrl Soft IP controls the HPDMA of the HPMS and also monitors the transaction status. The HPDMA buffer descriptors are initialized through the core configuration. The CoreHPDMACtrl selects the buffer descriptor and initiates the transactions. It also monitors the interrupts for transfer done and error. The Soft IP also re-programs the registers to prepare the HPDMA of the HPMS for next transfer. This is the system for the HPDMA Controller. HPMS FIC_0 - HPMS Master Subsystem This subsystem is only available if you have enabled PDMA or HPDMA in the Device Features page. Use this subsystem if you want to transfer data to/from the HPMS DDR/eNVM/eSRAM to/from Fabric AMBA Slaves. For each Fabric Slave you want to use in your design, drag and drop a Fabric AMBA Slave core from the available cores panel to this subsystem. Once a Fabric AMBA Slave core is in this subsystem, you can configure the core to set its AMBA protocol (to one of AHBLite/APB3/AXI). When you generate your 12 system, you get an AMBA BIF (corresponding to the protocol you selected). In the top level SmartDesign, instantiate your actual Fabric Slave, and connect it to the appropriate slot in the generated system. HPMS FIC_1 - HPMS Master Subsystem This subsystem is only available on the M2GL050, 100, and 150 devices, and only if you have enabled PDMA or HPDMA in the Device Features page. Use this subsystem if you want to transfer data to/from the HPMS DDR/eNVM/eSRAM to/from Fabric AMBA Slaves. For each Fabric Slave you want to use in your design, drag and drop a Fabric AMBA Slave core from the available cores panel to this subsystem. Once a Fabric AMBA Slave core is in this subsystem, you can configure the core to set its AMBA protocol (to one of AHBLite/APB3/AXI). When you generate your system, you get an AMBA BIF (corresponding to the protocol you selected). In the top level SmartDesign, instantiate your actual Fabric Slave, and connect it to the appropriate slot in the generated system. HPMS FIC_1 - Fabric Master Subsystem This subsystem is available by default on the M2GL050, 100, and 150 devices. It enables a Fabric Master to access the HPMS memory space through FIC_1 in addition to other Fabric peripherals. You can drag a Fabric AMBA Master core (from the Cores pane on the Peripherals page) into this subsystem and then connect your actual Fabric Master IP to the resultant design. This subsystem supports up to four AHBLite-compliant masters. You can configure your Fabric AMBA Master core to one of AHBLite/APB3 to correspond to your Fabric Master IP. Using your Fabric Master, you can access the eNVM and eSRAM, and the PDMA or HPDMA configuration registers inside the HPMS. You can use the FIC_1 Fabric Master Subsystem to access HPMS features such as: • HPMS Services (Add an AHBLite Fabric AMBA Master Core in System Builder and connect to CoreSysServices) • eSRAM/eNVM/PDMA/HPDMA/SPI (Using your own AMBA-compliant Fabric Master) Note: If you instantiate an APB3 Fabric Master in your FIC_1 Fabric Master Subsystem, System Builder configures the FIC_1 interface and the corresponding CoreAPB3 to be compatible with CoreABClike APB3 Fabric Masters. In other words, System Builder automatically configures the APB3 Fabric Master interface with the following characteristics: • 32-bit data bus • 20 bits of address – Lower 16 bits passed directly to the HPMS – Upper 4 bits select 1 of 16 APB slave slots Slot 0 - HPMS Slots 1-14 - Fabric Slaves Slot 15 - Indirect Addressing register To access different HPMS address spaces, your Fabric Master must first write the base address (32-bits, lower 16 bits set to zero) into the Indirect Addressing register. For any subsequent transactions on this interface, the address "seen" by the HPMS will consist of the upper 16 bits stored in the Indirect Addressing register and the lower 16 bits driven by the User Fabric Master. HPMS DDR FIC Subsystem This subsystem is available if you selected the HPMS DDR feature on the Device Features page. Use this subsystem to access the HPMS DDR Memory using an AXI/AHBLite User Fabric Master. The HPMS_DDR_RAM peripheral (corresponding to the HPMS DDR controller) is shown automatically in this subsystem. You must drag and drop a Fabric AMBA Master core into this subsystem to access the HPMS DDR. When you generate your system, you get a BIF where you must connect your actual Fabric Master IP in the top level SmartDesign. Fabric DDR Subsystem This subsystem is available if you select the Fabric DDR feature on the Device Features page. The Fabric_DDR_RAM peripheral is automatically shown in this subsystem. You must provide a fabric master for the Fabric_DDR_RAM. This can be done in two ways: 13 If you intend to have a Fabric Master access the Fabric DDR, then you click and drag a Fabric AMBA Master core into this subsystem from the available cores list. When you generate your system, you get a BIF where you must connect your actual Fabric Master IP in the top level SmartDesign. If you want to access the Fabric DDR RAM from another subsystem, you can also click and drag the Fabric_DDR_RAM peripheral into one of the HPMS FIC_0/1 subsystems. This action eliminates the Fabric DDR Subsystem and makes the Fabric DDR Controller part of the HPMS FIC subsystem you dragged it into. The Master of the Fabric DDR will now be the same as the master of the HPMS FIC subsystem it is in (i.e., one of PDMA/HPDMA or a Fabric Master). If you do this, on the Clocks page, you must set the FDDR_SUBSYSTEM_CLK frequency to be equal to the frequency of FIC_0/1_CLK (depending on whether you dropped the Fabric_DDR_RAM in a FIC_0 or FIC_1 subsystem). You can also click and drag the Fabric_DDR_RAM peripheral into the HPMS_DDR_FIC_SUBSYSTEM. This eliminates the Fabric DDR Subsystem and makes the Fabric DDR Controller part of the HPMS DDR FIC subsystem. The master of the Fabric DDR will now be the same as the master of the HPMS_DDR. If you do this, you must also drag and drop a Fabric AMBA Master core into the HPMS_DDR_FIC_SUBSYSTEM. When you generate your system, you get a BIF where you must connect your actual Fabric Master IP in the top level SmartDesign. Also, on the Clocks page, you must set the FDDR_SUBSYSTEM_CLK frequency to be equal to the frequency of DDR/SMC_FIC_CLK. HPMS SMC FIC Subsystem This subsystem is available in the Peripherals Page if you select the SMC (Soft Memory Controller) in the Device Features page. HPMS High Performance DMA (HPDMA) is selected automatically in the Device Features Page if you select SMC. Use the IGLOO2 Soft Memory Controller Fabric Interface Controller (SMC_FIC) to access external bulk memories other than DDR, such as SDRAM. The HPDMA controller accesses external Single Data Rate DRAM or Asynchronous memories via this SMC_FIC and a soft memory controller instantiated in the FPGA fabric such as CoreSDR_AXI and CoreSDR_AHB. It also manages data transfers to and from eSRAM/eNVM/Fabric Slaves. Click the ‘Configure’ icon next to the HPMS_SMC instance in the Peripherals page to configure the specific external memory parameters (width, timing, etc.), as shown in Figure 2-6 below. System Builder exposes the SMC interface ports(HPMS_SMC_0_PINS) to the top level. If the SMC_FIC is enabled, the MDDR subsystem is not available. In SMC_FIC mode, the DDR I/O’s associated with the MDDR subsystem are released and are available as general FPGA Fabric I/O’s. Note: To use the HPMS SMC, you must select SMC and HPMS High Performance DMA (HPDMA) in the Device Features page. System Builder automatically instantiates the IP Core CoreSDR_AXI as a Soft Memory Controller (SMC) to build the System Builder block. Click the Configure icon of the HPMS SMC FIC subsystem in the 14 Peripherals page of System Builder to open the SMC configurator to configure the Controller to work with your external Single Data Rate (SDR) Memory (Figure 2-6). Figure 2-6 • Soft Memory Controller (SMC) Core Configurator 15 Clock The Clocks page enables you to enter and configure clock parameters for your systems. There are three tabs in the Clocks page: • Clock • Fabric CCC • Chip Oscillators Clock Tab System Clock - The System Builder automatically instantiates the required PLL (if needed). The following controls enable you to specify the System Clock, your clock source options include: • FPGA Fabric Input • Dedicated Input Pad • On-chip 1 MHz RC Oscillator • On-chip 25/50 MHz RC Oscillator • External Main Crystal Oscillator (Ceramic Resonator 0.5MHz to 4MHz) • External Main Crystal Oscillator (Crystal 32KHz - 20MHz) • External Main Crystal Oscillator (RC Network 32KHz - 4MHz) Your clock source options determine what frequency you can specify. The other clocks in the system are derived from the System Clock setting. The tool enforces these dependency rules. Refer to the CCC Configuration Guide for more detailed information on Clock Settings. HPMS Clock - Specifies how fast you want your HPMS base clock to run. This specifies the frequency of the eNVM and eSRAM MDDR Clocks - Consists of two clock domains: MDDR_CLK and DDR/SMC_FIC_CLK. The MDDR_CLK specifies how fast your HPMS DDR RAM runs, this refers to the DDR I/O side of the DDR controller. The DDR/SMC _FIC_CLK option specifies the frequency at which your fabric logic (including your Fabric Master) interfaces with the HPMS DDR controller. Fabric Interface Clocks - The FIC_0_CLK is the frequency at which the HPMS FIC_0 subsystems operate. The FIC_1_CLK is the frequency at which the HPMS FIC_1 subsystems operate. If the FIC clocks are grayed out, it means you have not added any peripherals to those subsystems in the Peripherals page and there is no need to set clock frequencies for these subsystems. Fabric DDR Clocks - The FDDR_CLK specifies how fast your Fabric DDR RAM runs. It refers to the DDR I/O side of the DDR controller. The FDDR_SUBSYSTEM_CLK is the frequency at which your fabric 16 logic interfaces with the Fabric DDR controller. This clock is grayed out if you are not using it in your design. Figure 2-7 • System Builder Clock Settings Fabric CCC Tab The Fabric CCC tab (Figure 2-8) enables you to select additional fabric CCC resources not used by any of your configured subsystems. These Fabric CCC clocks are grouped under FAB_CCC_PINS group and promoted to the top level of the System Builder block. Configure these clocks and use them to drive your own fabric logic. Depending on what subsystems you have configured, there may be up to four additional FAB_CCC clocks: • FAB_CCC_GL0 • FAB_CCC_GL1 • FAB_CCC_GL2 • FAB_CCC_GL3 17 Figure 2-8 • Fabric CCC Tab Chip Oscillators Tab The Chip Oscillators tab shows all the physical clock oscillator resources (Figure 2-9). If you want to use a Fabric Oscillator to drive the Fabric CCC or the Fabric Logic, check the appropriate checkbox. System Builder exposes/promotes the appropriate pins to the top level under the CHIP_OSC_PINS group. Figure 2-9 • Clocks - Chip Oscillators Tab Note: In the Clock tab of the Clocks page, if the System Clock's source is configured to be any of the External Main Crystal Oscillator (Ceramic/Crystal/RC Network), the Source and Frequency fields under the External Main Crystal Oscillator section in the Chip Oscillators tab are automatically 18 configured and are grayed out. You can check the Drives Fabric CCC(s) and Drive Fabric Logic checkboxes to expose the corresponding pins. HPMS Options These pages enable you to configure your HPMS options. More information can be found in the configuration guides for the respective microcontrollers. • HPMS DDR Bridge User’s Guide • HPMS AHB Bus Matrix SECDED Options This page enables you to configure your Single Error Correction / Double Error Detection logic. Refer to the SECDED Configuration Guide for more information. Security Options This page enables you to configure your Design Security parameters for your HPMS. Refer to the HPMS Security Configuration User’s Guide for more information Subsystem Memory Map Configuration This page allows you to view the memory map for each of your subsystems. You can also make limited modifications within a subsystem. In the panel on the left, you see one bus interface for each subsystem in your design. These buses are internally generated (they are part of the System Builder block). You can modify slave addresses on these buses by using the drop down lists (in cases where there are multiple slaves on a bus. Note: For the HPMS Fabric Master subsystems, address ranges 0x00000000-0x0fffffff, 0x200000000x2fffffff, 0x40000000-0x4fffffff, and 0x60000000-0x6fffffff all map into the HPMS. Refer to the Microsemi IGLOO2 Fabric User's Guide for details. 19 3 – Generating Your System After generating your design you will end up with two new components in your Design Hierarchy. There will be a <design_name>_top, which is a SmartDesign that instantiates your System Builder generated component <design_name>. The <design_name>_top is a regular SmartDesign that contains an instance of your System Builder. Double-click the <design_name> component in your Design Hierarchy to reconfigure the System Builder. Note that all of your options are preserved so that you do not need to reconfigure them. Figure 3-1 shows the Design Hierarchy after clicking Finish in the final System Builder page on a System Builder named demo_design. Figure 3-1 • Design Hierarchy After System Builder Generates The SmartDesign Canvas displays the instance of the System Builder generated component (Figure 3-2).Based on your selections in System Builder, the generated block will contain sets of pins and Bus Interfaces (usually a set of pins per subsystem, and one BIF per master or slave in that subsystem). 20 To complete your design, you must instantiate your user logic in this SmartDesign Canvas and connect it to the appropriate pins and BIFs on the System Builder block. Figure 3-2 • System Builder Component on the SmartDesign Canvas The following sections describe the pins and BIFs that are generated for each possible subsystem, their functionality, and how to connect them to user logic. All instantiations and connections should be done in the SmartDesign Canvas which contains the generated System Builder block. Fabric Interface Controllers (FICs) and Subsystems The IGLOO2 High-Performance Memory Subsystem (HPMS) offers five different Fabric Interface Controllers (FICs): • DDR_FIC • SMC_FIC • FIC_0 • FIC_1 (Available on larger devices only) 21 • FIC_2 These interface blocks enable the HPMS to interface with logic implemented in the FPGA fabric and vice versa. The DDR_FIC is used when you configure the HPMS DDR block such that the external DDR memory can be accessed from an FPGA fabric master via an AXI interface or 2 AHBLite AMBA interfaces. The SMC_FIC is used when you configure the HPMS DDR Block in the Single Date Rate (SDR) mode. In this configuration, the HPMS accesses external Single Data Rate DRAM or Asynchronous memories via a soft memory controller instantiated in the FPGA fabric such as CoreSDR_AXI and CoreSDR_AHB. The SMC_FIC is an AXI or AHBLite master AMBA interface. The DDR_FIC and SMC_FIC interfaces are mutually exclusive; only one is active at a time. The FIC interfaces enable you to naturally extend the HPMS AMBA Bus into the FPGA fabric. There are up to two FIC instances per HPMS depending on the selected device. The first instance is named FIC_0 (which is available on every device) and the second instance is named FIC_1 (may not be present in the smaller devices). You can configure the FIC as either an APB3 or AHBLite AMBA interface depending on your design needs. In each mode, a master and a slave bus interface is available. That is, a master in the fabric can interface to a slave in the HPMS and a master in the HPMS can interface to a slave in the fabric. FIC_2 provides the APB Configuration Path from the HPMS to the DDR and SERDES subsystems. Figure 3-3 shows HPMS and FIC subsystems. Figure 3-3 • HPMS and FIC Subsystems Subsystem: HPMS FIC_0 Fabric Master Use this subsystem to access the following IGLOO2 Device Features: • HPMS eNVM/eSRAM/PDMA: Instantiate AHBLite User Fabric Master, or • HPMS Services: Instantiate the CoreSysServices IP • HPMS HPDMA: Instantiate the CoreHPDMACtrl IP Connect your User Fabric Master or CoreSysServices IP or CoreHPDMACtrl IP to the System Builder block as shown in Table 3-1. System Builder instantiates the ConfigMaster for you. You do not need to instantiate it. This subsystem supports up to four AHBLite-compliant masters. Figure 3-4 shows the FIC_0 Fabric Master Subsystem. 22 Figure 3-4 • FIC_0 Fabric Master Subsystem Table 3-1 • HPMS FIC_0 Fabric Master Pin/BIF Direction Functionality and Usage HPMS_FIC_0_USER_MASTER (AHBLite/APB3BIF) Master Connect to User Fabric Master's AHBLite/APB3 Master BIF HPMS_FIC_0_SYS_SERVICES _MASTER (AHBLite BIF) Master Connect to CoreSysServices AHBLite Master BIF. HPMS_FIC_0_HPDMA_CONTR Master OLLER_MASTER (AHBLite BIF) Connect to CoreHPDMACtrl's AHBLite Master BIF. System Builder AMBA Master BIF (AHBLite/APB3 BIF) Master Connect to User Fabric Master's AHBLite/APB3 Master BIF. This BIF is seen if a Fabric AMBA MASTER is added to the subsystem, System Builder AMBA Slave BIF(AXI/AHBLite/APB3) Slave Connect to User Fabric Slave's AMBA Slave BIF. For each User Fabric Slave, connect its Slave BIF to the corresponding Slave BIF on the System Builder block. FIC_0_CLK Out FIC_0 subsystem clock. Connect to User Fabric Master/ CoreSysServices FIC_0_LOCK Out Asserts when FIC_0_CLK is valid. If your User Fabric Master/ CoreSysServices has a PLL LOCK input, connect it to this pin Subsystem: HPMS FIC_0 HPMS Master Use this subsystem to transfer data into User Fabric Slaves using PDMA or HPDMA. The Master of this subsystem is either the HPMS PDMA or HPDMA core, depending on your application. 23 After the System Builder design is created, instantiate User Fabric Slaves for this subsystem - one for each Fabric AMBA Slave you specified for this subsystem in the Peripherals page. Figure 3-5 shows the FIC_0 HPMS Master Subsystem. Figure 3-5 • FIC_0 HPMS Master Subsystem Table 3-2 shows the connections. Table 3-2 • HPMS FIC_0 HPMS Master Pin/BIF Direction Functionality and Usage System BuilderAMBA Slave BIF (AXI/AHBLite/ APB3) Slave Connect to User Fabric Slave's AMBA Slave BIF. For each User Fabric Slave, connect its Slave BIF to the corresponding Slave BIF on the System Builder block. FIC_0_CLK Out FIC_0 subsystem clock. Connect to User Fabric Slaves FIC_0_LOCK Out Asserts when FIC_0_CLK is valid. If your User Fabric Slave has a PLL LOCK input, connect it to this pin 24 Subsystem: HPMS FIC_1 HPMS Master - M2GL050 and Larger Devices Only Use this subsystem to transfer data into User Fabric Slaves using PDMA or HPDMA. The Master of this subsystem is either the HPMS PDMA or HPDMA core, depending on your application After the System Builder design is created, instantiate User Fabric Slaves for this subsystem - one for each Fabric AMBA Slave you specified for this subsystem in the Peripherals page. Figure 3-6 shows the FIC_1 HPMS Master Subsystem. Figure 3-6 • FIC_1 HPMS Master Subsystem Table 3-3 shows the connections. Table 3-3 • HPMS FIC_1 HPMS Master - M2GL050 and Larger Devices Pin/BIF Direction Functionality and Usage System Builder AMBA Slave BIF (AXI/AHBLite/ APB3) Slave Connect to User Fabric Slave's AMBA Slave BIF. For each User Fabric Slave, connect its Slave BIF to the corresponding Slave BIF on the System Builder block. FIC_1_CLK Out FIC_1 subsystem clock. Connect to User Fabric Slaves FIC_1_LOCK Out Asserts when FIC_1_CLK is valid. If your User Fabric Slave has a PLL LOCK input, connect it to this pin 25 Subsystem: HPMS FIC_1 Fabric Master - M2GL050 and Larger Devices Only Use this subsystem to access the IGLOO2 HPMS eNVM/eSRAM/PDMA/HPDMA and instantiate AHBLite or APB3 User Fabric Master. This subsystem supports up to four AHBLite-compliant fabric masters. Note: Multi-master support is available only for AHBLite masters. You can add up to four AHBLitecompliant fabric masters. Mixed master (combination of AHBLite/APB3/AXI compliant masters) is not supported. Figure 3-7 shows the FIC_1 Fabric Master Subsystem. Figure 3-7 • FIC_1 Fabric Master Subsystem Table 3-4 shows the connections. Table 3-4 • HPMS FIC_1 HPMS Fabric Master Pin/BIF Direction Functionality and Usage System Builder MasterAMBA BIF (AHBLite/APB3 BIF) Master Connect to User Fabric Master’s AHBLite/APB3 Master BIF. This BIF is available if a Fabric AMBA MASTER is added to the subsystem, System Builder AMBA Slave BIF (AXI/AHBLite/ APB3 Slave Connect to User Fabric Slave's AMBA Slave BIF. For each User Fabric Slave, connect its Slave BIF to the corresponding Slave BIF on the System Builder block. FIC_1_CLK Out FIC_1 subsystem clock. Connect to User Fabric Master FIC_1_LOCK Out Asserts when FIC_1_CLK is valid. If your User Fabric Master / CoreSysServices has a PLL LOCK input, connect it to this pin 26 Subsystem: HPMS DDR FIC Use the HPMS DDR interface to control your DDR memory controller. This interface goes directly to the MDDR and does not use the HPDMA controller. When interfacing to the MDDR this interface is a master interface. You must instantiate an AHBLite/AXI Fabric Master and connect it to the HPMS DDR interface to access the MDDR. Figure 3-8 shows the HPMS DDR FIC Subsystem. Figure 3-8 • HPMS DDR FIC Subsystem Table 3-5 shows the connections. Table 3-5 • HPMS DDR FIC Subsystem Pin/BIF Direction Functionality and Usage System Builder Master (AHBLite /AXI) BIF Master (MDDR) Connect to User Fabric Master's AMBA Master BIF. System Builder Slave (AHBLite/AXI) BIF Slave (SMC) Connect to User Fabric Master's AMBA Slave BIF. HPMS_DDR_FIC_SUBSYSTEM_PINS: Out HPMS DDR subsystem clock. Connect to User Fabric Master and User Fabric Slaves in this subsystem. Out Asserts when HPMS_DDR_FIC_SUBSYSTEM_CLK is valid. If your User Fabric Master/User Fabric Slaves have PLL LOCK inputs, connect them to this pin. HPMS_DDR_FIC_SUBSYSTEM_CLK HPMS_DDR_FIC_SUBSYSTEM_PINS: HPMS_DDR_FIC_SUBSYSTEM_LOCK 27 Table 3-5 • HPMS DDR FIC Subsystem (continued) Pin/BIF Direction Functionality and Usage HPMS_DDR_FIC_SUBSYSTEM_PINS: MDDR_DDR_AXI_S_RMW In (MDDR) Indicates whether all bytes of a 64 bit lane are valid for all beats of an AXI transfer. 0: Indicates that all bytes in all beats are valid in the burst and the controller should default to write commands 1: Indicates that some bytes are invalid and the controller should default to RMW commands. This is classed as an AXI write address channel sideband signal and is valid with the AWVALID signal. Only used when ECC is enabled. MDDR_PADS 28 In/Out (MDDR) DDR Memory Physical Interface PADs. Refer to the IGLOO2 HPMS DDR User's Guide for details. Subsystem: HPMS SMC FIC The SMC FIC is used to interface to a fabric soft IP memory controller. This interface is required to use the HPDMA controller. The HPDMA controller accesses external Single Data Rate DRAM or Asynchronous memories via a soft memory controller instantiated in the FPGA fabric, such as CoreSDR_AXI and CoreSDR_AHB, and manages data transfers from/to eSRAM/eNVM/Fabric Slaves. Figure 3-9 shows the SMC FIC Subsystem. Figure 3-9 • SMC FIC Subsystem Table 3-6 shows the connections. Table 3-6 • HPMS SMC FIC Subsystem Port List Pin/BIF Direction Functionality and Usage HPMS_SMC_0_PINS Pin Group Connect to non-DDR based External Memory Subsystem: Fabric DDR - M2GL050 and Larger Devices Only The Fabric DDR interface is used for direct access to the FDDR memory controller. This is a master interface - you must instantiate and connect an AHBLite/AXI Fabric Master to this interface. Figure 3-10 shows the Fabric DDR (FDDR) Subsystem. 29 Figure 3-10 • Fabric DDR (FDDR) Subsystem Connect your User Fabric Master and User Fabric Slaves to the System Builder block as shown in Table 3-7. 30 Table 3-7 • Fabric DDR - M2GL050 and Larger Devices Pin/BIF Direction Functionality and Usage System Builder Master (AHBLite /AXI) BIF Master Connect to User Fabric Master's AMBA Master BIF. FDDR_SUBSYSTEM_PINS: FDDR_SUBSYSTEM_CLK In Fabric DDR subsystem clock. You must provide a clock for your Fabric DDR Subsystem using one of the following options: • Instantiate Fabric CCC in SmartDesign to generate the clock for the FDDR subsystem. The Fabric CCC will generate a clock and PLL lock signals. Connect Fabric CCC's Clock output (GL0/1/2/3) to: • FDDR_SUBSYSTEM_CLK • User Fabric Master's Clock Input • User Fabric Slaves' Clock Inputs • If you want to use the same clock frequency as one of the other subsystems (FIC_0/1 or HPMS DDR), instead of instantiating a Fabric CCC, you can get the appropriate clock and lock signals from your chosen subsystem's pins. Connect your chosen clock signal (one of FIC_0_CLK, FIC_1_CLK, or HPMS_DDR_FIC_SUBSYSTEM_CLK) to: • FDDR_SUBSYSTEM_CLK • User Fabric Master's Clock Input • User Fabric Slaves' Clock Inputs FABDDR_0_PINS: FDDR_SUBSYSTEM_PLL_LOCK FDDR_SUBSYSTEM_PINS: FDDR_AXI_S_RMW In In Asserts when FDDR_SUBSYSTEM_CLK is valid. Depending on your selection of the driver of FDDR_SUBSYSTEM_CLK, connect to one of the following: • Fabric CCC:LOCK • System Builder block's FIC_0_LOCK, FIC_1_LOCK, or HPMS_DDR_FIC_SUBSYSTEM_LOCK Indicates whether all bytes of a 64 bit lane are valid for all beats of an AXI transfer. 0: Indicates that all bytes in all beats are valid in the burst and the controller should default to write commands 1: Indicates that some bytes are invalid and the controller should default to RMW commands This is classed as an AXI write address channel sideband signal and is valid with the AWVALID signal. Only used when ECC is enabled FDDR_PADS In/Out DDR Memory Physical Interface PADs. Consult the IGLOO2 HPMS DDR User's Guide for details 31 Subsystem: SERDESIF and Configuration Path Based on your selection in the Device Features page, System Builder automatically generates the SERDES configuration data bus interface, and the clock and reset for the configuration data BIF. Instantiate SERDES blocks in SmartDesign and connect their reset and configuration pins and BIFs to System Builder as below. The definitive name of a SERDES instance (SERDES_0/1/2/3) is seen within its configurator (Figure 3-11). Correlate this with the correct SDIF pins on the System Builder block (i.e., Connect pins in the SDIF_0_PINS group to SERDESIF_0, SDIF_1_PINS to SERDESIF_1, and so on). Figure 3-11 • SERDES Instance Identification Instantiate an AMBA master in the fabric to access the SERDES block (Figure 3-12). Figure 3-12 • SERDESIF_<0/1/2/3> Subsystem 32 Table 3-8 shows the connections. Table 3-8 • SERDES Configuration Path Pin/BIF Direction Functionality and Usage SDIF(0-3)_INIT_APB BIF Slave For each SERDES block, System Builder generates an APB Slave BIF. These appear at the bottom of the System Builder block, and are called SDIF(03)_APB_Slave. Connect the APB Slave BIF on each SERDES block to its corresponding SDIF_(03)_APB_Slave BIF on the System Builder block. SDIF(0-3)_PINS: SDIF(0-3)_PERST_N In L2 and P2 are low power states for the Link and PHY interface in a PCI Express (PCIe) system. A power management component in a PCIe system will control exit from the L2/P2 state. Part of the sequence when emerging from the low power state involves assertion and release of the PCI Express Reset (SDIF(03)_PERST_N pins). If you are not using a SERDES block in PCIe mode, you can safely tie its corresponding _PERST_N pin high. SDIF(0-3)_PINS: SDIF(0-3)_PHY_RESET_N Out Deasserts to bring SERDES PHY interface out of reset. Connect to the PHY_RESET_N reset input of the corresponding SERDES instance. SDIF(0-3)_PINS: SDIF(0-3)_CORE_RESET_N Out Deasserts to bring SERDES Core Logic out of reset. Connect to the CORE_RESET_N reset. SDIF(0-3)_PINS: SDIF(0-3)_SPLL_LOCK In Asserts when the SERDES instance's internal PLL has locked. Connect to the SPLL_LOCK output. INIT_PINS: INIT_APB_S_PCLK Out SERDES APB Configuration Path Clock. Connect to the APB_S_PCLK input port of all SERDES instances. INIT_PINS: INIT_APB_S_PRESET_N Out SERDES APB Configuration Path Reset. Connect to the APB_S_PRESET_N port of all SERDES instances. Reset Pins The System Builder block receives and generates the reset signals shown in Table 3-9; they can be connected to your user logic or board. The actual pins available depends on your design. Table 3-9 • Reset Pins Pin Direction Functionality and Usage DEVRST_N (PAD) In FPGA Power ON Reset. Automatically promoted to top level. Deasserts when FPGA is powered up for the first time. This active-low reset will perform the same function as a power-up reset; it is an optional function and can be safely be tied high in your test bench. FAB_RESET_N In Fabric to System Builder block reset. Can be used by your Fabric logic to reset the system (HPMS/SERDES/DDR). This active-low reset will perform a re-initialization of all of the peripherals controlled by the HPMS. This is an optional function and can safely be tied high. 33 Table 3-9 • Reset Pins (continued) Pin Direction Functionality and Usage INIT_PINS:INIT_DONE Out Value 1 indicates that System Builder block components are ready for communication and initialization is complete. Connect to any fabric logic that needs to wait for System Builder initialization. POWER_ON_RESET_N Out Value 0 indicates the system controller is in the process of booting. Goes to 0 just after the VDD ramps past the threshold voltage. Value 1 indicates the system controller is finished booting. HPMS_READY Out Value 1 indicates the HPMS is ready for communication with the fabric logic. Connect to User logic/CoreSysServices's Reset input. HPMS_READY will assert before the INIT_DONE pins go high. This output only indicates the HPMS FICs can be accessed, not that the entire system is operational. To wait until the entire system is operational, wait for HPMS_READY and all of the applicable INIT_DONE pins to go high. DDR_READY Out This pin is seen only when one/both of MDDR/FDDR are used in the design. Value "1" indicates that both MDDR and FDDR (if used) blocks are ready for communication and their initialization is complete. Connect to any fabric logic that needs to wait for MDDR/FDDR initialization. SDIF_READY Out This pin is seen only when one/more SERDES blocks are used in the design. Value "1" indicates that all the SERDES blocks (if used) are ready for communication and their initialization is complete. Connect to any fabric logic that needs to wait for SERDES initialization. 34 Other Pins Table 3-10 • Other Pins Pin Direction Functionality and Usage <instance>_HPMS_0_PINS: COMM_BLK_INT Out For details, refer to the Microsemi IGLOO2 User's Guide <instance>_HPMS_0_PINS: HPMS_M2F_INT[15:0] Out HPMS Peripheral Interrupt. For details, refer to the Microsemi IGLOO2 User's Guide <instance>_HPMS_0_PINS: DMA_DMAREADY_FIC_0[1:0] In For details, refer to the Microsemi IGLOO2 User's Guide <instance>_HPMS_0_PINS: DMA_DMAREADY_FIC_1[1:0] In For details, refer to the Microsemi IGLOO2 User's Guide FAB_CCC_PINS: Out Connect to the clock pins of user fabric logic. Out Connect to the clock pins of user fabric logic or Fabric CCC. Out/BIF Connect to the appropriate Fabric CCC In/BIF pins XTLOSC_CCC_IN/ RCOSC_1MHZ_CCC_IN/ RCOSC_25_50MHZ_CCC_IN respectively. FAB_CCC_GL(0/1/2/3) CHIP_OSC_PINS: XTLOSC_O2F/ RCOSC_1MHZ_O2F/ RCOSC_25_50MHZ_O2F XTLOSC_CCC_OUT/ RCOSC_1MHZ_CCC_OUT/ RCOSC_25_50MHZ_CCC_OUT Your System Builder design is summarized in the System Builder summary report in the Reports View. The name of this file is <design>_SYS_BLD.xml. Open the Reports View and click this file for details on what was generated in your System Builder component. Finishing Your Design After generating and extending your System Builder, the rest of the Libero design flow is the same as a regular Libero FPGA flow. You can use the Design Flow tools to Simulate, Synthesize, Compile, Place and Route, and Program your design. 35 A – Product Support Microsemi SoC Products Group backs its products with various support services, including Customer Service, Customer Technical Support Center, a website, electronic mail, and worldwide sales offices. This appendix contains information about contacting Microsemi SoC Products Group and using these support services. Customer Service Contact Customer Service for non-technical product support, such as product pricing, product upgrades, update information, order status, and authorization. From North America, call 800.262.1060 From the rest of the world, call 650.318.4460 Fax, from anywhere in the world, 408.643.6913 Customer Technical Support Center Microsemi SoC Products Group staffs its Customer Technical Support Center with highly skilled engineers who can help answer your hardware, software, and design questions about Microsemi SoC Products. The Customer Technical Support Center spends a great deal of time creating application notes, answers to common design cycle questions, documentation of known issues, and various FAQs. So, before you contact us, please visit our online resources. It is very likely we have already answered your questions. Technical Support Visit the Customer Support website (www.microsemi.com/soc/support/search/default.aspx) for more information and support. Many answers available on the searchable web resource include diagrams, illustrations, and links to other resources on the website. Website You can browse a variety of technical and non-technical information on the SoC home page, at www.microsemi.com/soc. Contacting the Customer Technical Support Center Highly skilled engineers staff the Technical Support Center. The Technical Support Center can be contacted by email or through the Microsemi SoC Products Group website. Email You can communicate your technical questions to our email address and receive answers back by email, fax, or phone. Also, if you have design problems, you can email your design files to receive assistance. We constantly monitor the email account throughout the day. When sending your request to us, please be sure to include your full name, company name, and your contact information for efficient processing of your request. The technical support email address is [email protected]. 36 My Cases Microsemi SoC Products Group customers may submit and track technical cases online by going to My Cases. Outside the U.S. Customers needing assistance outside the US time zones can either contact technical support via email ([email protected]) or contact a local sales office. Sales office listings can be found at www.microsemi.com/soc/company/contact/default.aspx. ITAR Technical Support For technical support on RH and RT FPGAs that are regulated by International Traffic in Arms Regulations (ITAR), contact us via [email protected]. Alternatively, within My Cases, select Yes in the ITAR drop-down list. For a complete list of ITAR-regulated Microsemi FPGAs, visit the ITAR web page. Microsemi Corporation (NASDAQ: MSCC) offers a comprehensive portfolio of semiconductor solutions for: aerospace, defense and security; enterprise and communications; and industrial and alternative energy markets. Products include high-performance, high-reliability analog and RF devices, mixed signal and RF integrated circuits, customizable SoCs, FPGAs, and complete subsystems. Microsemi is headquartered in Aliso Viejo, Calif. Learn more at www.microsemi.com. Microsemi Corporate Headquarters One Enterprise, Aliso Viejo CA 92656 USA Within the USA: +1 (949) 380-6100 Sales: +1 (949) 380-6136 Fax: +1 (949) 215-4996 © 2014 Microsemi Corporation. All rights reserved. Microsemi and the Microsemi logo are trademarks of Microsemi Corporation. All other trademarks and service marks are the property of their respective owners. 5-02-00488-4/08.14