In computer engineering, logic synthesis is the process of converting an abstract specification of desired circuit behaviour, often at the register transfer level (RTL), into a design implementation in terms of logic gates, typically using a synthesis tool, which is a computer software. This procedure comprises the synthesis of HDLs such as VHDL and Verilog.
Synthesis of designs expressed in hardware description languages such as VHDL and Verilog is a common example of this procedure. Some synthesis tools generate bitstreams for programmable logic devices like PALs or FPGAs, but others are designed to create ASICs. One facet of electrical design automation is logic synthesis.
Elements of logic synthesis
Logic design is a phase in the standard design cycle in which an electrical circuit’s functional design is turned into a representation that encompasses logic operations, arithmetic operations, control flow, and so on. The common output for this step is an RTL description.
The circuit design process is frequently performed after the logic design step. Parts of the logical design in modern electrical design may be automated using high-level synthesis tools based on the behavioural description of the circuit.
Logic operations, which are the most fundamental types of operations in an electrical circuit, typically consist of boolean AND, OR, XOR, and NAND operations. Arithmetic operations are often implemented using logic operators.
High-level synthesis or Behavioral synthesis
With the objective of enhancing designer productivity, research work on the synthesis of circuits described at the behavioural level results in the commercialization of solutions that are used for sophisticated ASIC and FPGA design. These tools automatically convert circuits described in high-level languages such as ANSI C/C++ or SystemC to a register transfer level (RTL) specification that may be used as input to a gate-level logic synthesis flow.
The allocation of work to clock cycles and across structural components, such as floating-point ALUs, is done by the compiler using an optimisation procedure in high-level synthesis (also known as ESL synthesis), whereas in RTL logic synthesis (even from behavioural Verilog or VHDL, where a thread of execution can make multiple reads and writes to a variable within a clock cycle), those decisions have already been made.
Minimization of multi-level logic
A multi-level network of logic components is used in most realistic implementations of a logic function. The synthesis tool creates a multilayer Boolean network from an RTL description of a design. The network is then optimised using numerous technology-independent strategies before being subjected to technology-dependent optimizations. During technology-independent optimizations, the common cost function is the total literal count of the factored form of the logic function (which correlates quite well with circuit area).
Finally, technology-dependent optimization converts a technology-independent circuit into a network of gates for a certain technology. During and after technology mapping, basic cost estimates are replaced by more specific, implementation-driven estimates. The accessible gates (logic functions) in the technology library, the drive sizes for each gate, and the delay, power, and area characteristics of each gate all restrict mapping.
Why do we need logic synthesis?
The logic synthesis process produces a netlist of circuit models, which may be simulated before constructing a circuit to confirm that timing restrictions are not broken and the actual device functions properly.
Synthesis using HDL:
HDL code is converted into a netlist that describes the hardware using logic synthesis (e.g., the logic gates and the wires connecting them). The logic synthesiser may make improvements in order to decrease the amount of hardware required. The netlist might be a text file or a diagram that helps you visualise the circuit.
HDL circuit descriptions are similar to code written in a computer language. However, you must keep in mind that the code is meant to simulate hardware. SystemVerilog and VHDL are powerful programming languages with a large number of instructions. Not all of these instructions are hardware synthesised. A command to publish simulation results on the screen, for example, does not convert into hardware. Engineers focus on a synthesizable subset of the languages because their primary goal is to manufacture hardware. They break down HDL code into synthesizable modules and a testbench in particular.
The hardware is described by the synthesizable modules. The testbench includes code for applying inputs to a module, checking for valid output results, and printing inconsistencies between expected and actual outputs. The code on the Testbench is just for simulation and cannot be synthesised. HDL is sometimes misunderstood as a computer programme rather than a shorthand for describing digital hardware by newcomers. You won’t like what you get if you don’t know roughly what hardware your HDL should synthesise onto.
You may end up building significantly more hardware than is required, or you may develop code that simulates perfectly but cannot be implemented in hardware. Consider your system in terms of combinational logic blocks, registers, and finite state machines instead. Before you start creating code, draw these components on paper and illustrate how they are related.
Conclusion:
Idioms are specialised methods in which HDLs describe certain forms of logic. And practicing examples is the greatest approach to learn HDL, which comes along with the course modules in various VLSI training institutes. Chipedge is best VLSI training institute that offers a variety of courses such as Synthesis, which employs Synopsys tools and lectures from industry professionals, saving you time and allowing you to expand your career options.This VLSI training institute offers various online VLSI courses like Physical Design course, Design Verification course, ASIC verification course, DFT course , chip design course and many more. Enroll yourself today for the Online VLSI Courses.
Image Source
https://www.pexels.com/photo/photo-of-green-circuit-board-1105379/