21.3.62 new_project
(Ask a Question)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
Parameter | Type | Description |
---|---|---|
name | string | The name of the project. This is used as the base name for most of the files generated from Libero SoC. |
location | string | The location of the project. Must not be an existing directory. |
project_description | string | A brief text description of the design in your project. |
family | string | The Microchip SoC device family for your targeted design. |
die | string | Sets device die for your targeted design. |
package | string | Sets device package for your targeted design. |
hdl | string | Sets the HDL type for your new project. Valid values are:
|
speed | string | Sets the speed grade for your project. Possible values depend on your device, die, and package. See your device datasheet for details. |
die_voltage | floating point | Sets the die voltage for your project. Possible values depend on your device. See your device datasheet for details. |
part_range | string | Sets your default temperature range for your project
|
ondemand_build_dh | boolean | Enter "1" to enable or "0" (default) to disable On Demand Build Design Hierarchy. |
block_mode | boolean | Enter "1" to enable or "0" (default) to disable design block creation. |
instantiate_in_smartdesign | boolean | Enter "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_path | boolean | Enter "1" to use relative path or "0" (default) to use absolute path setting for the linked files in the project. |
linked_files_root_dir_env | boolean | The 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_options | string | Sets 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.
Value | Description |
---|---|
IO_DEFT_STD:LVTTL | Sets 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:
|
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:
|
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:
|
RESTRICTPROBEPINS | This value reserves your pins for probing, if you intend to debug using SmartDebug. Two
values are available:
|
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:
|
The following are options for Analysis Operating Conditions so that Timing and Power analysis can be performed at different operating conditions.
Value | Description |
---|---|
TEMPR | Sets your default temperature range for operating condition analysis.
|
VCCI_1.2_VOLTR | Sets the Default I/O Voltage Range for 1.2V, which could be
|
VCCI_1.5_VOLTR | Sets the Default I/O Voltage Range for 1.5V, which could be
|
VCCI_1.8_VOLTR | Sets the Default I/O Voltage Range for 1.8V, which could be
|
VCCI_2.5_VOLTR | Sets the Default I/O Voltage Range for 2.5V, which could be
|
VCCI_3.3_VOLTR | Sets the Default I/O Voltage Range for 3.3V, which could be
|
VOLTR | Sets 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:
|
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
- 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}
- 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}