bag3_analog.layout.highpass

This module defines various passive high-pass filter generators

Package Contents

Classes

HighPassDiffCore

A differential RC high-pass filter.

HighPassArrayCore

An row array of RC high-pass filter.

HighPassArrayClkCore

An array of clock RC high-pass filters. Drops down a HPF array and connects all the inputs

HighPassColumn

A column of differential high-pass RC filters.

Functions

merge_all_bboxes(lb)

class bag3_analog.layout.highpass.HighPassDiffCore(temp_db: bag.layout.template.TemplateDB, params: bag.util.immutable.Param, **kwargs: Any)[source]

Bases: xbase.layout.res.base.ResArrayBase

A differential RC high-pass filter.

classmethod get_schematic_class() Optional[bag.design.module.Module][source]
classmethod get_params_info() Dict[str, str][source]

Returns a dictionary from parameter names to descriptions.

Returns:

param_info – dictionary from parameter names to descriptions.

Return type:

Mapping[str, str]

classmethod get_default_param_values() Dict[str, Any][source]

Returns a dictionary containing default parameter values.

Override this method to define default parameter values. As good practice, you should avoid defining default values for technology-dependent parameters (such as channel length, transistor width, etc.), but only define default values for technology-independent parameters (such as number of tracks).

Returns:

default_params – dictionary of default parameter values.

Return type:

Mapping[str, Any]

draw_layout()[source]

Draw the layout of this template.

Override this method to create the layout.

WARNING: you should never call this method yourself.

connect_resistors(bias_idx) Tuple[bag.layout.routing.base.WireArray, bag.layout.routing.base.WireArray, bag.layout.routing.base.WireArray, bag.layout.routing.base.WireArray, bag.layout.routing.base.WireArray, int, int][source]

Connect the resistors in series. bias_idx sets which track to draw the vm bias wire on

draw_mom_cap(nser, xl, xr, cap_spx, cap_spy, cap_margin) Tuple[bag.layout.routing.base.WireArray, bag.layout.routing.base.WireArray, bag.layout.routing.base.WireArray, bag.layout.routing.base.WireArray, bag.layout.routing.base.WireArray, bag.layout.routing.base.WireArray][source]
class bag3_analog.layout.highpass.HighPassArrayCore(temp_db: bag.layout.template.TemplateDB, params: bag.util.immutable.Param, **kwargs: Any)[source]

Bases: xbase.layout.res.base.ResArrayBase

An row array of RC high-pass filter.

classmethod get_schematic_class() Optional[bag.design.module.Module][source]
classmethod get_params_info() Dict[str, str][source]

Returns a dictionary from parameter names to descriptions.

Returns:

param_info – dictionary from parameter names to descriptions.

Return type:

Mapping[str, str]

classmethod get_default_param_values() Dict[str, Any][source]

Returns a dictionary containing default parameter values.

Override this method to define default parameter values. As good practice, you should avoid defining default values for technology-dependent parameters (such as channel length, transistor width, etc.), but only define default values for technology-independent parameters (such as number of tracks).

Returns:

default_params – dictionary of default parameter values.

Return type:

Mapping[str, Any]

draw_layout()[source]

Draw the layout of this template.

Override this method to create the layout.

WARNING: you should never call this method yourself.

_connect_resistors(narr, nser, ndum, cap_spx, port_tr_w, show_pins)[source]
_connect_supplies(supl_list, supr_list)[source]
_draw_mom_cap(cap_x_list, bot_layer, top_layer, cap_spy, cap_h_list, port_tr_w, show_pins)[source]
_add_metal_res(warr: bag.layout.routing.base.WireArray, go_up=True)[source]
class bag3_analog.layout.highpass.HighPassArrayClkCore(temp_db: bag.layout.template.TemplateDB, params: bag.util.immutable.Param, **kwargs: Any)[source]

Bases: bag.layout.template.TemplateBase

An array of clock RC high-pass filters. Drops down a HPF array and connects all the inputs together on a horizontal bar.

classmethod get_schematic_class() Optional[bag.design.module.Module][source]
classmethod get_params_info() Dict[str, str][source]

Returns a dictionary from parameter names to descriptions.

Returns:

param_info – dictionary from parameter names to descriptions.

Return type:

Mapping[str, str]

classmethod get_default_param_values() Dict[str, Any][source]

Returns a dictionary containing default parameter values.

Override this method to define default parameter values. As good practice, you should avoid defining default values for technology-dependent parameters (such as channel length, transistor width, etc.), but only define default values for technology-independent parameters (such as number of tracks).

Returns:

default_params – dictionary of default parameter values.

Return type:

Mapping[str, Any]

draw_layout()[source]

Draw the layout of this template.

Override this method to create the layout.

WARNING: you should never call this method yourself.

_place_clock_wires(template, narr, top_layer, tr_manager)[source]

Position the two clock wires below the array. Determine the required y-shift in the array to keep the clock wires in the 1st quadrant

class bag3_analog.layout.highpass.HighPassColumn(temp_db: TemplateDB, params: bag.util.immutable.Param, log_file: str, log_level: pybag.enum.LogLevel = LogLevel.DEBUG, **kwargs: Any)[source]

Bases: bag.layout.template.TemplateBase

A column of differential high-pass RC filters.

classmethod get_schematic_class() Optional[bag.design.module.Module][source]
classmethod get_params_info() Dict[str, str][source]

Returns a dictionary from parameter names to descriptions.

Returns:

param_info – dictionary from parameter names to descriptions.

Return type:

Mapping[str, str]

classmethod get_default_param_values() Dict[str, Any][source]

Returns a dictionary containing default parameter values.

Override this method to define default parameter values. As good practice, you should avoid defining default values for technology-dependent parameters (such as channel length, transistor width, etc.), but only define default values for technology-independent parameters (such as number of tracks).

Returns:

default_params – dictionary of default parameter values.

Return type:

Mapping[str, Any]

draw_layout()[source]

Draw the layout of this template.

Override this method to create the layout.

WARNING: you should never call this method yourself.

_place_instances(ycur, master0, master1)[source]
bag3_analog.layout.highpass.merge_all_bboxes(lb: List[bag.layout.util.BBox])[source]