21.3.62 new_project

Description

This Tcl command creates a new project in Libero SoC. If you do not specify a location, Libero SoC saves the new project in your current working directory.

new_project -name project_name \
-location project_location \
-family family_name \
-project_description "brief text description of project" \
-die device_die \
-package package_name \
-hdl HDL_type \
-speed speed_grade \
-die_voltage value \
-part_range value \
-block_mode {1 | 0} \
-ondemand_build_dh {1 | 0} \
-adv_options value \
-use_relative_path {1 | 0} \
-linked_files_root_dir_env root_dir_env \
-standalone_peripheral_initialization {1 | 0} \
-instantiate_in_smartdesign {1 | 0} \
-use_enhanced_constraint_flow {1 | 0}

Arguments

ParameterTypeDescription
namestringThe name of the project. This is used as the base name for most of the files generated from Libero SoC.
locationstringThe location of the project. Must not be an existing directory.
project_descriptionstringA brief text description of the design in your project.
familystringThe Microchip SoC device family for your targeted design.
diestringSets device die for your targeted design.
packagestringSets device package for your targeted design.
hdlstringSets the HDL type for your new project. Valid values are:
  • VHDL—sets your new projects HDL type to VHDL.
  • VERILOG—sets your new projects to Verilog.
speedstringSets the speed grade for your project. Possible values depend on your device, die, and package. See your device datasheet for details.
die_voltagefloating pointSets the die voltage for your project. Possible values depend on your device. See your device datasheet for details.
part_rangestringSets your default temperature range for your project
  • PolarFire: EXT (Extended), IND (Industrial), MIL (Military)
  • SmartFusion 2: COM (Commercial), IND, TGrade2 (Automotive), MIL
  • IGLOO 2: COM, IND, TGrade1, TGrade2, MIL
  • RTG4: MIL
ondemand_build_dhbooleanEnter "1" to enable or "0" (default) to disable On Demand Build Design Hierarchy.
block_modebooleanEnter "1" to enable or "0" (default) to disable design block creation.
instantiate_in_smartdesignbooleanEnter "1" to enable or "0" (default) to disable Instantiate SystemBuilder/MSS components in a SmartDesign. When set to "1", a System Builder or MSS component is auto-instantiated in a SmartDesign component upon creation. The default is 1.
use_relative_pathbooleanEnter "1" to use relative path or "0" (default) to use absolute path setting for the linked files in the project.
linked_files_root_dir_envbooleanThe System Environment variable that has valid root directory path. All the linked files in the project will be referenced relative to the path set in the Environment variable. The value in this argument is used only if the relative path is set in -use_relative_path argument.
adv_optionsstringSets your advanced options, such as temperature and voltage settings. For more information, see the following table.

The following are advanced options for temperature and voltage settings.

ValueDescription
IO_DEFT_STD:LVTTLSets your I/O default value to LVTTL. This value defines the default I/O technology to be used for any I/Os that you need not explicitly set a technology for in the I/O Editor. It could be any of:
  • LVTTL
  • LVCMOS 3.3V
  • LVCMOS 2.5V
  • LVCMOS 1.8V
  • LVCMOS 1.5V
  • LVCMOS 1.2V
DSW_VCCA_VOLTAGE_RAMP_RATE(SmartFusion 2 and IGLOO 2 only) This value defines the Maximum VDD and VPP power supply ramp rate. Power-up management circuitry is designed into every SmartFusion 2 and IGLOO 2 SoC FPGA. These circuits ensure easy transition from the powered-off state to powered-up state of the device. The SmartFusion 2 or IGLOO 2 system controller is responsible for systematic power-on reset whenever the device is powered on or reset. All the I/Os are held in a high-impedance state by the system controller until all power supplies are at their required levels and the system controller has completed the reset sequence. The power-on reset circuitry in SmartFusion 2 and IGLOO 2 devices requires the VDD and VPP supplies to ramp monotonically from 0 V to the minimum recommended operating voltage within a predefined time. There is no sequencing requirement on VDD and VPP. Four ramp rate options are available during design generation:
  • 50 µs
  • 1 ms
  • 10 ms
  • 100 ms
Each selection represents the maximum ramp rate to apply to VDD and VPP.
PLL_SUPPLY(SmartFusion 2, IGLOO 2 only) This value sets the voltage for the power supply you plan to connect to all the PLLs in your design, such as MDDR, FDDR, SERDES, and FCCC. Two values are available:
  • 2.5
  • 3.3
RESTRICTPROBEPINSThis value reserves your pins for probing, if you intend to debug using SmartDebug. Two values are available:
  • 1 (Probe pins are reserved)
  • 0 (No probe pins are reserved)
RESTRICTSPIPINS:1(RTG4 only) Sets to 1 to reserve pins for SPI functionality in Programming. This reserved SPI pin option is displayed in the Compile Report when the compile process completes.
SYSTEM_CONTROLLER_SUSPEND_MODE(SmartFusion 2, IGLOO 2 only) Enables SmartFusion 2 and IGLOO 2 designers to suspend operation of the System Controller. Enabling this bit instructs the System Controller to place itself in a reset state once the device is powered up. This effectively suspends all system services from being performed. For a list of system services, refer to the SmartFusion 2 or IGLOO 2 System Controller User Guide for your device on the Microchip website. Two values are available:
  • 1 (System Controller Suspend Mode is enabled)
  • 0 (System Controller Suspend Mode is disabled

The following are options for Analysis Operating Conditions so that Timing and Power analysis can be performed at different operating conditions.

ValueDescription
TEMPRSets your default temperature range for operating condition analysis.
  • COM (Commercial)
  • MIL (Military)
  • IND (Industrial)
VCCI_1.2_VOLTRSets the Default I/O Voltage Range for 1.2V, which could be
  • COM (Commercial)
  • MIL (Military)
  • IND (Industrial)
  • Custom
These settings are propagated to Verify Timing, Verify Power and Backannotated Netlist to perform Timing/Power Analysis.
VCCI_1.5_VOLTRSets the Default I/O Voltage Range for 1.5V, which could be
  • COM (Commercial)
  • MIL (Military)
  • IND (Industrial)
  • Custom
These settings are propagated to Verify Timing, Verify Power and Backannotated Netlist to perform Timing/Power Analysis.
VCCI_1.8_VOLTRSets the Default I/O Voltage Range for 1.8V, which could be
  • COM (Commercial)
  • MIL (Military)
  • IND (Industrial)
  • Custom
These settings are propagated to Verify Timing, Verify Power and Backannotated Netlist to perform Timing/Power Analysis.
VCCI_2.5_VOLTRSets the Default I/O Voltage Range for 2.5V, which could be
  • COM (Commercial)
  • MIL (Military)
  • IND (Industrial)
  • Custom
These settings are propagated to Verify Timing, Verify Power and Backannotated Netlist to perform Timing/Power Analysis.
VCCI_3.3_VOLTRSets the Default I/O Voltage Range for 3.3V, which could be
  • COM (Commercial)
  • MIL (Military)
  • IND (Industrial)
  • Custom
These settings are propagated to Verify Timing, Verify Power and Backannotated Netlist to perform Timing/Power Analysis.
VOLTRSets the core voltage range for operating condition analysis. These settings are propagated to Verify Timing, Verify Power and Backannotated Netlist to perform Timing/Power Analysis. Can be one of the following:
  • COM (Commercial)
  • MIL (Military)
  • IND (Industrial)

Error Codes

Error Code

Description

None

auto_update_modelsim_ini: Invalid argument value: 'value' (expecting TRUE, 1, true, FALSE, 0 or false).

None

auto_update_viewdraw_ini: Invalid argument value: 'value' (expecting TRUE, 1, true, FALSE, 0 or false).

None

block_mode: Invalid argument value: 'value' (expecting TRUE, 1, true, FALSE, 0 or false).

None​

auto_generate_synth_hdl: Invalid argument value: 'value' (expecting TRUE, 1, true, FALSE, 0 or false).

None

You do not have write access to /prj_path/exprj/viewdraw/vf/project.lst. ViewDraw A.E. cannot open.

None

enable_set_mitigation: Invalid argument value: 'value' (expecting TRUE, 1, true, FALSE, 0 or false).

None

auto_file_detection: Invalid argument value: '' (expecting TRUE, 1, true, FALSE, 0 or false).

None

hdl: Invalid argument value: '' (expecting VHDL or VERILOG).

None

Parameter 'param_name' is not defined. Valid command formatting is 'project_settings [-hdl "VHDL | VERILOG"] [-verilog_mode "SYSTEM_VERILOG | VERILOG_2K"] [-vhdl_mode "VHDL_2008 | VHDL_93"] [-system_verilog_mfcu "TRUE | FALSE"] [-auto_update_modelsim_ini "TRUE | FALSE"] [-auto_update_viewdraw_ini "TRUE | FALSE"] [-enable_viewdraw "TRUE | FALSE"] [-standalone_peripheral_initialization "TRUE | FALSE"] [-instantiate_in_smartdesign "TRUE | FALSE"] [-ondemand_build_dh "TRUE | FALSE"] [-auto_generate_synth_hdl "TRUE | FALSE"] [-auto_generate_physynth_hdl "TRUE | FALSE"] [-auto_run_drc "TRUE | FALSE"] [-auto_generate_viewdraw_hdl "TRUE | FALSE"] [-auto_file_detection "TRUE | FALSE"] [-sim_flow_mode "TRUE | FALSE"] [-vm_netlist_flow "TRUE | FALSE"] [-enable_set_mitigation "TRUE | FALSE"] [-display_fanout_limit "display_fanout_limit"] [-abort_flow_on_sdc_errors "TRUE | FALSE"] [-abort_flow_on_pdc_errors "TRUE | FALSE"] [-block_mode "TRUE | FALSE"]'.

Supported Families

Supported Families
PolarFire®
RTG4
SmartFusion® 2
IGLOO® 2

Example

  1. Creates a new project in the ./designs/mydesign directory, with the HDL type Verilog for the SmartFusion 2 family.
    new_project -location {./designs/mydesign} \
    -name {mydesign} \
    -use_enhanced_constraint_flow 1 \
    -use_relative_path 1 -linked_files_root_dir_env {MSCC_ROOT_1} \
    -standalone_peripheral_initialization 1 -hdl {VERILOG} -family {SmartFusion 2} \
    -die {M2S150TS} -package {FCS536} -speed {-1} -die_voltage {1.2} \
    -part_range {COM} -adv_options {DSW_VCCA_VOLTAGE_RAMP_RATE:100_MS} \
    -adv_options {IO_DEFT_STD:LVCMOS 2.5V} \
    -adv_options {PLL_SUPPLY:PLL_SUPPLY_25} \
    -adv_options {RESTRICTPROBEPINS:1} \
    -adv_options {SYSTEM_CONTROLLER_SUSPEND_MODE:0} \
    -adv_options {TEMPR:IND} -adv_options {VCCI_1.2_VOLTR:IND} \
    -adv_options {VCCI_1.5_VOLTR:IND} -adv_options {VCCI_1.8_VOLTR:IND} \
    -adv_options {VCCI_2.5_VOLTR:IND} -adv_options {VCCI_3.3_VOLTR:IND} \
    -adv_options {VOLTR:IND}
  2. Creates a new project in the D:/2Work/my_pf_proj directory, with the HDL type Verilog for PolarFire. Sets up a new design and runs Libero tools.
    new_project -location {D:/2Work/my_pf_proj} -name {my_pf_proj} \
    -project_description {} - block_mode 0 -standalone_peripheral_initialization 0 \
    -use_enhanced_constraint_flow 1 -use_relative_path 1 \ 
    -linked_files_root_dir_env {MSCC_ROOT_1} -hdl {VERILOG} -family {PolarFire} \
    -die {MPF300TS_ES} -package {FCG1152} -speed {-1} - die_voltage {1.0} \
    -part_range {EXT} -adv_options {IO_DEFT_STD:LVCMOS 1.8V} -adv_options {RESTRICTPROBEPINS:1} \
    -adv_options {RESTRICTSPIPINS:0} -adv_options {SYSTEM_CONTROLLER_SUSPEND_MODE:1} \
    -adv_options {TEMPR:EXT} -adv_options {VCCI_1.2_VOLTR:EXT} -adv_options {VCCI_1.5_VOLTR:EXT} \
    -adv_options {VCCI_1.8_VOLTR:EXT} -adv_options {VCCI_2.5_VOLTR:EXT} \
    -adv_options {VCCI_3.3_VOLTR:EXT} -adv_options {VOLTR:EXT} 
    #Import HDL source file
    import_files -convert_EDN_to_HDL 0 -hdl_source {C:/test/prep1.v}
    
    #Import HDL stimulus file
    import_files -convert_EDN_to_HDL 0 -stimulus {C:/test/prep1tb.v}
    #set the top level design name
    set_root -module {prep1::work}
    
    #Associate SDC constraint file to Place and Route tool
    organize_tool_files -tool {PLACEROUTE} -file {D:/2Work/my_pf_proj/constraint/user.sdc} \
    -module {prep1::work} -input_type {constraint}
    
    #Associate SDC constraint file to Verify Timing tool
    organize_tool_files -tool {VERIFYTIMING} -file {D:/2Work/my_pf_proj/constraint/user.sdc} \ 
    -module {prep1::work} -input_type {constraint}
    #Run synthesize
    run_tool -name {SYNTHESIZE}
    #Configure Place and Route tool
    configure_tool -name {PLACEROUTE} -params {DELAY_ANALYSIS:MAX} -params {EFFORT_LEVEL:false} \
    -params {INCRPLACEANDROUTE:false} -params {MULTI_PASS_CRITERIA:VIOLATIONS} \
    -params {MULTI_PASS_LAYOUT:false} -params {NUM_MULTI_PASSES:5} -params {PDPR:false} \ 
    -params {RANDOM_SEED:0} -params {REPAIR_MIN_DELAY:false} -params {SLACK_CRITERIA:WORST_SLACK} \
    -params {SPECIFIC_CLOCK:} -params {START_SEED_INDEX:1} -params {STOP_ON_FIRST_PASS:false} \
    -params {TDPR:true}