Reading and analyzing the RTL code, which can be written in hardware description languages (HDLs) such as Verilog or VHDL.
Performing logic optimization, which aims to reduce the area, power, and delay of the circuit by applying various transformations and simplifications to the logic expressions.
Performing technology mapping, which maps the optimized logic expressions to the corresponding gates and cells in the technology library.
Performing timing analysis, which estimates the delay and slack of each path in the circuit and checks whether they meet the timing constraints specified by the designer.
Performing test synthesis, which inserts test structures such as scan chains and test points to enable testing and debugging of the circuit.
Generating the output netlist, which contains the information about the connections and attributes of each gate and cell in the circuit.
RTL synthesis is an important step in the IC design flow, as it determines the quality of results (QoR) of the final physical implementation. A good RTL synthesis tool should be able to produce a netlist that meets the design specifications and constraints with minimal area, power, and delay.
What is Synopsys Design Compiler?
Synopsys Design Compiler is a family of RTL synthesis products that can perform all the steps mentioned above with high efficiency and accuracy. It has two main user interfaces: Design Vision and dc_shell. Design Vision is a graphical user interface (GUI) that allows users to interact with the tool using menus, buttons, dialogs, and windows. dc_shell is a command-line interface (CLI) that allows users to interact with the tool using scripts, commands, and variables. Both interfaces provide access to the same core synthesis engine and features.
Synopsys Design Compiler has several variants that cater to different design needs and challenges. Some of them are:
Design Compiler Graphical: This is the standard version of Synopsys Design Compiler that provides concurrent optimization of timing, area, power, and test. It also includes innovative topographical technology that enables a predictable flow resulting in faster time to results. Topographical technology provides timing and area prediction within 10% of the results seen post-layout, enabling designers to reduce costly iterations between synthesis and physical implementation.
Design Compiler NXT: This is the next-generation version of Synopsys Design Compiler that extends the market-leading synthesis position of Synopsys Design Compiler Graphical. It includes technology innovations such as fast, highly efficient optimization engines, cloud-ready ,a new, highly accurate approach to RC estimation and capabilities required for the process nodes 5nm and below. It also offers 2X faster runtime on quad-core compute servers and 12% lower total power and 10% smaller area through advanced optimizations.
Design Compiler Ultra: This is a version of Synopsys Design Compiler that provides ultra-fast runtime for large designs without compromising QoR. It leverages advanced multi-threading techniques and distributed processing across multiple machines to achieve up to 10X faster runtime than traditional synthesis tools. It also supports incremental synthesis for faster turnaround time when making changes to existing designs.
What are some of the challenges and solutions for using Synopsys Design Compiler?
Using Synopsys Design Compiler effectively requires some knowledge and skills from the designer. Some of the common challenges and solutions for using Synopsys Design Compiler are:
Writing synthesizable RTL code: The designer should write RTL code that follows the synthesis coding guidelines and best practices, such as avoiding latches, asynchronous resets, non-standard operators, and ambiguous constructs. The designer should also use appropriate coding styles and conventions, such as naming, indentation, comments, and modularization. The designer can use the linting and checking features of Synopsys Design Compiler to identify and fix any syntax or semantic errors in the RTL code.
Setting up the synthesis environment: The designer should set up the synthesis environment with the required files and parameters, such as the technology library, the design constraints, the synthesis scripts, and the synthesis options. The designer should also ensure that the paths and variables are correctly defined and consistent across different tools and platforms. The designer can use the setup and configuration features of Synopsys Design Compiler to create and manage the synthesis environment.
Optimizing the synthesis results: The designer should optimize the synthesis results to meet the design goals and constraints, such as timing, area, power, and test. The designer should also analyze and debug the synthesis results to identify and resolve any issues or bottlenecks, such as timing violations, congestion, glitches, or test coverage. The designer can use the optimization and analysis features of Synopsys Design Compiler to perform various optimizations and transformations on the netlist, such as logic restructuring, gate sizing, clock gating, power gating, test insertion, etc. The designer can also use the reporting and visualization features of Synopsys Design Compiler to generate and view various reports and graphs on the netlist, such as timing reports, area reports, power reports, test reports, schematic views, waveform views, etc.
Conclusion
Synopsys Design Compiler is a powerful and versatile RTL synthesis tool that can handle complex IC design challenges with high QoR and productivity. It offers a range of features and options that can suit different design needs and preferences. It also integrates well with other Synopsys tools and third-party tools to enable a seamless IC design flow. By learning how to use Synopsys Design Compiler effectively, designers can achieve better results in less time.
References:
[Design Compiler - Synopsys]
[Design Compiler NXT - Synopsys]
[Design Compiler Ultra - Synopsys]
a7a7d27f09