ASIC stands for Application Specific Integrated Circuit,or in other words a chip that is being designed for a specific task.
Those Integrated Circuits (IC) are usually a combination of Analog circuit such as clock, amplifier and denoising circuit and Digital Block such as multiplexers, registers, arithmetic logic units (ALUs), and computer memory. Basically Digital plane is being used for discrete signals [1,0] and Analog is being used for continuous signals (1–0).
Figure 1: Digital signals vs. analog signals
Denoising in the analog plane
Let’s say our input signal supposed to look like a rectangle (Digital signal) and we added some noise on top of that signal we can now notice that the Signal with noise is no longer 1/-1 it is actually get up to 2 and down to -2. So with simple filtering (Analog design circuit) we can now see we managed to get the noise signal to something similar to the original.
Figure 2: Signal with noise
Digital circuit example — Half Adder
We will need Digital design circuits, for example, to add 2 digital signals together.
Let’s assume we have 2 black boxes. 1 black box can multiply the 2 input and the other one can do the say “I’ll let you pass only if one of you will be 1 and the other 0”. The first Black Box is called AND gate and the other one is called XOR. Hopefully, you can now understand the table below, we just have 1 more question to answer. 1+1=2 right? I don’t think so :) 1+1=10 we are in the binary world, after all, 10 = 0010, and turning a binary number to decimal is 0*2³+0*2²+1*2¹+0*2⁰=2. Seems okay now right? So we actually managed to get the following now: A+B = CS *** explain in words ***
Figure 3: Half adder
Okay, we managed to get an intuition of what is a Digital plane and what we can do with that and hopefully intuition for what is an Analog plane. These two planes are designed by different people and it may take months to design a large ASIC.
During the development of ASIC, we keep on mixing those 2 planes in order to get the fastest and the most power-efficient chip oriented for mining.
Now let’s discuss how we design Digital circuits and how we design Analog circuits.
Digital circuits
In digital circuit design, we have 2 main steps, Front-End step where we take a code and synthesize a schematic (netlist) out of it and the second is the Back-End step where we take the netlist and design the layout, in other words, a schematic where each gate will be placed and how we connect them.
The Front-end Designer or Register-Transfer Level (RTL) designer, develops the design while using Field Programmable Gate Arrays (FPGA) or Simulation programs and programmed using Hardware Description Language (HDL) usually Verilog/VHDL.
FPGA? A Field Programmable Gate Arrays an integrated circuit designed to be configured by a customer or a designer after manufacturing. In other words, you can upload your code into it and start debugging.
HDL? hardware description language (HDL) is a specialized computer language used to describe the structure and behavior of electronic circuits, and most commonly, digital logic circuits.
HDL languages are unique because they are being synthesized into logic gates and connectivity between those logic gates and also for each component we design we have to give the Ports. So actually it might be similar to other computer languages but you construct and write in a different mindset. The output of the step is called a netlist, which is the text file of the synthesized logic gates and connectivity.
An example to a VHDL code of the digital block we designed and saw before:
Figure 4: VHDL code example of an Half Adder
In this example we see 2 sections, the first one is the entity and the second one is the architecture. In the entity part, you write the input and output signal names and what kind of data type is it. In the architecture we write down the connection between the input and output.
Figure 5: netlist example
An example to a netlist (the output of this step).
The first column is usually the type of the device and name then the connectivity and the last column is actually the multiply of this device.
The second step is called Back-end or physical design. At this step, circuit representations of the components (devices and interconnects) of the design are converted into geometric representations of shapes which, when manufactured in the corresponding layers of materials, will ensure the required functioning of the components. This geometric representation is called integrated circuit layout. This step is usually split into several sub-steps, which include both design and verification and validation of the layout.
Figure 6: Layout of SHA-256 Accelerator Core
Analog circuits
The first step in the analog design is the analog circuit design/schematic design, the designer places devices like resistors, capacitors, inductors and transistors and later on simulate the design with different inputs and samples the output. Most of the design here is made by hand using design tools such as Virtuoso. We cannot translate into RTL code the design here because we are not facing a binary issue here. We are facing issues such as amplification and noise filtering.
The output of this step is a netlist similar to the output of the Front-end.
Figure 7: Common source amplifier schematic
The second step is a physical design it is very similar to the Back-end steps in the digital plane. But in this step, some of the routing and placement is done manually at the moment because of analog signals. In general analog signals might be more sensitive to parasitic capacitance and resistance.
Parasitics are additional resistance and capacitance which we didn’t see while we designed the analog circuit. Those parasitics will always appear but sometimes they appear from wrong floor-planning such as placing 2 devices far away from each other or such as placing a sensitive circuit next a to really big capacitor which might cause unwanted capacitance on the circuit next to it. Such parasitic avoidance will result in a floor plan constraint which most of us will see only in the analog plain instead of the digital. The output of this step is called Masks, similar to the output of the Back-end.
Figure 8: Inverter layout design
Manufacturing
The last step in ASIC creation is manufacturing. I’ll divide it into 3 processes Mask making, Wafer making, and Cutting. But first, a few definitions.
Wafer — also called a slice or a substrate is a thin slice of crystalline silicon. The wafer serves as the substrate for microelectronic devices built-in and over the wafer and undergoes many microfabrication process steps such as doping or ion implantation, etching, deposition of various materials, and photolithographic patterning.
Figure 9: Silicon Wafer
Mask — Unlike the masks we know in those masks we uncover the places we want to print in them very similar to stencil. But instead of painting, we use the microfabrication process steps we mentioned before.
Figure 10: Metal mask for semiconductor manufacturing
Mask making — We take the layout design (plan for the masks) from the Digital and Analog plane merge them and then creating a mask for each layer. What are layers? There are many layers in each ASIC design but I’ll give you an example for two of them. The first one is called Via mask/Interconnect and the other is a Metal mask. Via mask is creating holes in specific places in order to inject metal so I could connect between 2 metals and the Metal mask is where you print the metal.
Figure 11: ASIC masks for the lithography process
Wafer making — We take the masks and using different microfabrication process steps on each mask we started creating the ASIC (Each layer at a time). On each wafer, we create a couple of ASICs simultaneously
Figure 12: Wafer with hundreds of ASICs
Cutting — The last step is cutting/dicing the ASICs on the wafer.
Figure 13: ASIC in final package
We are now ready for packaging and send out the ASIC.
This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.
Strictly Necessary Cookies
Strictly Necessary Cookie should be enabled at all times so that we can save your preferences for cookie settings.
If you disable this cookie, we will not be able to save your preferences. This means that every time you visit this website you will need to enable or disable cookies again.
3rd Party Cookies
This website uses Google Analytics to collect anonymous information such as the number of visitors to the site, and the most popular pages.
Keeping this cookie enabled helps us to improve our website.
Please enable Strictly Necessary Cookies first so that we can save your preferences!