PA behavioral models fail when they flatten the very nonlinearity that defines a power amplifier. In RF behavioral RTL, LNA and mixer models map more directly from specs to parameters: noise figure becomes additive noise, conversion gain becomes a multiplier, and the model stays mostly linear. A PA model is nonlinear by nature, and that nonlinearity carries the useful information.
Gain compression, AM-PM distortion, and output power saturation describe the PA at the specification level, not merely its circuit implementation. System designers need them to predict EVM, ACPR, and spectral regrowth in system simulation. A flat-gain PA model omits the behaviors most relevant to wireless design.
This post explains how Skycore generates PA behavioral RTL from spec input, why we select particular models, and where a purely behavioral RTL model reaches its limits.
The Spec Input
The minimum useful input for a Skycore PA behavioral model includes the frequency band, which sets bandwidth and filtering assumptions, small-signal gain in dB, output 1dB compression point (OP1dB) in dBm, maximum output power, and optionally AM-PM distortion in degrees per dB of compression.
A 2.4 GHz PA spec might read:
block_type: power_amplifier
frequency_band_ghz: 2.4
small_signal_gain_db: 28
op1db_dbm: 24
psat_dbm: 27
am_pm_deg_per_db: 3.5
output_impedance_ohm: 50
model_fidelity: envelope
The model_fidelity: envelope setting drives the choice. Skycore supports two PA approaches: envelope simulation, which represents the baseband envelope and runs fast enough for system-level work, and cycle-accurate simulation, which represents the RF carrier for waveform accuracy but is too slow for regression. Most teams select envelope for behavioral RTL because it runs thousands of simulation cycles while a cycle-accurate model completes one.
AM-AM and AM-PM Transfer Functions
Every nonlinear PA behavioral model centers on amplitude-to-amplitude (AM-AM) and amplitude-to-phase (AM-PM) transfer functions. AM-AM shows how gain varies with input power. AM-PM shows how output phase varies with input power. Together, they define PA distortion across the operating range.
A common AM-AM approximation comes from the Saleh model, which fits measured gain compression with a two-parameter rational function. Skycore parameterizes this form against the OP1dB and Psat values in the spec:
// Envelope-domain PA behavioral model
// AM-AM compression via rational approximation
module pa_behavioral #(
parameter real GAIN_LINEAR = 25.12, // 28 dB linear
parameter real ALPHA_AM = 2.1587, // Saleh alpha_a fit to OP1dB
parameter real BETA_AM = 1.1517, // Saleh beta_a fit to Psat
parameter real ALPHA_PM = 2.408, // AM-PM coefficient
parameter real BETA_PM = 1.150
) (
input real in_env_i, in_env_q,
output real out_env_i, out_env_q
);
real r_in, gain_am, phase_am, r_out;
always_comb begin
r_in = $sqrt(in_env_i*in_env_i + in_env_q*in_env_q);
gain_am = (GAIN_LINEAR * ALPHA_AM * r_in) /
(1.0 + BETA_AM * r_in * r_in);
phase_am = (ALPHA_PM * r_in * r_in) /
(1.0 + BETA_PM * r_in * r_in);
r_out = gain_am;
out_env_i = r_out * $cos($atan2(in_env_q, in_env_i) + phase_am);
out_env_q = r_out * $sin($atan2(in_env_q, in_env_i) + phase_am);
end
endmodule
The Saleh parameters ALPHA_AM, BETA_AM, ALPHA_PM, and BETA_PM are calculated by Skycore from the spec's OP1dB, Psat, and AM-PM slope values. Engineers provide spec-level values, and receive parameters that reproduce the intended compression, without fitting the Saleh form themselves.
Memory Effects: When They Matter
A static AM-AM/AM-PM model handles narrowband signals and harmonic distortion at one frequency. With wideband signals such as multicarrier and OFDM, the PA has memory effects: output depends on recent input amplitude as well as the current input. These effects make intermodulation products asymmetric and change spectral regrowth predictions for wideband waveforms.
Skycore's default PA model omits memory effects by design. A memoryless model is simpler, faster to simulate, and accurate for most behavioral RTL tasks, such as control-logic verification, gain mode switching, and digital predistortion coefficient loading, rather than EVM prediction to better than 1 dB accuracy. The generated model header states that memory effects are absent, marking the fidelity boundary for anyone reading the code.
For system simulation requiring memory-effect accuracy, the model can add a finite-impulse-response filter in the gain path. That needs extra characterization, including a table of IMD asymmetry versus tone spacing, which most spec sheets lack. This behavioral model is not a replacement for a PA model fitted to silicon measurements. It is a practical first approximation that captures dominant nonlinear behavior from spec-level inputs.
Linking the Model to the Control Interface
In an actual PA, AM-AM and AM-PM vary with gain mode, bias current setting, and power class. The digital control interface programs these points, so the behavioral model must represent those dependencies.
When Skycore generates PA behavioral RTL with control-interface RTL, it connects the gain mode register output to the model's gain parameter input. A gain-mode lookup table, derived from the spec definitions, selects small-signal gain and compression parameters for each mode. Behavioral simulation therefore represents every programmed mode, not only the nominal one.
This link also supports verification. A gain mode switching simulation can confirm correct PA transitions, verify that each mode's output power step matches the spec, and show that ordinary SPI programming cannot reach an invalid gain mode combination. These checks are central to system-level integration.
What the Model Cannot Show
The behavioral model cannot establish that the transistor-level PA circuit meets the OP1dB and Psat specs used to create it. That needs Spectre simulation of the SPICE netlist, which the behavioral model is intended to avoid at every iteration. If the circuit changes and actual OP1dB moves, the model does not update itself: its parameters come from the spec, not circuit simulation.
The proper workflow is to use the behavioral model for digital control interface verification and system-level integration. Use Spectre simulation to characterize the circuit and confirm that it meets spec. If Spectre shows that actual OP1dB differs from the spec, revise the spec, regenerate the behavioral model with Skycore, and rerun system simulation using the corrected parameters. The two simulation layers answer different questions and should not replace each other.
This division is the right strategy for mixed-signal IC design, not a flaw in Skycore's method. A behavioral model that replaces circuit simulation is either too slow, requiring transistor-level accuracy, or too inaccurate to rely on. An envelope model with explicit fidelity limits remains useful for its intended purpose.