In this article we will discuss how to choose between Front End and Back End.
1. Frontend
2. Backend
Both together, allow the creation of a functional chip from a SPEC/specification to production. In VLSI design either we try to address an existing problem or explore some opportunity by transforming a specification into a circuit designed on Silicon.
The frontend flow is used to transform the specification or the behavioral description into a RTL circuit description. The major steps of front end flow are
1. Specification: This is the first stage in the design process where we define the important parameters of the system that has to be designed into a specification.
2. High-level Design: In this stage, various details of the design architecture are defined. In this stage, details about the different functional blocks and the interface communication protocols between them, etc. are defined.
3. Low-level Design: This phase is also known as microarchitecture phase. In this phase lower level design details about each functional block implementation are designed. This can include details like modules, state machines, counters, MUXes, decoders, internal registers, etc.
4. RTL coding: In RTL coding phase, the micro design is modeled in a Hardware Description Language like Verilog/VHDL, using synthesizable constructs of the language. Synthesizable constructs are used so that the RTL model can be input to a synthesis tool to map the design to actual gate level implementation later.
5. Functional Verification: Functional Verification is the process of verifying the functional characteristics of the design by generating different input stimulus and checking for correct behavior of the design implementation.
6. Logic Synthesis: Synthesis is the process in which a synthesis tool like design compiler takes in the RTL, target technology, and constraints as inputs and maps the RTL to target technology primitives. Functional equivalence checks are also done after synthesis to check for equivalence between the input RTL model and the output gate level model.
7. Placement and Routing: Gate-level netlist from the synthesis tool is taken and imported into place and route tool in the Verilog netlist format. All the gates and flip-flops are placed, Clock tree synthesis and reset are routed. After this each block is routed, the output of the P&R tool is a GDS file, which is used by a foundry for fabricating the ASIC.
8. Gate-level Simulation: The Placement and Routing tool generates an SDF (Standard Delay File) that contains timing information of the gates. This is back annotated along with gate level netlist and some functional patterns are run to verify the design functionality. A static timing analysis tool like Primetime can also be used for performing static timing analysis checks.
9. Fabrication: Once the gate level simulations verify the functional correctness of the gate level design after the Placement and Routing phase, then the design is ready for manufacturing. The final GDS file (a binary database file format which is the default industry standard for data exchange of integrated circuit or IC layout artwork) is normally sent to a foundry which fabricates the silicon. Once fabricated, proper packaging is done and the chip is made ready for testing.
10. Post-silicon Validation: Once the chip is back from fabrication, it needs to be put in a real test environment and tested before it can be used widely in the market. This phase involves testing in a lab using real hardware boards and software/firmware that programs the chip. Since the speed of simulation with RTL is very slow compared to testing in the lab with real silicon, there is always a possibility to find a bug in silicon validation and hence this is very important before qualifying the design for a market.
The set of above stages are roughly divided into two halves – the first half is known as the Front End of VLSI design while the second half is referred to as Back End VLSI design.
All of the stages from Specification to Functional Verification are normally considered as part of Front end and engineers working on any of these are Front End VLSI design engineers. All stages from Logic Synthesis till Fabrication are considered as Back End and engineers working on any of these are considered as Back end VLSI design engineers.
Other Popular Job Role in VLSI:
Some job categories though have some vague distinction between front end vs back end:
1. Post Silicon validation is normally a separate phase for product readiness. Some times engineers working on this have more interactions with front end design and verification engineers.
2. Emulation, FPGA design, and PCB design are also not truly classified in this design flow.
3. Gate-level simulation is mostly done my front end VLSI design engineers even though it is post synthesis.
4. There are also separate job categories like Custom circuit design, Analog and Mixed-signal circuit designs – which could be considered separate.
Career Opportunities – Front end vs Back End:
In terms of opportunities and importance, both Front end engineers and Back end Engineers are equally important, equally challenged. Both will have equal opportunities in terms of building a career and opportunities to earn.
On the front end side, an engineer could start as an RTL design engineer or a Verification engineer and gain deeper knowledge and skills as they progress in a career. In terms of job opportunities, there is a demand for more verification engineers compared to design engineers.
Engineers could gain deeper knowledge and expertise in the same domain. Some engineers who have a strong interest in architecture and micro-architecture can also grow as system design architects and micro architects.
On the back end side, engineers can start with logic synthesis, Placement, and Routing, Layout, Physical verification, static timing analysis. Most of the back end engineers would need a better understanding of process technologies, transistors, high-speed design issues and a good grasp of tools and automation.
An engineer can choose to have a career in front end or back end based on these understanding and their specific interest and skills. In terms of earning the opportunity, both have equal opportunities and beyond the differentiation – a lot would depend on how you learn, execute and grow.
Most Popular Job Role in Front End:
1. RTL Coding: with help of high level HDL coding (VHDL or verilog ) he designs the architecture of the chip, a basic skeleton of circuit. It is similar to design a pipeline to circulate the flow of water.
2. Synthesis: Synthesis transforms high level verilog/vhdl constructs, which don't have real physical hardware that can be wired up to do your logic, into low level logical constructs which can be literally modeled in the form of transistor logic or look-up tables or other FPGA or ASIC hardware components.
3. Verification: HDL model is then verified for Functional correctness using different Verification methodologies and refined until the HDL model is proved to be meeting the specifications.
Most Popular Job Role in Back End:
He deals with further manufacturing and fabrication process. There he fabricates designs onto silicon dies which are then packaged into ICs.
1. Floor planning and power planing: the physical design process starts with floor planning. Where engineer actually works with the core level circuit. He decides where to place basic blocks and how to route them,what is power requirements of the circuit and how to utilities it efficiently.
2. Placement: To locate the basic components and efficiently eliminating any timing constraints.
3. Clock Tree Synthesis: As the circuit may use multiple clock sources such as PLLs, oscillators etc. so a proper synchronization must be provided.
4. Physical Verification: After completing the routing process. It is needed to inspect the process output, physical verification tools are needed to look for signoff LVS and DRC checks.
Which one has future:
Well it totally depends on what are you good at,because there are many fields in vlsi chip design in which core knowledge is required.Still for a long run, to work in back end will give a more challenging and exciting opportunity to know what is actually going on in the chip inside. Talented back end engineers are in very good demand ,For coming decade it will generate an exciting opportunity to build a good career.
Video lecture on this topic is here :