Contents 1 Revision History ..........................1 1.1 Revision 1.0 ............................1 2 IGLOO2 and SmartFusion2 FPGA System Services Simulation ............2 2.1 Types of Available System Services ....................3 2.2 IGLOO2 System Service Simulation ....................3 2.3 SmartFusion2 System Service Simulation ................... 4 2.4 Simulation Examples ..........................
Page 3
IGLOO2 and SmartFusion2 FPGA System Services Simulation 3.5.3 Device Priority ............................23 Microsemi Proprietary and Confidential. UG0837 User Guide Revision 1.0...
The revision history describes the changes that were implemented in the document. The changes are listed by revision, starting with the most current publication. Revision 1.0 Revision 1.0 was published in June 2018. It was the first publication of this document. Microsemi Proprietary and Confidential. UG0837 User Guide Revision 1.0...
IGLOO2 and SmartFusion2 devices. For SmartFusion2, the Coretex-M3 is available and you can write and read from the system controller using bus functional model (BFM) commands. For IGLOO2, the Cortex-M3 is not available and the system controller is not accessible using BFM commands.
The CoreSysServices core initiates system service request to the COMM BLK and receives system service responses from the COMM BLK through the FIC_0/1, fabric interface controller as shown in the following illustration. Figure 2 • IGLOO2 System Services Simulation Topology Microsemi Proprietary and Confidential. UG0837 User Guide Revision 1.0...
2 is used to show system services simulation in SmartFusion2. With this option, the system controller's memory space is accessed to find out the memory map of the COMM BLK and the fabric interface interrupt controller (FIIC) block when you write your BFM commands. Microsemi Proprietary and Confidential. UG0837 User Guide Revision 1.0...
Appendix – System Services Types (see page 19) IGLOO2 Serial Number Service Simulation To prepare for IGLOO2 serial number service simulation, perform the steps as follows. Invoke system builder to create your HPMS block. Check the HPMS System Services checkbox in the Device Features page. This will instruct the system builder to expose the HPMS_FIC_0 SYS_SERVICES_MASTER bus interface (BIF).
Page 9
Connect the HPMS_FIC_0 SYS_SERVICES_MASTER BIF of the system builder block to the AHBL_MASTER BIF of the CoreSysService block. Connect the output of your HDL FSM block to the input of the CoreSysService soft IP core. Make all Microsemi Proprietary and Confidential. UG0837 User Guide Revision 1.0...
Page 10
Simulation folder of your project. The design is now ready for status.txt simulation. Once the service has begun execution, a message indicating the destination location and serial number Microsemi Proprietary and Confidential. UG0837 User Guide Revision 1.0...
(System Services Command/Response Values) in CoreSysServices v3.1 Handbook UG0450: SmartFusion2 SoC and IGLOO2 FPGA System Controller User Guide SmartFusion2 Serial Number Service Simulation In this user guide, BFM commands (option 2) are used to access the system controller for system service.
Page 12
CMBLK INT_ENABLE 0x1 # Configure COMM BLK Interrupt Enable #Register to enable Interrupt for TXTOKAY (Corresponding bit in the #Status Register) waitint 19 # wait for COMM BLK Interrupt , Here #BFM waits Microsemi Proprietary and Confidential. UG0837 User Guide Revision 1.0...
Page 13
CMBLK INT_ENABLE 0x80 write w CMBLK CONTROL 0x10 endif wait 20 #Response Phase waitint 19 readstore w CMBLK STATUS x set x x & 0x80 if x readcheck w CMBLK FRAME_START8 CMD Microsemi Proprietary and Confidential. UG0837 User Guide Revision 1.0...
Page 14
8. Edit the (located inside the Simulation folder) to include the file and user.bfm serialnum.bfm call the serial number procedure as shown in the following code snippet. include "serialnum.bfm" #include the serialnum.bfm Microsemi Proprietary and Confidential. UG0837 User Guide Revision 1.0...
Page 15
COMM_BLK's RXFIFO will be loaded with the service response. The ModelSim transcript window displays the address and the serial number received as shown in the following figure. Figure 8 • SmartFusion2 Serial Number Service Simulation in ModelSim Transcript Window Microsemi Proprietary and Confidential. UG0837 User Guide Revision 1.0...
IGLOO2 and SmartFusion2 FPGA System Services Simulation IGLOO2 Zeroization Service Simulation To prepare for IGLOO2 zeroization service simulation, perform the steps as follows. Invoke system builder to create the HPMS block. Check the HPMS System Services checkbox in the Device Features page.
Page 17
Leave all other checkboxes unchecked. Click exit. Figure 10 • CoreSysServices Configurator 7. Connect the HPMS_FIC_0 SYS_SERVICES_MASTER BIF of the system builder block to the AHBL_MASTER BIF of the CoreSysService block. Microsemi Proprietary and Confidential. UG0837 User Guide Revision 1.0...
Page 18
SmartDesign canvas. Figure 11 • SmartDesign Canvas with HDL Block, CoreSysServices Soft IP, and HPMS Blocks 9. In the SmartDesign canvas, generate the top-level design ( Right-click > Generate Component Microsemi Proprietary and Confidential. UG0837 User Guide Revision 1.0...
Once the service has begun execution, a message indicating that the zeroization has been completed at time is displayed as shown in the following figure. Figure 12 • IGLOO2 Zeroization System Service Simulation Transcript Window The system controller conducts an AHB write to the address with the serial number. Upon completion of the service, the COMM_BLK's RXFIFO will be loaded with the service response.
Page 20
It should be noted that the simulation model simulates zeroization by stopping the simulation rather than zeroizing the design itself. The ModelSim transcript window in the following figure shows that the device has been zeroized. Microsemi Proprietary and Confidential. UG0837 User Guide Revision 1.0...
Page 21
IGLOO2 and SmartFusion2 FPGA System Services Simulation Figure 14 • SmartFusion2 Zeroization System Service Simulation Log Microsemi Proprietary and Confidential. UG0837 User Guide Revision 1.0...
The simulation will enter the Flash*Freeze state when the proper service request is sent to the COMM_BLK from either the FIC (in the case of IGLOO2 devices) or the Cortex-M3 (in SmartFusion2 devices). Once the service has been detected by the system controller, the simulation will be stopped and a message indicating the system has entered Flash*Freeze (along with the option selected) will be displayed.
The actual reset function is performed by removing DRBG instantiations and resetting DRBG. Once the service request has been detected, the simulation displays a DRBG Reset service completed message. The response, which includes the service and status, is pushed into the RXFIFO. Microsemi Proprietary and Confidential. UG0837 User Guide Revision 1.0...
Parameter Setting (see page 23) . Upon completion of the service, the RXFIFO will be loaded with the service response, consisting of the service command, status, and challenge response data structure pointer. Microsemi Proprietary and Confidential. UG0837 User Guide Revision 1.0...
MSS memory access error response to the serial number service, the command is as follows. Service: Serial Number: 01 Error message requested: MSS Memory Access Error: 7F You should have the line 017F entered in file. "status.txt" Microsemi Proprietary and Confidential. UG0837 User Guide Revision 1.0...
TXFIFO. Once the current service is complete, the next service in the TXFIFO will be executed. Microsemi Proprietary and Confidential. UG0837 User Guide Revision 1.0...
Page 27
Microsemi. It is the Buyer's responsibility to independently determine suitability of any products and to test and verify the same. The information provided by Microsemi hereunder is provided "as is, where is" and with all faults, and the entire risk associated with such information is entirely with the Buyer.
Need help?
Do you have a question about the IGLOO2 and is the answer not in the manual?
Questions and answers