2 min readByAleksandr SidunAleksandr Sidun
Suggest Edit

High-pass filter model

This is a behavioral first-order high-pass filter implemented in the Laplace (s-domain) using Verilog-A's laplace_nd function, so it is evaluated natively as a transfer function during AC analysis and as an equivalent time-domain filter during transient. The only tunable parameter is Cutoff_frequency — the −3 dB corner (default: 10 kHz) — making it trivial to drop into any testbench without sizing resistors or capacitors. Typical use-cases include AC-coupling a signal source to strip DC bias, representing the high-frequency pole of a feedback network, or serving as an ideal reference response when verifying the corner frequency of a real RC filter implementation.

This article contains Verilog-A model for a high-pass filter.

Usage:

  1. Create a new cell in Library Manager named HPF and select cell type Verilog A;
  2. Copy and paste the code provided;
  3. Specify Cutoff_frequency variable to be -3dB frequency;
  4. Perform Check and Save;
  5. A cell symbol will be created;
  6. Instantiate HPF cell into your design;
  7. Perform Check and Save and run the simulation.


HPF model testbench

HPF model testbench


LPF model simulation result

HPF model simulation result

Cell name: HPF

Model type: Verilog-A

verilog
1// High Pass filter model based on -3dB frequency definition 2// Author: A. Sidun 3// Source: AnalogHub.ie 4 5`include "constants.vams" 6`include "disciplines.vams" 7 8module HPF(in, out); 9electrical in, out; 10parameter real Cutoff_frequency = 10k; // -3dB frequency 11 12analog begin 13 V(out) <+ laplace_nd(V(in),{0, 1},{2*`M_PI*Cutoff_frequency, 1}); 14 end 15endcase 16end 17endmodule