10.4 Software Features and Enhancements
(Ask a Question)10.4.1 Smart High-Level Synthesis (SmartHLS) general release v2021.2
(Ask a Question)Libero SoC v2021.2 includes the first general release of Smart High-Level Synthesis (SmartHLS) tool.
SmartHLS is an Eclipse-based integrated development environment that accepts C++ software code as input and generates a SmartDesign IP component (Verilog HDL) as output. Hardware engineers can instantiate the generated SmartDesign IP component in the SmartDesign canvas available in Libero SoC design suite to build an FPGA system.
The SmartHLS software requires a free license that you can request in the Microsemi SoC Portal. Use the following procedure to request the free license.
- Log into the Microsemi Customer Portal (http://soc.microsemi.com/portal) and click the License and Registration link.
- Click Request Free License.
- Click SmartHLS one-year Disk ID License for Windows or SmartHLS one-year Floating License for Windows or Linux Server.
-
On the next page, enter the hard Disk ID or MAC ID of the machine based on the
selected license option, and then click the Submit
button.
A new
license.dat
file will be emailed to you, enabling you to use SmartHLS. -
When you receive the
SmartHLS license.dat
file, open it, copy the content, and add it to your existing Libero software license file with the similar Libero license option (Disk ID or MAC ID). For example, if you generated a node locked license for the SmartHLS tool, add the SmartHLS license file content to the Libero node locked license.For more details, see the:- Online SmartHLS v2021.2 release
notes. The release notes can also be found in the Libero
installation under
SmartHLS-2021.2/docs/releasenotes.html
. - Microchip SmartHLS User Guide.
- Online SmartHLS v2021.2 release
notes. The release notes can also be found in the Libero
installation under
10.4.2 SmartDesign Enhancements
(Ask a Question)Libero SoC v2021.2 adds new features to the SmartDesign tool enhancing the front-end design entry capability.
- Hierarchical SmartDesign Creation from within the Canvas
- Full Copy/Cut/Paste Support within a SmartDesign and across SmartDesigns
- New Smart Search and Connect feature replaces Quick Connect
- Synthesis Attributes support
For more details, see the SmartDesign User Guide .
10.4.3 Bitstream Digest
(Ask a Question)Prior to Libero SoC v2021.2, the calculated digest of each bitstream component (Fabric, Security, eNVM, etc.) that gets logged during bitstream export did not include metadata such as the software version, design version, design name, and advanced bitstream options for PolarFire SoC. Libero SoC v2021.2 calculates the digest over the entire bitstream, including the metadata. This is embedded inside the bitstream in plaintext, logged during bitstream generation and export tools in Libero SoC, and shown in the FlashPro Express UI by hovering over the info icon of the device. This feature is available for SmartFusion2, IGLOO2, PolarFire, RT PolarFire, and PolarFire SoC families.
For more details, see the Libero SoC Design Flow User Guide for the specific device family.
10.4.4 Out-of-Context Derive Constraints Utility for Custom Flows
(Ask a Question)Libero SoC v2021.2 adds a stand-alone tool to derive constraints for running synthesis outside the Libero project (custom design flow). The tool needs a Tcl script that specifies the HDL source and SDC timing constraints from the various configurators to generate SDC files for both synthesis and back-end tools.
For more details, see the Custom Flow User Guide .
10.4.5 Timing Constraint Enhancements: Multi-cycle Start and End Options
(Ask a Question)-start
and -end
options to the set_multicycle
SDC timing constraint. These options
allow users to specify which clock period is applied for the additional cycles. - For
-end
, the capturing clock period is applied, which is the default for setup analysis. - For
-start
, the launching clock is applied, which is the default for hold analysis.
-start
or -end
will not
be affected, as the defaults are unchanged.For more details, see the SmartTime Static Timing Analyzer User Guide .
10.4.6 Ability to Create and Select Synthesis and Identify Implementations
(Ask a Question)Libero SoC v2021.2 adds the ability to create and select Synthesis and Identify implementations from Libero's synthesis configuration.
Running synthesis on a newly created Synthesis implementation will make it active. After creating a new Identify implementation, invoke SynplifyPro interactively, launch Identify Instrumentor on the selected implementation, instrument debug signals, and run synthesis to activate the Identify implementation in Libero.
Selecting a previous implementation will not restore the synthesis result or its configuration options. Update the synthesis configuration and rerun synthesis.
For more details, see the Libero SoC Design Flow User Guide .
10.4.7 SynplifyPro and Identify
(Ask a Question)The SynplifyPro and Identify tools bundled in Libero SoC v2021.2 have been upgraded to version R-2021.03M. Besides enhancements and fixes, SynplifyPro is now fully supported on Ubuntu 18.04.
Generated names of signals and ports get renamed without special characters.
syn_safe_cdc
is applied on a CDC path, it
ensures that SynplifyPro will not add syn_preserve
,
syn_replicate
, and syn_allow_retiming
attributes, making these registers available for absorption during RAM and MATH
block inference. SynplifyPro still reports the path as Safe and its description will
be syn_safe_cdc attribute applied
. The
syn_safe_cdc
can be applied on source, destination, or both.
Example:reg ar /* synthesis syn_safe_cdc = 1 */;
reg zr;
reg sync;
always @(posedge clk1)
begin
ar <= a;
end
always @(posedge clk2)
begin
zr <= ar;
sync <= zr;
end
10.4.8 Initiator/Target Nomenclature
(Ask a Question)Libero SoC v2021.2 updates the nomenclature from Master/Slave to Initiator/Target in the SmartDesign Memory map view and reports, and PolarFire SoC standalone MSS configurator.
For more details, see the Libero SoC Design Flow User Guide .
10.4.9 Standalone Synthesis Flow
(Ask a Question)Libero SoC v2021.2 users can synthesize designs outside the Libero SoC software using Synopsys SynplifyPro directly. When using this flow, the following additional steps are necessary to synthesize and implement a design:
- For Windows, make sure the <install location>/Designer/data/aPA5M/polarfire_syn_comps.v is added as a source file to the SynplifyPro project. This file contains module declarations with timing information for PolarFire primitives not known to Synopsys.
- For Linux, make sure the <install location>/Libero/data/aPA5M/polarfire_syn_comps.v is added as a source file to the SynplifyPro project. This file contains module declarations with timing information for PolarFire primitives not known to Synopsys.
- Many configured cores generate timing constraints. For optimal results, make sure these constraint files are passed to synthesis. These constraint files must also be imported into Libero along with the synthesis gate level netlist for optimal place, route, and timing analysis results. Core-generated constraint files must be modified so that constraints are expressed using the proper hierarchical name of the configured cores in the top-level design.
10.4.10 Discontinuation of ModelSim ME
(Ask a Question)Starting with Libero v2021.2, only Modelsim ME Pro is officially bundled within Libero SoC. ModelSim ME integration has been discontinued in this Libero release. Users continue to have the flexibility of using previous and/or stand-alone versions of ModelSim ME.