BeagleFire Gateware script fails to configure 'FPGA_CCC_C0'

Hi,

I am trying to build the BeagleV-Fire / Gateware · GitLab project using the default python3 build-bitstream.py ./build-options/default.yaml command. I’m using Libero 2024.1.

I’m on the latest from main, 6e31fb5 though I also tried 0.5.1. Last year I could build this project without issues, so I’m not sure what changed.

It appears that the .tcl script is trying to set options for PF_CCC:2.2.220 that aren’t supported by the core, but I suspect something else is wrong, since this script and this version of Libero have been tested together, and the PF_CCC version is dated 2022 when I looked it up on Microchip’s website. I’m hoping someone can help me understand this.

I installed Libero to /opt/microchip/, but I’ve updated all of the paths in my .bashrc to point to the install similar to the instructions in Microchip FPGA Tools Installation Guide — BeagleBoard Documentation.

================================================================================
                            Generate Libero project
================================================================================

top level name:  DEFAULT_6E31FB50E3CF28D90FAC95
Console Mode = Libero v2024.1 detected.
Setting parameter BOARD to mpfs-beaglev-fire
Setting parameter DIE to MPFS025T
Setting parameter PACKAGE to FCVG484
Setting parameter DIE_VOLTAGE to 1.0
Setting parameter PART_RANGE to EXT
Setting parameter PROJECT_LOCATION to ../.././work/libero
Setting parameter TOP_LEVEL_NAME to DEFAULT_6E31FB50E3CF28D90FAC95
Setting parameter HSS_IMAGE_PATH to ../../work/HSS/hss-envm-wrapper-bm1-p0.hex
Setting parameter PROG_EXPORT_PATH to ../../.
Setting parameter DESIGN_VERSION to 2004
Cape options selected: DEFAULT
M.2 option selected: DEFAULT
SYZYGY high speed connector option option selected: DEFAULT
MIPI CSI option option selected: DEFAULT
PROJECT_LOCATION: ../.././work/libero
DESIGN_VERSION: 2004
SILICON_SIGNATURE: bea913b0
BOARD: mpfs-beaglev-fire
DIE: MPFS025T
PACKAGE: FCVG484
DIE_VOLTAGE: 1.0
PART_RANGE: EXT
Info: This version of Libero supports only the enhanced constraint flow.
The BVF_GATEWARE_025T project was created.
Downloading Actel:SgCore:PF_OSC:1.0.102...

Info:  Core 'Actel:SgCore:PF_OSC:1.0.102' was successfully downloaded.
Downloading Actel:SgCore:PF_CCC:2.2.220...

Info:  Core 'Actel:SgCore:PF_CCC:2.2.220' was successfully downloaded.
Downloading Actel:DirectCore:CORERESET_PF:2.3.100...

Info:  Core 'Actel:DirectCore:CORERESET_PF:2.3.100' was successfully downloaded.
Downloading Microsemi:SgCore:PFSOC_INIT_MONITOR:1.0.307...

Info:  Core 'Microsemi:SgCore:PFSOC_INIT_MONITOR:1.0.307' was successfully downloaded.
Downloading Actel:DirectCore:COREAXI4INTERCONNECT:2.8.103...

Info:  Core 'Actel:DirectCore:COREAXI4INTERCONNECT:2.8.103' was successfully downloaded.
Downloading Actel:SgCore:PF_CLK_DIV:1.0.103...

Info:  Core 'Actel:SgCore:PF_CLK_DIV:1.0.103' was successfully downloaded.
Downloading Actel:SgCore:PF_DRI:1.1.104...

Info:  Core 'Actel:SgCore:PF_DRI:1.1.104' was successfully downloaded.
Downloading Actel:SgCore:PF_NGMUX:1.0.101...

Info:  Core 'Actel:SgCore:PF_NGMUX:1.0.101' was successfully downloaded.
Downloading Actel:SgCore:PF_PCIE:2.0.121...

Info:  Core 'Actel:SgCore:PF_PCIE:2.0.121' was successfully downloaded.
Downloading Actel:SgCore:PF_TX_PLL:2.0.304...

Info:  Core 'Actel:SgCore:PF_TX_PLL:2.0.304' was successfully downloaded.
Downloading Actel:SgCore:PF_XCVR_REF_CLK:1.0.103...

Info:  Core 'Actel:SgCore:PF_XCVR_REF_CLK:1.0.103' was successfully downloaded.
Downloading Actel:DirectCore:CoreAPB3:4.2.100...

Info:  Core 'Actel:DirectCore:CoreAPB3:4.2.100' was successfully downloaded.
Downloading Actel:DirectCore:CoreGPIO:3.2.102...

Info:  Core 'Actel:DirectCore:CoreGPIO:3.2.102' was successfully downloaded.
Downloading Actel:SystemBuilder:PF_SRAM_AHBL_AXI:1.2.108...

Info:  Core 'Actel:SystemBuilder:PF_SRAM_AHBL_AXI:1.2.108' was successfully downloaded.
Downloading Actel:Simulation:CLK_GEN:1.0.1...

Info:  Core 'Actel:Simulation:CLK_GEN:1.0.1' was successfully downloaded.
Downloading Actel:Simulation:RESET_GEN:1.0.1...

Info:  Core 'Actel:Simulation:RESET_GEN:1.0.1' was successfully downloaded.
Downloading Actel:DirectCore:corepwm:4.5.100...

Info:  Core 'Actel:DirectCore:corepwm:4.5.100' was successfully downloaded.
Downloading Actel:DirectCore:COREI2C:7.2.101...

Info:  Core 'Actel:DirectCore:COREI2C:7.2.101' was successfully downloaded.
Downloading Actel:DirectCore:CoreUARTapb:5.7.100...

Info:  Core 'Actel:DirectCore:CoreUARTapb:5.7.100' was successfully downloaded.
Downloading Actel:SystemBuilder:PF_IOD_GENERIC_RX:2.1.110...

Info:  Core 'Actel:SystemBuilder:PF_IOD_GENERIC_RX:2.1.110' was successfully downloaded.
Downloading Actel:SgCore:PF_IO:2.0.105...

Info:  Core 'Actel:SgCore:PF_IO:2.0.105' was successfully downloaded.
Downloading Actel:SystemBuilder:PF_XCVR_ERM:3.1.205...

Info:  Core 'Actel:SystemBuilder:PF_XCVR_ERM:3.1.205' was successfully downloaded.
Downloading Microchip:SolutionCore:mipicsi2rxdecoderPF:4.7.0...

Info:  Core 'Microchip:SolutionCore:mipicsi2rxdecoderPF:4.7.0' was successfully downloaded.
MSS filename: PF_SOC_MSS
Info:  Design 'PF_SOC_MSS' was successfully imported.
Reading file '/home/sstel/workspace/polarfire/beaglev-fire-gateware/work/libero/component/work/PF_SOC_MSS/PF_SOC_MSS.v'.
Reading file '/home/sstel/workspace/polarfire/beaglev-fire-gateware/work/libero/component/work/PF_SOC_MSS/MSS_NOBYP_NOBYP_NOBYP_BYP_BYP_syn_comps.v'.
Reading file '/home/sstel/workspace/polarfire/beaglev-fire-gateware/work/libero/hdl/apb_arbiter.v'.
Reading file '/home/sstel/workspace/polarfire/beaglev-fire-gateware/work/libero/hdl/AXI4_address_shim.v'.
Reading file '/home/sstel/workspace/polarfire/beaglev-fire-gateware/work/libero/hdl/miv_ihcc.v'.
Reading file '/home/sstel/workspace/polarfire/beaglev-fire-gateware/work/libero/hdl/miv_ihcc_ctrl.v'.
Reading file '/home/sstel/workspace/polarfire/beaglev-fire-gateware/work/libero/hdl/miv_ihcc_irqs.v'.
Reading file '/home/sstel/workspace/polarfire/beaglev-fire-gateware/work/libero/hdl/miv_ihcc_mem.v'.
Reading file '/home/sstel/workspace/polarfire/beaglev-fire-gateware/work/libero/hdl/miv_ihcia.v'.
Info: Core has been created successfully from 'APB_ARBITER' HDL module.
Info:  <a href="liberoaction://open_online_help/70004">Read more</a> on how to create a core from your HDL module.
Info:  This feature enables you to add bus interfaces to your HDL module and configure any generics/parameters in your HDL module.

Info: Core has been created successfully from 'MIV_IHCC' HDL module.
Info:  <a href="liberoaction://open_online_help/70004">Read more</a> on how to create a core from your HDL module.
Info:  This feature enables you to add bus interfaces to your HDL module and configure any generics/parameters in your HDL module.

Info: Core has been created successfully from 'MIV_IHCIA' HDL module.
Info:  <a href="liberoaction://open_online_help/70004">Read more</a> on how to create a core from your HDL module.
Info:  This feature enables you to add bus interfaces to your HDL module and configure any generics/parameters in your HDL module.

Info: Core has been created successfully from 'AXI_ADDRESS_SHIM' HDL module.
Info:  <a href="liberoaction://open_online_help/70004">Read more</a> on how to create a core from your HDL module.
Info:  This feature enables you to add bus interfaces to your HDL module and configure any generics/parameters in your HDL module.

Info: 'CORERESET' was successfully generated.
Info: 'CORERESET' manifest file '/home/sstel/workspace/polarfire/beaglev-fire-gateware/work/libero/component/work/CORERESET/CORERESET_manifest.txt' was successfully generated.

Info:  Component 'CORERESET' was successfully created and configured with vendor:Actel library:DirectCore name:CORERESET_PF version:2.3.100.
Info: 'INIT_MONITOR' was successfully generated.
Info: 'INIT_MONITOR' manifest file '/home/sstel/workspace/polarfire/beaglev-fire-gateware/work/libero/component/work/INIT_MONITOR/INIT_MONITOR_manifest.txt' was successfully generated.

Info:  Component 'INIT_MONITOR' was successfully created and configured with vendor:Microsemi library:SgCore name:PFSOC_INIT_MONITOR version:1.0.307.
Error: SmartDesign 'FPGA_CCC_C0' design rules check failed
Error:  Design rules check of "FPGA_CCC_C0" failed.
        Check the log window for more information.

         [OK]
Error: 'Incompatible Family Configuration' :
Warning: 'Core Validation' : PLL_FEEDBACK_MODE_0 If you select Post-VCO as a Feedback Mode, outputs will be resynchronized between each other after the PLL locks, but will not be resynchronized with the PLL reference clock
Info: 'Core Validation' : Incorrect PLL_LOCK_COUNT value of 0 found, updating the value to be 8.
Info: 'Core Validation' : The current configuration of instance : FPGA_CCC_C0_0 has warning or information messages. Consult the User Guide for configuration of this core.
Error:  Could not configure component 'FPGA_CCC_C0'.
Error:  The command 'create_and_configure_core' failed.


============= SCRIPT EXECUTION ERROR =============
Script:        script_support/components/CLOCKS_AND_RESETS/FPGA_CCC_C0.tcl
Error Message:
File: script_support/components/CLOCKS_AND_RESETS/FPGA_CCC_C0.tcl
Line: 5
Depth: 1
Caller file and line number not available
Stack Trace:

    while executing
"create_and_configure_core -core_vlnv {Actel:SgCore:PF_CCC:*} -component_name {FPGA_CCC_C0} -params {\
"DLL_CLK_0_BANKCLK_EN:false"  \
"DLL_CLK_0_DEDIC..."
    (file "script_support/components/CLOCKS_AND_RESETS/FPGA_CCC_C0.tcl" line 5)
    invoked from within
"source script_support/components/CLOCKS_AND_RESETS/FPGA_CCC_C0.tcl"
    ("uplevel" body line 1)
    invoked from within
"uplevel #0 [list source $script]"
=================================================


============= SCRIPT EXECUTION ERROR =============
Script:        ./script_support/B_V_F_recursive.tcl
Error Message:
File: script_support/components/CLOCKS_AND_RESETS/FPGA_CCC_C0.tcl
Line: 5
Depth: 1
Caller File: ./script_support/B_V_F_recursive.tcl
Caller Line: 18
Depth: 2
Stack Trace:

    while executing
"create_and_configure_core -core_vlnv {Actel:SgCore:PF_CCC:*} -component_name {FPGA_CCC_C0} -params {\
"DLL_CLK_0_BANKCLK_EN:false"  \
"DLL_CLK_0_DEDIC..."
    (file "script_support/components/CLOCKS_AND_RESETS/FPGA_CCC_C0.tcl" line 5)
    invoked from within
"source script_support/components/CLOCKS_AND_RESETS/FPGA_CCC_C0.tcl"
    ("uplevel" body line 1)
    invoked from within
"uplevel #0 [list source $script]"
    (procedure "::safe_source" line 6)
    invoked from within
"::safe_source script_support/components/CLOCKS_AND_RESETS/FPGA_CCC_C0.tcl"
    (file "./script_support/B_V_F_recursive.tcl" line 18)
    invoked from within
"source ./script_support/B_V_F_recursive.tcl"
    ("uplevel" body line 1)
    invoked from within
"uplevel #0 [list source $script]"
=================================================
Error:  Failure when executing Tcl script. [ Line 263 ]
Error:  The Execute Script command failed.
The BVF_GATEWARE_025T project was closed.
Finished

Just to make sure, are you the Preston person on Discord, or is this a 3rd report?

If you’re not Preston, please state the OS and Version you’re running on…

I am a unique and distinct human being from the one called Preston.

Ubuntu 22.04.5 LTS on WSL2.

Thanks,
Sean

Thank you, Sean. You are not the only one with this particular affliction,
so let me assure you; it’s being looked at by Top Men!

Top Gun High Five – Reaction GIFs

Hi,

The issue is most likely that the * symbol is not choosing the latest PF_CCC core during the

create_and_configure_core

command, for whatever reason. I downloaded the 2024.1 vault from the Microchip website , and set it as the new vault location by hovering on the gear icon, clicking options, and then selecting Vault location, and navigating to the vault location shown below.


I removed the 2.2.220 core from my vault and ran the script using this setup and had no issues. To replicate your issue, I updated the FPGA_CCC_C0.tcl script to select the PF_CCC core which comes with the 2024.1 libero vault using the line create_and_configure_core -core_vlnv {Actel:SgCore:PF_CCC:2.1.104} -component_name {FPGA_CCC_C0} -params {\

and sure enough I got a similar error as you did

Design version:  2004
Design version: 2004
================================================================================
                              Initialize workspace
================================================================================

  The FlashPro Express bitstream programming job files will be stored in
  directory: ./bitstream/FlashProExpress

================================================================================
                                 Clone sources
================================================================================

HSS reset to latest commit on branch 'master'
================================================================================
                            Generate Device Tree Overlays
================================================================================

Board options path: ./board-options/board-selection.yaml
The board selected is: mpfs-beaglev-fire
Path to dtso files:  device-tree-overlay
  Device tree overlay selected:
    component:                 M2
    build option:              DEFAULT
    device tree overlay file:  pcie.dtso
  Device tree overlay selected:
    component:                 CAPE
    build option:              DEFAULT
    device tree overlay file:  cape-gpios.dtso
  Device tree overlay selected:
    component:                 CAPE
    build option:              DEFAULT
    device tree overlay file:  leds.dtso
number of gateware device tree overlays:  3
/home/bb_22/Open_Gateware/bvf/main/gateware/work/dtbo/context-0/M2/pcie.dtbo
/home/bb_22/Open_Gateware/bvf/main/gateware/work/dtbo/context-0/CAPE/leds.dtbo
/home/bb_22/Open_Gateware/bvf/main/gateware/work/dtbo/context-0/CAPE/cape-gpios.dtbo
b'MCHP\x1c\x00\x00\x00\x00\x00\x01\x00\x10\x00\x00\x00\x03\x00\x00\x008\x00\x00\x00\xa4\x01\x00\x00l\x01\x00\x00\xa4\x01\x00\x00J\x08\x00\x00\xa6\x06\x00\x00J\x08\x00\x00<\x13\x00\x00\xf2\n\x00\x00'
The board selected is: mpfs-beaglev-fire
|| -- Board: mpfs-beaglev-fire --||-- Die: MPFS025T --||-- Package:  FCVG484 --||-- Die voltage:  1.0 --||-- Part range:  EXT  --||
MSS folder path: ./sources/MSS_Configuration/MPFS025T/FCVG484/mpfs-beaglev-fire
Selected config file: ./sources/MSS_Configuration/MPFS025T/FCVG484/mpfs-beaglev-fire/MSS_Configuration.cfg
================================================================================
                          Generating MSS configuration
================================================================================

INFO: Fabric programming is required to apply changes to following FICs settings. FIC_0 (AXI4) , FIC_1 (AXI4) , FIC_2 (AXI4) and FIC_3 (APB).
INFO: MSS PLL - Input Reference Clock frequency 125.000 MHz
    +------------------------------+-------------------------+------------------------------+
    | Output Clock Name            | Required (MHz)          | Integer solution (MHz)       |
    +------------------------------+-------------------------+------------------------------+
    | Output0 Frequency (CPU)      | 600.000                 | 600.000                      |
    +------------------------------+-------------------------+------------------------------+
    | Output1 Frequency (Crypto)   | N/A                     | N/A                          |
    +------------------------------+-------------------------+------------------------------+
    | Output2 Frequency (EMMC/SD)  | 200.000                 | 200.000                      |
    +------------------------------+-------------------------+------------------------------+
    | Output3 Frequency (CAN)      | 8.000                   | 8.000                        |
    +------------------------------+-------------------------+------------------------------+
INFO: DDR PLL - Input Reference Clock frequency 125.000 MHz
    +------------------------------+-------------------------+------------------------------+
    | Output Clock Name            | Required (MHz)          | Integer solution (MHz)       |
    +------------------------------+-------------------------+------------------------------+
    | Output0 Frequency            | 800.000                 | 800.000                      |
    +------------------------------+-------------------------+------------------------------+
    | Output1 Frequency            | 400.000                 | 400.000                      |
    +------------------------------+-------------------------+------------------------------+
    | Output2 Frequency            | 800.000                 | 800.000                      |
    +------------------------------+-------------------------+------------------------------+
    | Output3 Frequency            | 800.000                 | 800.000                      |
    +------------------------------+-------------------------+------------------------------+
INFO: SGMII PLL - Input Reference Clock frequency 125.000 MHz
    +------------------------------+-------------------------+------------------------------+
    | Output Clock Name            | Required (MHz)          | Integer solution (MHz)       |
    +------------------------------+-------------------------+------------------------------+
    | Output0 Frequency            | 625.000                 | 625.000                      |
    +------------------------------+-------------------------+------------------------------+
    | Output1 Frequency            | 625.000                 | 625.000                      |
    +------------------------------+-------------------------+------------------------------+
    | Output2 Frequency            | 625.000                 | 625.000                      |
    +------------------------------+-------------------------+------------------------------+
    | Output3 Frequency            | 625.000                 | 625.000                      |
    +------------------------------+-------------------------+------------------------------+
INFO: Successfully generated xml file to '/home/bb_22/Open_Gateware/bvf/main/gateware/work/MSS/PF_SOC_MSS_mss_cfg.xml'
INFO: Successfully generated MSS configuration report to '/home/bb_22/Open_Gateware/bvf/main/gateware/work/MSS/PF_SOC_MSS_Report.html'
INFO: Successfully generated MSS component to '/home/bb_22/Open_Gateware/bvf/main/gateware/work/MSS/PF_SOC_MSS.cxz'
INFO: FPGA Fabric programming is required.
================================================================================
                      Build Hart Software Services (HSS)
================================================================================

Target board: mpfs-beaglev-fire
Cleaning up existing XML files in ./sources/HSS/boards/mpfs-beaglev-fire/soc_fpga_design/xml
Removing ./sources/HSS/boards/mpfs-beaglev-fire/soc_fpga_design/xml/PF_SOC_MSS_mss_cfg.xml
Copying new XML file from work/MSS/PF_SOC_MSS_mss_cfg.xml to sources/HSS/boards/mpfs-beaglev-fire/soc_fpga_design/xml/PF_SOC_MSS_mss_cfg.xml
INFO: Linux detected
mpfs-beaglev-fire selected
INFO: NOTICE: enabling -flto (which means stack protection is disabled)
INFO: Expected mpfsBootmodeProgrammer.jar version v3.6 but found 
INFO: This version of the HSS relies on SoftConsole v2021.3 or later
 MPFSCFGGEN    boards/mpfs-beaglev-fire/soc_fpga_design/xml/PF_SOC_MSS_mss_cfg.xml
Input XML file: /home/bb_22/Open_Gateware/bvf/main/gateware/sources/HSS/boards/mpfs-beaglev-fire/soc_fpga_design/xml/PF_SOC_MSS_mss_cfg.xml
Hardware configuration header files created in directory: /home/bb_22/Open_Gateware/bvf/main/gateware/sources/HSS/build/boards/mpfs-beaglev-fire/fpga_design_config
 GENCONFIG
 CARRAY    thirdparty/opensbi/lib/sbi/sbi_ecall_exts.carray
 CC        build/services/opensbi/opensbi_ecall_exts.o
 LD        hss-l2scratch.elf
 NM        hss-l2scratch.sym
 BIN       hss-l2scratch.bin
   text	   data	    bss	    dec	    hex	filename
 158548	  28256	 180128	 366932	  59954	build/hss-l2scratch.elf
 COMPRESS  build/hss-l2scratch.bin
 CC        build/envm-wrapper/envm-wrapper_crt.o
 LD        hss-envm-wrapper.elf
 NM        hss-envm-wrapper.sym
 BIN       hss-envm-wrapper.bin
 HEX       hss-envm-wrapper.hex
15:19:00 INFO  - mpfsBootmodeProgrammer v3.7 started.
15:19:00 INFO  - "/home/bb_22/Open_Gateware/bvf/main/gateware/sources/HSS/build/bootmode1" is the output folder and the previous contents of this folder will be deleted.
15:19:00 INFO  - Selected boot mode "1 - non-secure boot from eNVM" and working in directory "/home/bb_22/Open_Gateware/bvf/main/gateware/sources/HSS/build".
15:19:00 INFO  - Generating BIN file...
15:19:00 INFO  - Generating header...
15:19:00 INFO  - Generating HEX file...
15:19:00 INFO  - Preparing for bitstream generation...
15:19:00 INFO  - Generating bitstream...
15:19:07 INFO  - Programming/verifying the target skipped because --dryrun was specified.
15:19:07 INFO  - mpfsBootmodeProgrammer completed successfully.
   text	   data	    bss	    dec	    hex	filename
 101316	    416	 149632	 251364	  3d5e4	build/hss-envm-wrapper.elf
HSS image copied from sources/HSS/build/bootmode1/hss-envm-wrapper-bm1-p0.hex to work/HSS/hss-envm-wrapper-bm1-p0.hex
================================================================================
                            Generate Libero project
================================================================================

top level name:  DEFAULT_6E31FB50E3CF28D90FAC95
Console Mode = Libero v2024.1 detected.
Setting parameter BOARD to mpfs-beaglev-fire
Setting parameter DIE to MPFS025T
Setting parameter PACKAGE to FCVG484
Setting parameter DIE_VOLTAGE to 1.0
Setting parameter PART_RANGE to EXT
Setting parameter PROJECT_LOCATION to ../.././work/libero
Setting parameter TOP_LEVEL_NAME to DEFAULT_6E31FB50E3CF28D90FAC95
Setting parameter HSS_IMAGE_PATH to ../../work/HSS/hss-envm-wrapper-bm1-p0.hex
Setting parameter PROG_EXPORT_PATH to ../../.
Setting parameter DESIGN_VERSION to 2004
Cape options selected: DEFAULT
M.2 option selected: DEFAULT
SYZYGY high speed connector option option selected: DEFAULT
MIPI CSI option option selected: DEFAULT
PROJECT_LOCATION: ../.././work/libero
DESIGN_VERSION: 2004
SILICON_SIGNATURE: bea913b0
BOARD: mpfs-beaglev-fire
DIE: MPFS025T
PACKAGE: FCVG484
DIE_VOLTAGE: 1.0
PART_RANGE: EXT
Info: This version of Libero supports only the enhanced constraint flow.
The BVF_GATEWARE_025T project was created.
Downloading Actel:SgCore:PF_OSC:1.0.102...

Info:  Core 'Actel:SgCore:PF_OSC:1.0.102' was successfully downloaded.
Downloading Actel:DirectCore:CORERESET_PF:2.3.100...

Info:  Core 'Actel:DirectCore:CORERESET_PF:2.3.100' was successfully downloaded.
Downloading Microsemi:SgCore:PFSOC_INIT_MONITOR:1.0.307...

Info:  Core 'Microsemi:SgCore:PFSOC_INIT_MONITOR:1.0.307' was successfully downloaded.
Downloading Actel:DirectCore:COREAXI4INTERCONNECT:2.8.103...

Info:  Core 'Actel:DirectCore:COREAXI4INTERCONNECT:2.8.103' was successfully downloaded.
Downloading Actel:SgCore:PF_CLK_DIV:1.0.103...

Info:  Core 'Actel:SgCore:PF_CLK_DIV:1.0.103' was successfully downloaded.
Downloading Actel:SgCore:PF_DRI:1.1.104...

Info:  Core 'Actel:SgCore:PF_DRI:1.1.104' was successfully downloaded.
Downloading Actel:SgCore:PF_NGMUX:1.0.101...

Info:  Core 'Actel:SgCore:PF_NGMUX:1.0.101' was successfully downloaded.
Downloading Actel:SgCore:PF_PCIE:2.0.121...

Info:  Core 'Actel:SgCore:PF_PCIE:2.0.121' was successfully downloaded.
Downloading Actel:SgCore:PF_TX_PLL:2.0.304...

Info:  Core 'Actel:SgCore:PF_TX_PLL:2.0.304' was successfully downloaded.
Downloading Actel:SgCore:PF_XCVR_REF_CLK:1.0.103...

Info:  Core 'Actel:SgCore:PF_XCVR_REF_CLK:1.0.103' was successfully downloaded.
Downloading Actel:DirectCore:CoreAPB3:4.2.100...

Info:  Core 'Actel:DirectCore:CoreAPB3:4.2.100' was successfully downloaded.
Downloading Actel:DirectCore:CoreGPIO:3.2.102...

Info:  Core 'Actel:DirectCore:CoreGPIO:3.2.102' was successfully downloaded.
Downloading Actel:SystemBuilder:PF_SRAM_AHBL_AXI:1.2.108...

Info:  Core 'Actel:SystemBuilder:PF_SRAM_AHBL_AXI:1.2.108' was successfully downloaded.
Downloading Actel:Simulation:CLK_GEN:1.0.1...

Info:  Core 'Actel:Simulation:CLK_GEN:1.0.1' was successfully downloaded.
Downloading Actel:Simulation:RESET_GEN:1.0.1...

Info:  Core 'Actel:Simulation:RESET_GEN:1.0.1' was successfully downloaded.
Downloading Actel:DirectCore:corepwm:4.5.100...

Info:  Core 'Actel:DirectCore:corepwm:4.5.100' was successfully downloaded.
Downloading Actel:DirectCore:COREI2C:7.2.101...

Info:  Core 'Actel:DirectCore:COREI2C:7.2.101' was successfully downloaded.
Downloading Actel:DirectCore:CoreUARTapb:5.7.100...

Info:  Core 'Actel:DirectCore:CoreUARTapb:5.7.100' was successfully downloaded.
Downloading Actel:SystemBuilder:PF_IOD_GENERIC_RX:2.1.110...

Info:  Core 'Actel:SystemBuilder:PF_IOD_GENERIC_RX:2.1.110' was successfully downloaded.
Downloading Actel:SgCore:PF_IO:2.0.105...

Info:  Core 'Actel:SgCore:PF_IO:2.0.105' was successfully downloaded.
Downloading Actel:SystemBuilder:PF_XCVR_ERM:3.1.205...

Info:  Core 'Actel:SystemBuilder:PF_XCVR_ERM:3.1.205' was successfully downloaded.
Downloading Microchip:SolutionCore:mipicsi2rxdecoderPF:4.7.0...

Info:  Core 'Microchip:SolutionCore:mipicsi2rxdecoderPF:4.7.0' was successfully downloaded.
MSS filename: PF_SOC_MSS
Info:  Design 'PF_SOC_MSS' was successfully imported.
Reading file '/home/bb_22/Open_Gateware/bvf/main/gateware/work/libero/component/work/PF_SOC_MSS/PF_SOC_MSS.v'.
Reading file '/home/bb_22/Open_Gateware/bvf/main/gateware/work/libero/component/work/PF_SOC_MSS/MSS_NOBYP_NOBYP_NOBYP_BYP_BYP_syn_comps.v'.
Reading file '/home/bb_22/Open_Gateware/bvf/main/gateware/work/libero/hdl/apb_arbiter.v'.
Reading file '/home/bb_22/Open_Gateware/bvf/main/gateware/work/libero/hdl/AXI4_address_shim.v'.
Reading file '/home/bb_22/Open_Gateware/bvf/main/gateware/work/libero/hdl/miv_ihcc.v'.
Reading file '/home/bb_22/Open_Gateware/bvf/main/gateware/work/libero/hdl/miv_ihcc_ctrl.v'.
Reading file '/home/bb_22/Open_Gateware/bvf/main/gateware/work/libero/hdl/miv_ihcc_irqs.v'.
Reading file '/home/bb_22/Open_Gateware/bvf/main/gateware/work/libero/hdl/miv_ihcc_mem.v'.
Reading file '/home/bb_22/Open_Gateware/bvf/main/gateware/work/libero/hdl/miv_ihcia.v'.
Info: Core has been created successfully from 'APB_ARBITER' HDL module.
Info:  <a href="liberoaction://open_online_help/70004">Read more</a> on how to create a core from your HDL module.
Info:  This feature enables you to add bus interfaces to your HDL module and configure any generics/parameters in your HDL module.

Info: Core has been created successfully from 'MIV_IHCC' HDL module.
Info:  <a href="liberoaction://open_online_help/70004">Read more</a> on how to create a core from your HDL module.
Info:  This feature enables you to add bus interfaces to your HDL module and configure any generics/parameters in your HDL module.

Info: Core has been created successfully from 'MIV_IHCIA' HDL module.
Info:  <a href="liberoaction://open_online_help/70004">Read more</a> on how to create a core from your HDL module.
Info:  This feature enables you to add bus interfaces to your HDL module and configure any generics/parameters in your HDL module.

Info: Core has been created successfully from 'AXI_ADDRESS_SHIM' HDL module.
Info:  <a href="liberoaction://open_online_help/70004">Read more</a> on how to create a core from your HDL module.
Info:  This feature enables you to add bus interfaces to your HDL module and configure any generics/parameters in your HDL module.

Info: 'CORERESET' was successfully generated.
Info: 'CORERESET' manifest file '/home/bb_22/Open_Gateware/bvf/main/gateware/work/libero/component/work/CORERESET/CORERESET_manifest.txt' was successfully generated.

Info:  Component 'CORERESET' was successfully created and configured with vendor:Actel library:DirectCore name:CORERESET_PF version:2.3.100.
Info: 'INIT_MONITOR' was successfully generated.
Info: 'INIT_MONITOR' manifest file '/home/bb_22/Open_Gateware/bvf/main/gateware/work/libero/component/work/INIT_MONITOR/INIT_MONITOR_manifest.txt' was successfully generated.

Info:  Component 'INIT_MONITOR' was successfully created and configured with vendor:Microsemi library:SgCore name:PFSOC_INIT_MONITOR version:1.0.307.
Error:  Parameter 'PLL_RESET_ON_LOCK_0' not found in the spirit definition of instance 'FPGA_CCC_C0_0'.
Error:  Could not configure component 'FPGA_CCC_C0'.
Error:  The command 'create_and_configure_core' failed.


============= SCRIPT EXECUTION ERROR =============
Script:        script_support/components/CLOCKS_AND_RESETS/FPGA_CCC_C0.tcl
Error Message:
File: script_support/components/CLOCKS_AND_RESETS/FPGA_CCC_C0.tcl
Line: 5
Depth: 1
Caller file and line number not available
Stack Trace:

    while executing
"create_and_configure_core -core_vlnv {Actel:SgCore:PF_CCC:2.1.104} -component_name {FPGA_CCC_C0} -params {\
"DLL_CLK_0_BANKCLK_EN:false"  \
"DLL_CLK_0..."
    (file "script_support/components/CLOCKS_AND_RESETS/FPGA_CCC_C0.tcl" line 5)
    invoked from within
"source script_support/components/CLOCKS_AND_RESETS/FPGA_CCC_C0.tcl"
    ("uplevel" body line 1)
    invoked from within
"uplevel #0 [list source $script]"
=================================================


============= SCRIPT EXECUTION ERROR =============
Script:        ./script_support/B_V_F_recursive.tcl
Error Message:
File: script_support/components/CLOCKS_AND_RESETS/FPGA_CCC_C0.tcl
Line: 5
Depth: 1
Caller File: ./script_support/B_V_F_recursive.tcl
Caller Line: 18
Depth: 2
Stack Trace:

    while executing
"create_and_configure_core -core_vlnv {Actel:SgCore:PF_CCC:2.1.104} -component_name {FPGA_CCC_C0} -params {\
"DLL_CLK_0_BANKCLK_EN:false"  \
"DLL_CLK_0..."
    (file "script_support/components/CLOCKS_AND_RESETS/FPGA_CCC_C0.tcl" line 5)
    invoked from within
"source script_support/components/CLOCKS_AND_RESETS/FPGA_CCC_C0.tcl"
    ("uplevel" body line 1)
    invoked from within
"uplevel #0 [list source $script]"
    (procedure "::safe_source" line 6)
    invoked from within
"::safe_source script_support/components/CLOCKS_AND_RESETS/FPGA_CCC_C0.tcl"
    (file "./script_support/B_V_F_recursive.tcl" line 18)
    invoked from within
"source ./script_support/B_V_F_recursive.tcl"
    ("uplevel" body line 1)
    invoked from within
"uplevel #0 [list source $script]"
=================================================
Error:  Failure when executing Tcl script. [ Line 263 ]
Error:  The Execute Script command failed.
The BVF_GATEWARE_025T project was closed.

For a quick fix I’d suggest updating the FPGA_CCC_C0.tcl to explicitly select the latest core like so, and see if that works:

create_and_configure_core -core_vlnv {Actel:SgCore:PF_CCC:2.2.220} -component_name {FPGA_CCC_C0} -params {\

It seems the correct core is downloaded in your script, but the incorrect core is used when it’s time to configure.

You could also download the 2024.2 Megavault and set it as the vault location which should prevent any recurring issues for now.

Going forward we’ll need to make some change to prevent this error from happening, perhaps explicitly setting version numbers is the way to go, with the bonus that the builds will be more deterministic, although there will undoubtedly be additional work involved with updating core version numbers, thoughts? @lranders

1 Like

Thank you, Brian, for the thorough explanation.

I think I’d favor deterministic behavior, even if it comes with a bit more work.

We definitely don’t want these kinds of issues sneaking up on unsuspecting
folks trying out the tooling for the first time…

1 Like

I tried the script change which you suggested, but I wasn’t able to get it to solve the problem. However, downloading the 2024.2 MegaVault and setting it as the vault location solved the issue. Thank you for that helpful suggestion and your thorough response.

For reference, here is the change I made prior to switching to the 2024.2 vault:

$ git diff
diff --git a/sources/FPGA-design/script_support/components/CLOCKS_AND_RESETS/FPGA_CCC_C0.tcl b/sources/FPGA-design/script_support/components/CLOCKS_AND_RESETS/FPGA_CCC_C0.tcl
index 79b5bfb..2bd8710 100644
--- a/sources/FPGA-design/script_support/components/CLOCKS_AND_RESETS/FPGA_CCC_C0.tcl
+++ b/sources/FPGA-design/script_support/components/CLOCKS_AND_RESETS/FPGA_CCC_C0.tcl
@@ -2,7 +2,7 @@
 # Family: PolarFireSoC
 # Part Number: MPFS025T-FCVG484E
 # Create and Configure the core component FPGA_CCC_C0
-create_and_configure_core -core_vlnv {Actel:SgCore:PF_CCC:*} -component_name {FPGA_CCC_C0} -params {\
+create_and_configure_core -core_vlnv {Actel:SgCore:PF_CCC:2.2.220} -component_name {FPGA_CCC_C0} -params {\
 "DLL_CLK_0_BANKCLK_EN:false"  \
 "DLL_CLK_0_DEDICATED_EN:false"  \
 "DLL_CLK_0_FABCLK_EN:false"  \

And here is the error output when I run the script:

================================================================================
                            Generate Libero project
================================================================================

top level name:  DEFAULT_6E31FB50E3CF28D90FAC95
Console Mode = Libero v2024.1 detected.
Setting parameter BOARD to mpfs-beaglev-fire
Setting parameter DIE to MPFS025T
Setting parameter PACKAGE to FCVG484
Setting parameter DIE_VOLTAGE to 1.0
Setting parameter PART_RANGE to EXT
Setting parameter PROJECT_LOCATION to ../.././work/libero
Setting parameter TOP_LEVEL_NAME to DEFAULT_6E31FB50E3CF28D90FAC95
Setting parameter HSS_IMAGE_PATH to ../../work/HSS/hss-envm-wrapper-bm1-p0.hex
Setting parameter PROG_EXPORT_PATH to ../../.
Setting parameter DESIGN_VERSION to 2004
Cape options selected: DEFAULT
M.2 option selected: DEFAULT
SYZYGY high speed connector option option selected: DEFAULT
MIPI CSI option option selected: DEFAULT
PROJECT_LOCATION: ../.././work/libero
DESIGN_VERSION: 2004
SILICON_SIGNATURE: bea913b0
BOARD: mpfs-beaglev-fire
DIE: MPFS025T
PACKAGE: FCVG484
DIE_VOLTAGE: 1.0
PART_RANGE: EXT
Info: This version of Libero supports only the enhanced constraint flow.
The BVF_GATEWARE_025T project was created.
Downloading Actel:SgCore:PF_OSC:1.0.102...

Info:  Core 'Actel:SgCore:PF_OSC:1.0.102' was successfully downloaded.
Downloading Actel:SgCore:PF_CCC:2.2.220...

Info:  Core 'Actel:SgCore:PF_CCC:2.2.220' was successfully downloaded.
Downloading Actel:DirectCore:CORERESET_PF:2.3.100...

Info:  Core 'Actel:DirectCore:CORERESET_PF:2.3.100' was successfully downloaded.
Downloading Microsemi:SgCore:PFSOC_INIT_MONITOR:1.0.307...

Info:  Core 'Microsemi:SgCore:PFSOC_INIT_MONITOR:1.0.307' was successfully downloaded.
Downloading Actel:DirectCore:COREAXI4INTERCONNECT:2.8.103...

Info:  Core 'Actel:DirectCore:COREAXI4INTERCONNECT:2.8.103' was successfully downloaded.
Downloading Actel:SgCore:PF_CLK_DIV:1.0.103...

Info:  Core 'Actel:SgCore:PF_CLK_DIV:1.0.103' was successfully downloaded.
Downloading Actel:SgCore:PF_DRI:1.1.104...

Info:  Core 'Actel:SgCore:PF_DRI:1.1.104' was successfully downloaded.
Downloading Actel:SgCore:PF_NGMUX:1.0.101...

Info:  Core 'Actel:SgCore:PF_NGMUX:1.0.101' was successfully downloaded.
Downloading Actel:SgCore:PF_PCIE:2.0.121...

Info:  Core 'Actel:SgCore:PF_PCIE:2.0.121' was successfully downloaded.
Downloading Actel:SgCore:PF_TX_PLL:2.0.304...

Info:  Core 'Actel:SgCore:PF_TX_PLL:2.0.304' was successfully downloaded.
Downloading Actel:SgCore:PF_XCVR_REF_CLK:1.0.103...

Info:  Core 'Actel:SgCore:PF_XCVR_REF_CLK:1.0.103' was successfully downloaded.
Downloading Actel:DirectCore:CoreAPB3:4.2.100...

Info:  Core 'Actel:DirectCore:CoreAPB3:4.2.100' was successfully downloaded.
Downloading Actel:DirectCore:CoreGPIO:3.2.102...

Info:  Core 'Actel:DirectCore:CoreGPIO:3.2.102' was successfully downloaded.
Downloading Actel:SystemBuilder:PF_SRAM_AHBL_AXI:1.2.108...

Info:  Core 'Actel:SystemBuilder:PF_SRAM_AHBL_AXI:1.2.108' was successfully downloaded.
Downloading Actel:Simulation:CLK_GEN:1.0.1...

Info:  Core 'Actel:Simulation:CLK_GEN:1.0.1' was successfully downloaded.
Downloading Actel:Simulation:RESET_GEN:1.0.1...

Info:  Core 'Actel:Simulation:RESET_GEN:1.0.1' was successfully downloaded.
Downloading Actel:DirectCore:corepwm:4.5.100...

Info:  Core 'Actel:DirectCore:corepwm:4.5.100' was successfully downloaded.
Downloading Actel:DirectCore:COREI2C:7.2.101...

Info:  Core 'Actel:DirectCore:COREI2C:7.2.101' was successfully downloaded.
Downloading Actel:DirectCore:CoreUARTapb:5.7.100...

Info:  Core 'Actel:DirectCore:CoreUARTapb:5.7.100' was successfully downloaded.
Downloading Actel:SystemBuilder:PF_IOD_GENERIC_RX:2.1.110...

Info:  Core 'Actel:SystemBuilder:PF_IOD_GENERIC_RX:2.1.110' was successfully downloaded.
Downloading Actel:SgCore:PF_IO:2.0.105...

Info:  Core 'Actel:SgCore:PF_IO:2.0.105' was successfully downloaded.
Downloading Actel:SystemBuilder:PF_XCVR_ERM:3.1.205...

Info:  Core 'Actel:SystemBuilder:PF_XCVR_ERM:3.1.205' was successfully downloaded.
Downloading Microchip:SolutionCore:mipicsi2rxdecoderPF:4.7.0...

Info:  Core 'Microchip:SolutionCore:mipicsi2rxdecoderPF:4.7.0' was successfully downloaded.
MSS filename: PF_SOC_MSS
Info:  Design 'PF_SOC_MSS' was successfully imported.
Reading file '/home/sstel/workspace/polarfire/beaglev-fire-gateware/work/libero/component/work/PF_SOC_MSS/PF_SOC_MSS.v'.
Reading file '/home/sstel/workspace/polarfire/beaglev-fire-gateware/work/libero/component/work/PF_SOC_MSS/MSS_NOBYP_NOBYP_NOBYP_BYP_BYP_syn_comps.v'.
Reading file '/home/sstel/workspace/polarfire/beaglev-fire-gateware/work/libero/hdl/apb_arbiter.v'.
Reading file '/home/sstel/workspace/polarfire/beaglev-fire-gateware/work/libero/hdl/AXI4_address_shim.v'.
Reading file '/home/sstel/workspace/polarfire/beaglev-fire-gateware/work/libero/hdl/miv_ihcc.v'.
Reading file '/home/sstel/workspace/polarfire/beaglev-fire-gateware/work/libero/hdl/miv_ihcc_ctrl.v'.
Reading file '/home/sstel/workspace/polarfire/beaglev-fire-gateware/work/libero/hdl/miv_ihcc_irqs.v'.
Reading file '/home/sstel/workspace/polarfire/beaglev-fire-gateware/work/libero/hdl/miv_ihcc_mem.v'.
Reading file '/home/sstel/workspace/polarfire/beaglev-fire-gateware/work/libero/hdl/miv_ihcia.v'.
Info: Core has been created successfully from 'APB_ARBITER' HDL module.
Info:  <a href="liberoaction://open_online_help/70004">Read more</a> on how to create a core from your HDL module.
Info:  This feature enables you to add bus interfaces to your HDL module and configure any generics/parameters in your HDL module.

Info: Core has been created successfully from 'MIV_IHCC' HDL module.
Info:  <a href="liberoaction://open_online_help/70004">Read more</a> on how to create a core from your HDL module.
Info:  This feature enables you to add bus interfaces to your HDL module and configure any generics/parameters in your HDL module.

Info: Core has been created successfully from 'MIV_IHCIA' HDL module.
Info:  <a href="liberoaction://open_online_help/70004">Read more</a> on how to create a core from your HDL module.
Info:  This feature enables you to add bus interfaces to your HDL module and configure any generics/parameters in your HDL module.

Info: Core has been created successfully from 'AXI_ADDRESS_SHIM' HDL module.
Info:  <a href="liberoaction://open_online_help/70004">Read more</a> on how to create a core from your HDL module.
Info:  This feature enables you to add bus interfaces to your HDL module and configure any generics/parameters in your HDL module.

Info: 'CORERESET' was successfully generated.
Info: 'CORERESET' manifest file '/home/sstel/workspace/polarfire/beaglev-fire-gateware/work/libero/component/work/CORERESET/CORERESET_manifest.txt' was successfully generated.

Info:  Component 'CORERESET' was successfully created and configured with vendor:Actel library:DirectCore name:CORERESET_PF version:2.3.100.
Info: 'INIT_MONITOR' was successfully generated.
Info: 'INIT_MONITOR' manifest file '/home/sstel/workspace/polarfire/beaglev-fire-gateware/work/libero/component/work/INIT_MONITOR/INIT_MONITOR_manifest.txt' was successfully generated.

Info:  Component 'INIT_MONITOR' was successfully created and configured with vendor:Microsemi library:SgCore name:PFSOC_INIT_MONITOR version:1.0.307.
Error: SmartDesign 'FPGA_CCC_C0' design rules check failed
Error:  Design rules check of "FPGA_CCC_C0" failed.
        Check the log window for more information.

         [OK]
Error: 'Incompatible Family Configuration' :
Warning: 'Core Validation' : PLL_FEEDBACK_MODE_0 If you select Post-VCO as a Feedback Mode, outputs will be resynchronized between each other after the PLL locks, but will not be resynchronized with the PLL reference clock
Info: 'Core Validation' : Incorrect PLL_LOCK_COUNT value of 0 found, updating the value to be 8.
Info: 'Core Validation' : The current configuration of instance : FPGA_CCC_C0_0 has warning or information messages. Consult the User Guide for configuration of this core.
Error:  Could not configure component 'FPGA_CCC_C0'.
Error:  The command 'create_and_configure_core' failed.


============= SCRIPT EXECUTION ERROR =============
Script:        script_support/components/CLOCKS_AND_RESETS/FPGA_CCC_C0.tcl
Error Message:
File: script_support/components/CLOCKS_AND_RESETS/FPGA_CCC_C0.tcl
Line: 5
Depth: 1
Caller file and line number not available
Stack Trace:

    while executing
"create_and_configure_core -core_vlnv {Actel:SgCore:PF_CCC:2.2.220} -component_name {FPGA_CCC_C0} -params {\
"DLL_CLK_0_BANKCLK_EN:false"  \
"DLL_CLK_0..."
    (file "script_support/components/CLOCKS_AND_RESETS/FPGA_CCC_C0.tcl" line 5)
    invoked from within
"source script_support/components/CLOCKS_AND_RESETS/FPGA_CCC_C0.tcl"
    ("uplevel" body line 1)
    invoked from within
"uplevel #0 [list source $script]"
=================================================


============= SCRIPT EXECUTION ERROR =============
Script:        ./script_support/B_V_F_recursive.tcl
Error Message:
File: script_support/components/CLOCKS_AND_RESETS/FPGA_CCC_C0.tcl
Line: 5
Depth: 1
Caller File: ./script_support/B_V_F_recursive.tcl
Caller Line: 18
Depth: 2
Stack Trace:

    while executing
"create_and_configure_core -core_vlnv {Actel:SgCore:PF_CCC:2.2.220} -component_name {FPGA_CCC_C0} -params {\
"DLL_CLK_0_BANKCLK_EN:false"  \
"DLL_CLK_0..."
    (file "script_support/components/CLOCKS_AND_RESETS/FPGA_CCC_C0.tcl" line 5)
    invoked from within
"source script_support/components/CLOCKS_AND_RESETS/FPGA_CCC_C0.tcl"
    ("uplevel" body line 1)
    invoked from within
"uplevel #0 [list source $script]"
    (procedure "::safe_source" line 6)
    invoked from within
"::safe_source script_support/components/CLOCKS_AND_RESETS/FPGA_CCC_C0.tcl"
    (file "./script_support/B_V_F_recursive.tcl" line 18)
    invoked from within
"source ./script_support/B_V_F_recursive.tcl"
    ("uplevel" body line 1)
    invoked from within
"uplevel #0 [list source $script]"
=================================================
Error:  Failure when executing Tcl script. [ Line 263 ]
Error:  The Execute Script command failed.
The BVF_GATEWARE_025T project was closed.
Finished