RFIC-GPT Wiki
This Wiki provides the User Guide of RFIC-GPT Online, Installation/User Guide of RFIC-Generator, introduction of RFIC-GPT Pro, and some basic knowledge of radio frequency circuits design.
RFIC (Radio Frequency Integrated Circuit) design is a highly complex and challenging field that involves multiple technical disciplines, including but not limited to microwave engineering, electromagnetics, circuit design and simulations. Therefore, interdisciplinary knowledge is required to achieve high-quality RFIC design and eventually lead to high-performance RFIC chips.
RFIC Design normally includes a series of IP (Intellectual Property) circuits, such as:
These RF IP circuits encompass not only active components but also a significant number of passive components, such as:
These passive components play a crucial role in RFIC design, often used for the conversion of single-ended signals and differential signals, and matching input or output impedances. Traditional RFIC Design requires precise design and optimization of both active and passive partitions, and it is not only a time-consuming iterative process, but also heavily depends on particular designers' experience.
Targeted at RF chip design, RFIC-GPT utilizes AI algorithms to calculate and generate schematics or GDSII layouts of RF devices and circuits that meet designers' specifications(e.g. Q-factor, inductance, coupling coefficient of transformers, gain of Power Amplifiers, etc.). With an accuracy of at least 95%, designers can directly apply the generated results in their design. RFIC-GPT is capable of assisting RF designers in expeditiously finding optimal design parameters, substantially reducing the tedious and iterative manual searching process. RFIC-GPT has already been silicon-proven and commercial chips enabled by RFIC-GPT are shipping.
Currently support:
RFIC-GPT simplifies and accelerates the complex RF design process. Users only need to input design specifications, and within seconds the GDSII or schematics will be generated. The results can be downloaded and applied in standard design platforms such as Cadence Virtuoso, Keysight ADS, etc.
RFIC-GPT Online version: www.RFIC-GPT.com
The offline version is RFIC-GPT Pro, which offers a broader spectrum of application scenarios, with more complete functions and customized services. For inquiries, please email: sales@mail.rfic-gpt.com
You can get the design of RF circuits and GDSII files from RFIC-GPT Online within 3 steps.
Step 1: Enter Design Specifications
Select passive devices or active circuits on the leftside navigation bar, and enter your design specifications.
Step 2: Click “Calculate” and view the calculated results. Each of the calculated results is optimized towards certain specifications.
Step 3: Select the most suitable result for your design, and click “Download GDSII layout”. You can either:
or
.txt
file, and enter it into RFIC-Generator .
Demonstration Video
https://www.youtube.com/watch?v=3_WPqAQOKJs
input range: 0.5GHz ~ 85GHz
Design frequency refers to the operating frequency of the inductor in a specific circuit. For now, RFIC-GPT Online supports a range between 0.5GHz and 85GHz.
input range: 2 ~ 50
Quality factor Q is one of the most important specifications of an inductor. It indicates an inductor's performance at the operating frequency. Generally, the higher the Q, the lower the loss, and the better the performance. Inductors with high Q are more efficient in signal transmission circuits and filter circuits.
Tips for setting the Q: Generally, setting the Q to around 10 would suffice for most on-chip inductor scenarios. If the required Q is unclear, we suggest you to set the inductance L first, then adjust the Q upwards from 10. Observe how high the Q can go while satisfying the required L. Note that the technology node and layer thickness should be chosen too.
input range:40pH-10000pH
(Exception: the upper boundary is raised to 25000pH for 130nm node)
The inductance is measured in picohenries(pH). Choosing the correct inductance is crucial for ensuring impedance matching and efficient signal transmission. The inductance here can be regarded as a summation of both the inductive and capacitive properties of the inductor coil. For an inductor with an impedance of Z, its inductance L is calculated as follow:
L=imag(Z)ω,ω=2π×freq
The SRF of an inductor is the frequency at which the parasitic capacitance of the inductor resonates with the ideal inductance of the inductor, resulting in an extremely high impedance. The inductance only acts like an inductor below its SRF. Therefore, SRF is usually greater than 1.5 times of the operating frequency as a matter of concern in stability and reliability.
The default input value for SRF is 1.5 times the Design Frequency
.
At present, the technology nodes we support include 22nm, 28nm, 40nm, 55nm, 65nm, 110nm and 130nm.
You should choose the metal layer thickness in accordance with your design and the corresponding technology files.
Different metal layers have varying thicknesses and dielectric properties, and the electrical performance of inductor coils is primarily related to the thickness of the metal layer. Please refer to the .techfile or the .PROC file of the PDK and check the data.
Tips for setting the metal layer thickness: The accuracy of the results improves as the chosen metal layer thickness closely matches the thickness of the metal layer you used in your design.
There are currently 2 available types: Symmetric and Spiral.
Choose the type according to your design need.
Signal Transmission Method
refers to whether the signal is input into the inductor as a differential(DIFF) or single-ended(SINGLE) signal. Differential signal transmission is commonly used in high-speed data transmission or cases requiring better interference resistance. In contrast, single-ended signal transmission is typically used in general circuits but is more susceptible to electromagnetic interference. Choosing the appropriate signal input type (DIFF or SINGLE) is crucial for circuits' performance and stability.
Max Layout Vertical and Horizontal Length
refers to the length constraints of the generated layout. Fill in the blanks according to your design requirements. You can also leave these blank. Generally, the larger the area, the more turns of the coil can be wound, resulting in a higher inductance value.
The terminal lead of layout is vertical. RFIC-GPT Online offers layout vertical and honrizontal length ratio range from 1:0.8 to 1:1.5. Offline software RFIC-GPT Pro offers wider range.
Fill in the “Inductor Specifications” according to your design. Click “Calculate” and you will get three sets of results, each of which has a different focus point:
The corresponding GDSII files are provided as well.
If any of these three results meets your design specifications, you can proceed to GDSII Download and Application.
You may need to make trade-offs in your specifications. Here are some suggestions:
A. Since SRF is a mandatory constraint, setting it excessively high may lead to an overemphasis on SRF and misleading the results. Keep SRF appropriately above the operating frequency.
B. The layouts generated may have varying vertical and horizontal lengths. If conditions permit, you can relax the constraint on either of them to find a better solution. Note: these are optional inputs, leave these blank if no constraints required.
C. If you need an inductor with a higher Q, you should choose the thickest layer available in your technology node.
D. The generated results are the closest solutions to your input specifications. You can adjust your input for Q and L based on trade-offs if input specificationss are not all met. If RFIC-GPT does not yield results that match your requirements, please contact us: service@mail.rfic-gpt.com. We will offer more detailed suggestions and services.
Download the layout you want from the lower right side of the webpage.
Note: please refer to Chapter “Draw a symbol in Virtuoso” if you have difficulty in symbol drawing.
Use the provided GDSII for electromagnetic simulation to obtain the S-parameter file.
Create a symbol and a testbench compliant with industry standards as follows:
input range: 0.5GHz ~ 85GHz
Design frequency refers to the operating frequency of the transformer in a specific circuit. For now, RFIC-GPT Online supports a range between 0.5GHz and 85GHz.
input range: 2 ~ 50
Q_pri
indicates the loss and efficiency of the primary coil at the operating frequency. The higher the Q_pri
, the lower the energy loss, the higher the performance. The range of Q_pri
typically falls between 2 and 50.
Tips for setting the Q: Setting the Q to around 10 suffice for most on-chip transformer scenarios. If the required Q is unclear, we suggest you to set the inductance L first, then adjust the Q upwards from 10. Observe how high the Q can go while satisfying the determined L. Note that the technology node and layer thickness should be chosen too.
input range:40pH-6000pH
(when the node is 130nm, the upper boundary is raised to 25000pH)
The inductance is measured in picohenries(pH). Choosing the correct inductance is crucial for ensuring impedance matching and efficient signal transmission. The inductance here can be regarded as a summation of both the inductive and capacitive properties of the inductor coil. For a two-port network, L_pri
can be calculated as follow:
L_pri=imag(Z11)ω,ω=2π×freq
input range: 2 ~ 50
Q_sec
indicates the loss and efficiency of the secondary coil at the operating frequency. The higher the Q_sec
, the lower the energy loss, the higher the performance. The range of Q_sec
typically falls between 2 and 50.
Tips for setting the Q: Setting the Q to around 10 suffice for most on-chip transformer scenarios. If the required Q is unclear, we suggest you to set the inductance L first, then adjust the Q upwards from 10. Observe how high the Q can go while satisfying the determined L. Note that the technology node and layer thickness should be chosen too.
input range:40pH-6000pH
(when the node is 130nm, the upper boundary is raised to 25000pH)
The inductance is measured in picohenries(pH). Choosing the correct inductance is crucial for ensuring impedance matching and efficient signal transmission. The inductance here can be regarded as a summation of both the inductive and capacitive properties of the inductor coil. For a two-port network, L_sec
can be calculated as follow:
L_sec=imag(Z22)ω,ω=2π×freq
The default input value for min(SRF_pri, SRF_sec) (>GHz) is 1.34 times the Design Frequency
here. You can input number above it for SRF restriction.
input range:0 ~ 1
Coupling Coefficient k
represents the degree of electromagnetic coupling between the primary and secondary coils. The closer the coupling coefficient is to 1, the tighter the coupling between the primary and secondary coils, and the higher the energy transfer efficiency. An appropriate value of k
ensures efficient energy transmission in the transformer.
At present, the technology nodes we support include 22nm, 28nm, 40nm, 55nm, 65nm, 110nm and 130nm.
You should choose the metal layer thickness in accordance with your design and the corresponding technology files.
Different metal layers have varying thicknesses and dielectric properties, and the electrical performance of coils is primarily related to the thickness of the metal layer. Please refer to the .techfile or the .PROC file of the PDK and check the data.
Tips for setting the metal layer thickness: The accuracy of the results improves as the chosen metal layer thickness closely matches the thickness of the metal layer you used in your design.
Please refer to the description of Primary Coil Metal Layer Thickness
above.
There are currently 3 available types: Type 1
, Type 2
and Type 3
.
Type 1
: a transformer with a phase difference of 180 degrees between the primary ports and the secondary ports;Type 2
: a transformer with the primary ports and the secondary ports in phase;Type 3
: a transformer in which the two terminals of either coil have a phase difference of 180 degrees.
Type 2
and Type 3
require the primary coil and secondary coil on the same layer. While the primary coil and secondary coil of Type 1
can be either in the same layer or in two adjacent layers.
Choose the right Signal Transmission Method
according to your design:
DIFF_DIFF
: The signal is differentially input into the primary coil and differentially output from the secondary coil, which is commonly used to preserve the signal's differential characteristics, help resist interference and suppress noise.SINGLE_DIFF
: The signal is input as single-ended into the primary coil and output as differential from the secondary coil, which is commonly used for signal conversion.DIFF_SINGLE
: The signal is input as differential into the primary coil and output as single-ended from the secondary coil, which is commonly used for signal conversion.SINGLE_SINGLE
: The signal is input in a single-ended form into the primary coil and output in a single-ended form from the secondary coil, which is commonly used in situations where differential signal processing is not required, but signal integrity and isolation need to be maintained.—-
Max Layout Vertical and Horizontal Lengths
refers to the length constraints of the generated layout. Fill in the blanks according to your design requirements. You can also leave this blank. Generally, the larger the area, the more turns of the primary/secondary can be wound, resulting in a higher inductance value.
The terminal lead of layout is vertical. RFIC-GPT offers layout vertical and honrizontal length ratio range from 1:1 to 1:1.5. Offline software RFIC-GPT Pro offers wider range.
Fill in the “Transformer Specifications” according to your design. Click “Calculate” and you will get six sets of results and their GDSII files, each of which has a different focus point:
Q_pri
;L_pri
;Q_sec
;L_sec
;k
;The corresponding GDSII files are provided as well.
If any of these three results meets your design specifications, you can proceed to GDSII Download and Application.
You may need to make trade-offs in your specifications. Here are some suggestions:
A. If you need a secondary coil with a higher Q_sec
, you should select the thickest layer available in your technology node, otherwise the result may not be satisfying. As shown in the following example, Q_sec
is set as 14 and L_sec
is set as 1000. The calculated result will fail to match if you set Secondary Coil Metal Layer Thickness
as 0.85.
B. The layouts generated may have varying vertical and horizontal lengths. If conditions permit, you can relax the constraint on either of them to find a better solution.
As shown below, when setting the specs as Q_pri=14, L_pri=1000pH, Q_sec=13, L_sec=1000pH, k=0.6
, increasing the Max Lay. Horizontal Length
within your design constraints can achieve a solution closer to your target specs.
C. When the primary and secondary coils are on the same layer, a higher Q is usually achievable. However, there will be a significant correlation between the inductances of the primary and secondary coil. If the inductances do not meet your target, please try other transformer types with the primary and secondary coil on different layers.
D. The calculated results are the closest solutions to your input specifications. You can adjust your input for Q and L based on trade-offs if input specificationss are not all met. If RFIC-GPT does not yield results that match your requirements, please contact us through the contact inormation provided below. We will offer more detailed suggestions and services.
Download the layout you want from the lower right side of the webpage.
Note: please refer to Chapter “Draw a symbol in Virtuoso” if you have difficulty in symbol drawing.
Use the provided GDSII for electromagnetic simulation to obtain the S-parameter file.
Create a symbol and a testbench compliant with industry standards as follows:
Q_pri
Q_sec
L_pri
L_sec
k
RFIC-GPT currently offers transformer-based matching circuit design, consisting of a transformer and parallel capacitors.
input range: 0.5GHz ~ 85GHz
Freq. low bound
refers to the minimum operating frequency of your circuit. Note that Freq. lower bound
cannot be higher than the Freq. upper bound
. For single-frequency point matching network, please enter the same value for both Freq. lower bound
and Freq. upper bound
.
input range: 0.5GHz ~ 85GHz
Freq. upper bound
refers to the minimum operating frequency of your circuit. Note that Freq. lower bound
cannot be higher than the Freq. upper bound
. For single-frequency point matching network, please enter the same value for both Freq. lower bound
and Freq. upper bound
.
Load Z (Real)
refers to the real part of the load impedance ZL. Please enter the exact value at the frequency band midpoint. For example, if Freq. upper bound=25GHz
and Freq. lower bound=24GHz
, you should enter the real part of ZL at 24.5GHz.
The load impedance within the frequency band is equivalent to the impedance of the RC parallel circuit (RL||CL) obtained from ZL at the frequency band midpoint.
Load Z (Imaginary)
refers to the imaginary part of the load impedance ZL. Please enter the exact value at the frequency band midpoint. For example, if Freq. upper bound=25GHz
and Freq. lower bound=24GHz
, you should enter the real part of ZL at 24.5GHz.
Target Z
refers to the optimal load impedance that allows maximum power transfer and minimum signal reflection, also known as Zopt. If a matching network has a low return loss, then Zin approximates Zopt. In other words, when a matching network is well-designed and well-tuned to match the load impedance with the source impedance, the input impedance of the matching network closely resembles the optimal impedance for maximum power transfer or other desired performance characteristics.
Target Z (Real)
, or Z_opt (Real)
, refers to the real part of Zopt. Please enter the exact value at the frequency band midpoint. For example, if Freq. Upper Bound=25GHz
and Freq. Lower Bound=24GHz
, you should enter the real part of Zopt at 24.5GHz.
Target Z (Imaginary)
, or Z_opt (Imaginary)
, refers to the imaginary part of Zopt. Please enter the exact value at the frequency band midpoint. For example, if Freq. Upper Bound=25GHz
and Freq. Lower Bound=24GHz
, you should enter the real part of Zopt at 24.5GHz.
Since S11 is sometimes used interchangeably with return loss and reflection coefficient Γ, we give all the definitions here to help you better understand how to set this metrics.
Return loss is a measure of the effectiveness of power transmission from a source to a load. It is defined as the ratio, usually expressed in decibels (dB), of the power reflected from the load to the power incident on the load:
S11=−RL=10log|Pr/Pi|=20log|Vr/Vi|=20log|Γ|=20log|(Zopt−Zin)/(Zopt+Zin)|
As defined above, S11 is the negative return loss. RL will always be positive, and S11 will always be negative. A lower S11 value indicates a better impedance match, which corresponds to less energy being reflected and more being absorbed by the load. Therefore, we keep S11 as low as possible in RF design. S11_max is the maximum S11 that a circuit can tolerate.
Insertion Loss refers to the loss of signal power due to the insertion of the matching network. It is defined as
IL=10log(PT/PR)
where PT is the power transmitted to the load before insertion, and PR is the power received by the load after insertion. According to the diagram of matching network above, IL can also be expressed as
IL=10log(Power(Port1))/(Power(Port0))
The lower the IL, the better the performance. IL_max is the maximum IL that a circuit can tolerate.
At present, the technology node we support include 22nm, 28nm, 40nm, 55nm, 65nm, 110nm and 130nm.
You should choose the metal layer thickness in accordance with your design and the corresponding technology files.
Different metal layers have varying thicknesses and dielectric properties, and the electrical performance of coils is primarily related to the thickness of the metal layer. Please refer to the techfile or the .PROC file of the PDK and check the data.
Tips for setting the metal layer thickness: The accuracy of the results improves as the chosen metal layer thickness closely matches the thickness of the metal layer you used in your design.
Please refer to the description of Primary Coil Metal Layer Thickness
above.
Choose the right Signal Transmission Method
according to your design:
DIFF_DIFF
: The signal is differentially input into the primary coil and differentially output from the secondary coil, which is commonly used to preserve the signal's differential characteristics, help resist interference and suppress noise.SINGLE_DIFF
: The signal is input as single-ended into the primary coil and output as differential from the secondary coil, which is commonly used for signal conversion.DIFF_SINGLE
: The signal is input as differential into the primary coil and output as single-ended from the secondary coil, which is commonly used for signal conversion.SINGLE_SINGLE
: The signal is input in a single-ended form into the primary coil and output in a single-ended form from the secondary coil, which is commonly used in situations where differential signal processing is not required, but signal integrity and isolation need to be maintained.—-
Max Layout Vertical and Horizontal Length
refers to the length constraints of the generated layout. Fill in the blanks according to your design requirements. You can also leave these blank. Generally, the larger the area, the more turns of the primary/secondary can be wound, resulting in a higher inductance value.
The terminal lead of layout is vertical. RFIC-GPT offers layout vertical and honrizontal length ratio range from 1:1 to 1:1.5. Offline software RFIC-GPT Pro offers wider range.
For a matching network, S11_max and IL_max are a set of competing metrics. When setting the design specifications, you can balance the performance of the matching network by appropriately relaxing the requirement for either of these metrics. As shown in the following example, we want to match between Load Z
and Target Z
within 23GHz ~ 28GHz. Relaxing the requirement for S11 is conductive to achieving the target IL.
If you repeatedly submit the same set of parameters, the backend calculation may provide different results. Please choose the best one you need.
Download the layout you want from the lower right side of the webpage.
Note: please refer to Chapter “Draw a symbol in Virtuoso” if you have difficulty in symbol drawing.
IL
example (hb simulation)IL =-db10((pvi('hb "/net3" 0 "/PORT1/PLUS" 0'(1)) / (- pvi('hb "/net01" 0 "/PORTO/PLUS" 0 '1))))
S11
example (sp simulation)zm1 = zm(1 ?result "sp") S11_zm = db20(abs(zm1 -Zopt) / abs(zm1 +Zopt))
Multi-value Matching Network allows impedance matching on multiple frequencies. On the webpage, you can directly enter a set of load impedances and optimal impedances on varying frequencies. You can also download the excel template, modify and upload.
Click on “Edit Parameters” to enter the required impedances:
In the above example, we match between ZL=22−24i and Zopt=40−5i on freq=24GHz; match between ZL=26−22i and Zopt=50−0i on freq=25GHz; match between ZL=28−20i and Zopt=60+5i on freq=26GHz. RFIC-GPT will calculate under your given specs and offer an optimal solution.
Multi-value matching and matching remain the same in all specs except for one unique requirement: IL fluctuation IL_fluc (dB)
, input range 1 ~ 80.
IL fluctuation, or IL flatness, refers to the fluctuation amplitude of IL within the frequency band. IL_fluc
can be expressed as:
IL_fluc=max(IL)−min(IL)
Click on “Calculate” and you will get three sets of results and their GDSII files.
Download the layout you want from the lower right side of the webpage.
Please refer to Testbench of Matching Network.
Common types of power amplifiers include Common Source Power Amplifier(CSPA)
, Common Gate Power Amplifier(CGPA)
, Variable Gain Amplifier(VGA)
, and Cascode PA
.
Please note: If the Gain can not be met even with the highest Vdd for the technology node in RFIC-GPT, please consider to design a 2-stage power amplifier and each stage can use RFIC-GPT to design.
CSPA is available on RFIC-GPT now. If you need more PA types or technology node, or if you require support for active circuit layouts, please email: sales@mail.rfic-gpt.com, to get offline version: RFIC-GPT Pro.
At present RFIC-GPT support CSPA at:
Mul
& Number of Fingers=NoF
.Mul2
& Number of Fingers=NoF2
.
ZL_Real
& ZL_Imag
can be calculated by the design parameter ZL_Mag
& ZL_Theta
:ZL=Z0(1+Γr+jΓi)(1−Γr−jΓi)
where
Z0 = 50Ω, Γr=ZL_Mag ⋅ cos(ZL_Theta), Γi=ZL_Mag ⋅ sin(ZL_Theta)
Matching Network
. Note that the load impedance will change after adding a matching network.Please select CSPA (Common Source Power Amplifier).
At present, the technology nodes we support include 65nm, 40nm and 28nm.
input range: 1GHz ~ 80GHz
input:
(28nm) 0.9V, 1.0V, 1.1V;
(40nm) 1.0V, 1.1V, 1.2V;
(65nm) 1.1V, 1.2V, 1.3V.
input range: 0 ~ 30
Gain
is usually defined as:
Gain=10log10(PoutPin)
Gain lower bound
refers to the minimum requirement of gain.
input range: 0 ~ 30
Gain upper bound
refers to the upper limit of gain.
input range: 0 ~ 25
1dB Compression Point
is defined as the point at which the linear output power and the output power of the amplifier differ by 1dB, as depicted below:
OP1dB
refers to the output power at 1dB Compression Point
. Please enter the minimum requirement of OP1dB
.
input range: 0 ~ 100
Drain Efficiency (DE) gets its name from FET devices, in which the primary terminal where DC power is supplied is the drain. Drain Efficiency is the ratio of output power to the input DC power:
DE=PoutPdc×100%
DE_P1dB
refers to the drain efficiency at 1dB Compression Point
. The higher the weight, the more RFIC-GPT will focus on DE_P1dB
in the calculated results.
input range: 0 ~ 100
Quiescent Current (Iq) here refers to the amount of current utilized by an IC when there is no external RF signal input. The higher the weight, the more RFIC-GPT will focus on Iq
in the calculated results.
input range: 0 ~ 100
Noise Figure (NF) is the measure of signal degradation caused by the components of the system. NF can be defined as:
NF=N2O−N2LN2S
NO refers to the total output noise; NS denotes the output noise introduced by the source; NL indicates the output noise due to the load.
NFmin
refers to the ideal minimum NF at the Design Frequency
. It is usually obtained by conducting sp
simulation. The higher the weight, the more RFIC-GPT will focus on NFmin
in the calculated results.
input range: 1.3, 1.5, 1.7, 1.9 default value: 0
Vgs_max
, Vds_max
or Vdg_max
is the maximum amplitude of voltage across different terminals of a transistor within one period.
V*_OV_duty_cycle
refers to the duty cycle of the voltage V exceeding a preset overvoltage threshold V_over within one period. Essentially, it measures the proportion of time within a cycle that the voltage Vgs
, Vds
and Vdg
surpasses the predefined overvoltage V_over
.
input range: 1 ~ 20 / 1 ~ 80 default value: 2 / 10
AMAM
refers to the amplitude modulation to amplitude modulation characteristic, and AMPM
refers to the amplitude modulation to phase modulation characteristic. Essentially, AMAM
describes how the amplitude of output changes in response to changes in the amplitude of input; AMPM
indicates how the phase of output changes as the amplitude of input varies. PA distortions are amplitude dependent and phase modulated signals(having constant amplitudes) are not affected by the PA distortions. Thus, PAs are mainly characterized by their AMAM
and AMPM
characteristics.
default value: 1dB / 1dB
ILout
is the insertion loss of the matching network between your load impedance and the optimal load impedance ZL_Real
and ZL_Imag
, which will be provided on webpage after clicking “Calculate”. You can leave this blank and submit calculation under default value 1dB at the first time, estimate the real ILout
according to the given ZL_Real
& ZL_Imag
, and enter the estimated ILout
for a second calculation.
ILin
is the insertion loss of the matching network between your source impedance and Zin,conj. Zin,conj is the input impedance of PA after the output impedance matching, and will also be provide on webpage clicking “Calculate”. Same as ILout
, leave this blank and submit calculation under default value 1dB at the first time, estimate the real ILin
according to the given Zin,conj, and enter the estimated ILout
for a second calculation.
Stability, in referring to amplifiers, refers to an amplifier's immunity to causing spurious oscillations. The oscillations can be full power, large-signal problems, or more subtle spectral problems that designers might not notice. Kf and B1f are two important stability factors that can be obtained by S parameters:
Kf=1−|S11|2−|S22|2+|Δ|22|S12||S21|>1
|Δ|=|S11S22−S12S21|
B1f=1+|S11|2−|S22|2−|Δ|2>0
Gain
and OP1dB
, you can optimize the active circuit toward DE_P1dB
, Iq
or NFmin
by adjusting their weights. For example, under the following specifications, RFIC-GPT gives a result with an Iq
= 14.07mA. If you need a smaller Iq
, increase Weight of Iq
from 8 to 80, and re-calculate. Iq
is consequently reduced from 14.07mA to 10.9mA.
Generated Power Amplifier's Specifications (including the recommended load)
, you can generate an output matching network with RFIC-GPT's Matching module;Generated Power Amplifier's Specifications (including the recommended load)
, you can generate an input matching network with RFIC-GPT's Matching module.NULL
. Check if Gain lower bound
is higher than Gain upper bound
, or OP1dB
may be set too high, etc. Reset the specifications and re-calculate.—-If the generated PA's specifications meet your requirements, click “Display design parameters”. Both design parameters and generation code will be shown.
You can enter the generation code in our free-provided tool RFIC-Generator, which will generate schematic, testbench and simulation files for you. You can conduct simulations in your own design environment to verify the results RFIC-GPT provided on the webpage.
Click “RFIC-Generator” button and install following RFIC-Generator User Guide. It instantly generates schematic, testbench and simulation files in your design environment. You can conduct simulations yourself to verify the results.
GDSII files from RFIC-GPT Online can be easily applied in standard design platforms including but not limited to Cadence Virtuoso, Keysight ADS, Siemens(Mentor) L-Edit, Synopsys CC, Laker, LayoutEditor, etc.
The results can be downloaded and applied in standard design platforms such as Cadence Virtuoso, Keysight ADS, etc. Below is an example using Cadence Virtuoso to illustrate how to apply the downloaded GDSII file to your design.
Step 1. Download GDSII
Click “Download GDS layout” and you will get a zip file. The zip includes:
.gds
, the GDSII file;.txt
, the generation code only required by RFIC-Generator.
Step 2. Import GDSII
In Virtuoso CIW menu, click file-import-stream
to import the GDSII file:
Stream File
;Library
;Attach Tech Library
;Translate
or Apply
.
Step 3. Modify Metal Layers
Metal Stacks
have different names for metal layers. To ensure the applicability of the generated PAs offered by RFIC-GPT, the provided GDSII files uniformly use the names M1
, M2
and M3
for the metal layers involved. M3
stands for the top layer, and M1
stands for the bottom layer.M7
, M8
and AP
. Please refer to our guide below and modify the layers carefully, or there will be fake design rule violations.
Open the imported layout, check Used
in the left-side Layers
panel, and you will see the metal layers used by the device.
Layers
panel, select the metal layer you want to modify, then click on V
(Visibility). This is to hide all other layers, making it easier for you to make a global selection on the layer.Ctrl+A
to select all the shapes in the layout. Press Q
to open the Edit Properties
window. Press Ctrl+A
again to select all the shapes displayed on the left. Then in the right Attribute
panel, change the Layer
to your target layer (e.g. from M3 drawing
to AP drawing
). Finally click on apply
to apply the modification.
Step 4. Modify VIAs
If you need to adjust VIAs in the layout, delete the current VIAs and then press O
to perform autovia
in the respective area.
Step 5. Modify PINs (if needed)
If the current PINs cannot be recognized in your design environment, or they are not displayed correctly, you need to manually add them. Select Create→Pin
in the menu:
Select the corresponding metal layer of the PIN in the left Layers
panel, type in the PIN names (e.g. lp\lm
for an inductor), and draw a rectangle on the layout to cover the original PIN.
As a module currently integrated in the Cadence Virtuoso, RFIC-Generator is a tool for generating
Designers can use it freely to generate inductor and transformer layouts by given geometric information, but this does not guarantee DRC-clean.
RFIC-Generator also serves as an auxiliary tool of RFIC-GPT Online service. With the ‘Generation Code’ calculated by RFIC-GPT Online, RFIC-Generator can autonomously generate DRC-clean passive devices and active circuits with accuracy.
How to download: Click RFIC-Generator in the left-sided navigator column on RFIC-GPT Online, the download starts automatically.
Linux
system, otherwise, errors may occur.cds.lib
file: cds.lib
is a library mapping file used to define and manage libraries in Virtuoso. Virtuoso automatically loads and manages the required library resources by reading the cds.lib
file..cdsinit
file: .cdsinit
is a file that defines the startup environment for Virtuoso. Through .cdsinit
file, Virtuoso can automatically execute setup and environment configurations at startup.We provide two installation processes for you to choose from:
—-
Run the install.sh
in the unzipped RFIC-Generator folder.
Step 1: Enter your path to cds.lib
.
Please Note:
cds.lib
file you provide must exist. Generally, this file can be found in the commonly used Virtuoso startup directory.cds.lib
file. Please ensure that this file is in a readable and writable (+rw) state. If you do not have permission to modify this file, consult your environment administrator for assistance.cds.lib
file is usually in the Cadence installation directory if the location is not adjusted otherwise. The default path is /tools/IC*/tools/share/cdssetup/cds.lib.
Step 2: Enter your path to .cdsinit
.
Please note:
.cdsinit
file is correct.Ctrl+H
to display it if hidden..cdsinit
file. Please ensure that this file is in a readable and writable (+rw) state. If you do not have permission to modify this file, consult your environment administrator for assistance..cdsinit
file under commonly used Virtuoso startup directory using the following command:touch ./.cdsinit
………. In this .cdsinit
file, add the following code:
If(isFile("./.cdsinit") then loadi("./.cdsinit") else if(isFile("~/.cdsinit") then loadi("~/.cdsinit"))
………. Save this .cdsinit file and enter the path of it in the 2nd step of the installation process.
Step 3: Set RFIC-Generator as a startup item in Cadence Virtuoso.
load(strcat(RFIC_Generator_PATH “/Start.il”))
in CIW and press Enter.
Different from Script Installation, you have to modify cds.lib
and .cdsinit
manually in Customized Installation.
Step 1: Modify .cdsinit
.
If you are the administrator of the design environment, you can modify the master .cdsinit
file in the Cadence installation path. Normally the path is /tools/IC*/tools/dfII/local/.cdsinit if it is not adjusted otherwise. In the .cdsinit
file, add the following code (Replace XX in the first line with the absolute path where you placed the RFIC-Generator folder):
RFIC_Generator_PATH="XX/RFIC_Generator" ciwMenuInit() load(strcat(RFIC_Generator_PATH "/Start.il"))
Please note:
.cdsinit
is sometimes a hidden file in Linux. Press Ctrl+H
to display it if hidden. You can create a .cdsinit file under commonly used Virtuoso startup directory using the following command:touch ./.cdsinit
.cdsinit
file, add at the end in this file:If(isFile("./.cdsinit") then loadi("./.cdsinit") else if(isFile("~/.cdsinit") then loadi("~/.cdsinit")))
Step 2: Modify cds.lib
.
If you are the administrator of the design environment, you can modify the master cds.lib
file in your Cadence installation path. The cds.lib
file is usually located in your Virtuoso startup path if it is not adjusted otherwise. Normally the path is /tools/IC*/share/cdssetup/cds.lib. Add the following code in cds.lib
(Replace XX in the first line with the absolute path where you placed the RFIC-Generator folder):
DEFINE EmptyBox XX/RFIC_Generator/RFIC_Active_Generator/EmptyBox
After your installation is completed, find the Metal Layer Configuration File (aka. layertrans.csv
) in your unzipped RFIC-Generator installation package:
.../RFIC_Generator/RFIC_Passive_Generator/layertrans.csv
layertrans.csv
contains the following contents:
M3
, M2
and M1
respectively represent the top three metal layers in your technology node. Specifically, M3
is the topmost layer, M2
is the second top layer, and M1
is the third top layer.
Check the .layermap
file in your PDK and:
M3_drawing_stream
and M3_drawing_datatype
;M2_drawing_stream
and M2_drawing_datatype
;M1_drawing_stream
and M1_drawing_datatype
;Similarly,
VIA1
is between M1
and M2
, find the stream number and datatype of corresponding VIAs in .layermap and enter into VIAx_drawing_stream
and VIAx_drawing_datatype
.VIA2
is betwee M2
and M3
, find the stream number and datatype of corresponding VIAs in .layermap and enter into VIAx_drawing_stream
and VIAx_drawing_datatype
.
Finally, enter the actual names of the top three metal layers in M1_name
, M2_name
and M3_name
.
If you use multiple technology nodes, you should create a layertrans.csv
for each node. In fact, feel free to rename and relocate the layertrans.csv according to your preferences. You only have to select the right path in the setup section.
If you need more metal layers information, please visit chapter "Stream and Datatype of metal layers in PDK".
Unistallation:
uninstall.sh
in the folder to uninstall RFIC-Generator and delete the RFIC-Generator folder..cdsinit
and cds.lib
in the installation process, and delete the RFIC-Generator folder.Upgrade:
layertrans.csv
for use in the new version.
Click RFIC-Generator → Passive Generator
in CIW
:
RFIC Passive Generator includes three modules:
Inductor
: Input inductor types and geometric parameters, output an inductor layoutTransformer
:Input transformer types and geometric parameters, output a transformer layoutRFIC-GPT Code
:Input generation code from RFIC-GPT, output an inductor or transformer layout
The free-provided RFIC-Generator is not customized for various technology nodes. Therefore, layouts generated by Inductor
and Transformer
modules may have DRC problems, as they only listen to your input geometric parameters. However, layouts generated by RFIC-GPT Code
are calculated results from RFIC-GPT Online. They will be DRC-clean.
Step 1: Set the path for layertrans.csv
in the setup
section.
We provide a template layertrans.csv in the installation package. You can load the template after you finished installation to see if RFIC-Generator is installed properly. For further usage on different technology nodes, please refer to the Metal Layer Configuration File Setup.
Step 2: Enter geometric parameters.
Geometric parameters
include the metal layer, number of turns, radius, width, etc. Click on the Guide
button in the Geometric parameters
section to check the diagram and the definitions of each parameter.
M3
, M2
and M1
respectively represent the top three metal layers in your technology node. Therefore, for example, if you want to use the topmost layer, you should choose M3
in this section, and modify the layertrans.csv
properly.terminal length
, terminal space
and label
in the terminal/label
section. When terminal length
/ terminal space
= -1, RFIC-Generator will autonomously determine the length and spacing appropriately.Step 3: Enter target library and cell name.
In the Apply
section, fill in Library
and Cell name
for the generated layout. After clicking Apply
, the layout will be successfully placed in that cell.
Step 1: Set the path for layertrans.csv
in the setup
section.
We provide a template layertrans.csv
in the installation package. You can load the template after you finished installation to see if RFIC-Generator is installed properly. For further usage on different technology nodes, please refer to the Metal Layer Configuration File Setup.
Step 2: Enter Transformer Type.
In the Type setting
section, you should provide the layers you use in the transformer, and the Transformer Type
.
Layer_pri
is the primary coil layer, and Layer_sec
is the secondary coil layer. M3
, M2
and M1
respectively represent the top three metal layers in your technology node. Specifically, M3
is the topmost layer, M2
is the second top layer, and M1
is the third top layer. You should specify their target layers in Step 1.
Transformer Type
is closely related to the metal layers you have selected.
Layer_pri
=Layer_sec
), you will have five options for Transformer Type
:Parallel-Parallel
Serial-Serial
Serial-Parallel
In/Out sameside
Overlapping inductor type
* If the primary and secondary coils are on different layers(Layer_pri
≠=Layer_sec
), you will have two options for Transformer Type
:Non-coaxial
Coaxial
Click on the Guide
button in the Type setting
section to check the diagram and the definitions of each types and their parameters.
Step 3: Enter geometric parameters.
Transformer Type
has different Geometric parameters
.Transformer Type
before you fill in Geometric parameters
.Transformer Type
, the Geometric parameters
section will automatically refresh.Transformer Type
, the default Transformer Type
displayed does not correspond to the default Geometric parameters
. Clicking the Apply
button will cause error.Please strictly follow the above to make sure your transformer layout is generated smoothly.
terminal length
, terminal space
and label
of both primary and secondary coils in the terminal/label
section. When terminal length
/ terminal space
= -1, RFIC-Generator will autonomously determine the length and spacing appropriately.Step 4: Enter target library and cell name.
In the Apply
section, fill in Library
and cell name
for the generated layout. After clicking Apply
, the layout will be successfully placed in that cell.
RFIC-GPT Code
serves as an auxiliary tool of our online service RFIC-GPT Online. Within seconds, you can get a DRC-clean passive device layout, whose performance perfectly meets your specifications.
Step 1: Set the path for layertrans.csv
in the Setup
section, and click Load
.
We provide a template layertrans.csv in the installation package. You can load the template after you finished installation to see if RFIC-Generator is installed properly. For further usage on different technology nodes, please refer to the Metal Layer Configuration File Setup.
You may have noticed that there is an extra section Layermap transform
. Your layertrans.csv will be parsed and import into this section after clicking Load
.
Step 2: Enter generation code
in the RFIC Generation Code
section.
After submitting calculation on webpage, within seconds a few sets of calculated results will be displayed. Click Download GDS layout
on your most satisfying result and you will get a zip package consisting of a .txt
file and a .gds
file. In the .txt
is the generation code
for your calculated result:
Enter the string into the RFIC Generation Code
section:
Step 3: Customize your terminal.
You can customize terminal length
, terminal space
and label
in the Terminal
section.
terminal length(pri)
and terminal space(pri)
.Step 4: Enter target libray and cell name.
In the Apply
section, fill in Library
and cell name
for the generated layout. After clicking Apply
, the layout will be successfully placed in that cell.
Step 5: Use the inductor or transformer module for fine-tuning after generating layouts with RFIC-GPT Code.
After clicking Apply
, not only the layout will be generated, but the geometric parameters of the layout will also be updated into the inductor or transformer module. You can fine-tune the geometric parameters according to your needs.
Errors and solutions:
No such file
means your path for layertrans.csv
is wrong. Check the path and try again.
Incorrect format filling in 'web output
' means your generation code is wrong. Check the string and try again.
The 'Layermap transform' module was incorrectly filled
means the format your input data in the Layermap transform
section is wrong. target stream
and target datatype
should all be integers, and Mx_name
should be set properly according to your PDK. Check the data and try again.
Step 1: Import a default library.
First in the “RFIC path” section, select your path to your installation package. Choose the active circuit pattern (only CSPA
for now), click Load
and a default library will be added to your design environment. The default library contains 4 cells: DM_lvt4t
, DM_lvt6t
, lvt4t
and lvt6t
. Note that 4t
transistors and 6t
transistors have different terminals, thus requiring different wiring. Therefore, we put them in two cells. DM
cells are used to measure stability, where the portAdapter
are absent.
Everytime you click Load
, a new default library will be imported and your original one will be overwritten. Make a backup if you need before every Load
.
Step 2: Replace default instances in the default library.
As mentioned above, the default library added in Step 1 has different cells with different instances and wiring. You can replace the default 4t
or 6t
transistors with real 4t
or 6t
transistors in your PDK. Specify your transistors in the Instance to replace
section.
For example, if you want to use a 6t
transistor like nmos_rf_lvt_6t
, you should choose the 6t
cell like CSPA_lvt6t
in the Source Schematic
section, as the wiring differs between 4t
and 6t
schematics. Otherwise the files may end up broken.
If, unfortunately, you accidentally mis-replaced 4t
cells with 6t
, you should repeat Step 1. The new default library will overwrite the broken old one.
Step 3: Select path to the Model Library in your PDK.
Select path to your model file in the “model Path” section. For reference only, it is usually called toplevel.scs
located in the “models” folder.
Step 4: Enter Generation Code
Check the Generation Code
from RFIC-GPT Online and enter into the “Generation Code” section above. Click “Apply”.
Step 5: Open webdisplay_state1 and verify the results.
Here we use transformer as example. Inductor modification is the almost the same.
layertrans.csv
file chosen in Setup File should align with the PDK you are designing. Otherwise, some or all metal layers will be lost. Information to fill the layertrans.csv
file can be found: “Stream and Datatype of metal layers in PDK”.Step 1: Input the “Generation Code” downloaded from RFIC-GPT Online, then layout is generated.
Step 2: Click the “Transfermer” Section as below picture, the related parameters will be directly listed in the Geometric parameters
Section. Please note: you can click “Guide” Button for detail parameters explanation.
Step 3: Choose the corresponding Library and rename the Cell name, and then Apply. The old Cell will be overwritten if Cell name unchanged.
Open the new created Cell, view the modifed layout:
Q: How to apply the calculated results from RFIC-GPT in a closed design environment?
A: Please try the below methods:
Q: I use mobile to access RFIC-GPT Online, but it can't display in full width, how to solve it?
A: Just try Firefox, Chrome or other mobile browser, using landscape mode , you can have a wider display which is enough.
Q: Which specific technology node is supported?
A: The properties of top-layer passive devices are mainly related to the metal layer thickness and material properties. Check your PDK files for the thickness of the layer you are using, and select the metal layer thickness on our website RFIC-GPT. The closer the selected metal layer thickness is to the actual layer thickness you are using, the more accurate the results will be. Active circuits' calculated results can be verified under mainstream processes. If you need more support, please contact us via email.
Q: Why is the metal layer missing in the downloaded layout?
A: A: Check the following:
If the Metal Layer Thickness differs significantly from the actual layer thickness in your attached PDK, the metal layer will not be displayed. This is to avoid using RFIC-GPT layouts as actual layouts when there is a mismatch in technology nodes.
If you intentionally set different metal layer thicknesses for research or other purposes, please unbind the PDK associated with your current project. The metal layers will be displayed.
Q: Are the calculation results from RFIC-GPT Online always under 85°C?
A: Yes. 85°C is a more applicable and stringent condition because of the overheating in real chips. Many commercial products requires a 85°C simulation test. Quality factor Q is significantly influenced by temperature, while other specifications are less affected. For reference only, compared with 85°C, Q increases approximately by 2 under 27°C. If you need precise results under other temperatures, please email sales@mail.rfic-gpt.com to get RFIC-GPT Pro.
Q: The calculated results from RFIC-GPT Online cannot reach the design specifications I entered. How should I improve the performance?
A: The reason for this situation may be unreasonable specification settings. Please strike a balance between each specification, subtly lower the unattainable ones or increase those with significant margin, and re-calculate. Alternatively, consider trying a different metal layer thickness. You can also refer to: Inductor trade-off, Transformer trade-off, Matching trade-off. If the calculated results still do not meet your specifications, please email to service@mail.rfic-gpt.com for support.
Q: How to raise Q_pri & Q_sec without modifying inductances and coupling coefficient k?
A: It may be necessary to use stacked metals as coils, but only a few transformer types can be achieved with stacked metals. Stacked metals are not applicable in complex structures.
P.S. RFIC-GPT Pro offers:
Please email to sales@mail.rfic-gpt.com to get RFIC-GPT Pro.
Q: Can RFIC-GPT provide transformers with taps?
A: Only offline version RFIC-GPT Pro provides this function, but it's pay to use. Please email to sales@mail.rfic-gpt.com for evaluation or quotation.
Q: How can I cite RFIC-GPT in my paper?
A: You can cite as follows:
Q: Does RFIC-GPT support GaN, GaAs or substrate?
A: Currently RFIC-GPT Online version only offers design for CMOS technology. GaN, GaAs and substrate passive devices/circuits are in our future update plan. Please stay tuned for upcoming releases.
Q: During RFIC-Generator installation, 'Permission denied' is displayed, how to solve it?
A: Please make sure you have enough permissions on cds.lib
,.cdsinit
and the corresponding paths. You can use the below “chmod” commands to add permissions:
chmod +rw .cdsinit \ chmod +rw cds.lib
Then re-run 'install.sh'.
If you install RFIC-Generator in vmware, don’t put RFIC-Generator directory under /mnt/hgfs of vmware tools, which is a shared directory. It may crash.
If you are personal user, you can put it under /home.
If you use Virtuoso from /home directory, please put cds.lib and .cdsinit
files under your own ‘home’ directory. Then “Permission Denied” error will not happen.
When Virtuoso starts, it will load .cdsinit
file from starting directory. Non-admin user usually need not modify the general .cdsinit
file. Instead, modify private.cdsinit
under the starting directory.
If there is no.cdsinit
file under /home, you can input/home/IC/.cdsinit
during the installation of RFIC-Generator and this file can be automatically created.
Q: After installing RFIC-Generator, when using the Passive Generator, an error occurs: “Error gets: argument #1 should be an I/O port (type template = “p”) - nil” (also see the below pic), or there are issues such as “Permission Denied” and etc., that make it unusable. What is the reason?
A: Please decompose the downloaded RFIC-Generator package on a Linux system before installing. Decomposing on Windows system and installing on a Linux system will result in various errors.
If you have already decomposed it on a Windows system, please uninstall the RFIC-Generator and reinstall it according to the requirements.
Q: Is RFIC-Generator only usable in Cadence Virtuoso IC618? Is it compatible with IC51?
A: RFIC-Generator is compatible with IC618 and we cannot guarantee the compatibility with other versions. We can provide a customized compatible version of RFIC-Generator for a fee, if needed. Please email to sales@mail.rfic-gpt.com for further assistance.
Q: Can you provide RFIC-Generator on ADS?
A: RFIC-Generator on ADS is available with additional payments. Please email to sales@mail.rfic-gpt.com for inquires.
Q: Which EM tool shall I use to simulate the passive device layouts downloaded from RFIC-GPT Online?
A: Any industry-standard electromagnetic (EM) simulation software can be used, but it is necessary to add simulation conditions, such as 85°C temperature, etc.
For example, if you are using EMX, enter the following commands in the Advanced Options > Other Command-line Options field:
--temperature=85 --uniform-sources
Q: How to verify the performance results of a passive network?
A: It is recommended to follow these steps:
If the results still differ >5% than the data provided on RFIC-GPT Online, please email to service@mail.rfic-gpt.com.
Q: Why can't EMX simulation be used after renaming layouts or schematics generated by RFIC-GPT Online?
A: The issue arises because the new name includes “.” character, which violates EMX naming rules, preventing EMX from functioning properly. Here's how to solve it:
RFIC-GPT Professional version (RFIC-GPT Pro) is an offline software and provided to commercial company users. It is install in designer’s environment, embedded tightly in layout tool. Professional version can be used more convenient than online version, supports more device and circuit structures, generates and adjusts GDSII more easily w/ functions such as Dummy, PGS, Guard Ring etc.
The difference among RFIC-Generator, RFIC-GPT Online and RFIC-GPT Pro is as follows:
If you have interesting to eval or buy RFIC-GPT Pro, pls email to sales@mail.rfic-gpt.com.
This section introduces how to find the “drawing_stream” and “drawing_datetype” of the top three metal layers.
Firstly, open the “techfile” file in your PDK folder. Search for (Ctrl+F) “layerrules” in order to understand the corresponding layer rules of your PDK. Generally speaking, the last metal layer information in your techfile is the topmost layer in the physical manufacturing process.
Demonstration:
In this instance, ALPA/MTT2/TM1 (metal layers) and PA/TV2 (cut layers) are the information we need. After this, search for (Ctrl+F) the names ALPA/MTT2/TM1/ PA/TV2 with drawings after them in the “layermap” file. The numbers after drawing are the drawing_stream and drawing_datetype respectively.
The above is only for demonstration, please refer to your own PDK in search of the infomation needed.
In Testbench, it is often necessary to generate symbols for the required devices. This section takes drawing an inductor’ symbol as an example to introduce how to operate in Virtuoso.
1.Create Cellview
2.Choose analogLib in the Library column and n-port in the Cell column
3.Enter number in the Number of ports column and paste the S-parameter path in the S-parameter data file column
Tip:
For inductors without Center Tap, fill “2” in the Number of ports column.
For inductors with Center Tap, fill “3” in the Number of ports column.
For transformers without Center Tap, fill “4” in the Number of ports column.
For transformers with Center Tap, fill “6” in the Number of ports column.
4.Use Create → Pin to creat pins
5.Use Create → Cellview → Form_Cellview to create symbol
6.Enter the position that you wish your pins to be in and click OK
7.Symbol creation completed
v1.241212
v1.240520 Hotfix 1
v1.240520
v1.240125
v1.241212
v1.240520 Hotfix 1
v1.240520
v1.240125