# Hurricane Documentation

# Hurricane VLSI Database

List of all members | Classes | Public Member Functions | Static Public Member Functions
Hurricane::BasicLayer Class Reference

BasicLayer description (API) More...

Inheritance diagram for Hurricane::BasicLayer:
[legend]

## Classes

class | Material

## Public Member Functions

const Material & | getMaterial () const
const Name & | getRealName () const
void | setBlockageLayer (BasicLayer *layer)
void | setRealName (const char *realName)
Public Member Functions inherited from Hurricane::Layer
Technology * | getTechnology () const
const Name & | getName () const
const Mask & | getMask () const
const Mask & | getExtractMask () const
const DbU::Unit & | getMinimalSize () const
const DbU::Unit & | getMinimalSpacing () const
virtual const Layer * | getOpposite (const Layer *) const
Layer * | getMetalAbove (bool useSymbolic=true) const
Layer * | getMetalBelow (bool useSymbolic=true) const
Layer * | getCutAbove (bool useSymbolic=true) const
Layer * | getCutBelow (bool useSymbolic=true) const
bool | above (const Layer *layer) const
bool | below (const Layer *layer) const
bool | contains (const Layer *layer) const
bool | intersect (const Layer *layer) const
void | setName (const Name &name)
void | setMinimalSize (const DbU::Unit &minimalSize)
void | setMinimalSpacing (const DbU::Unit &minimalSpacing)
virtual void | setEnclosure (const BasicLayer *layer, DbU::Unit, uint32_t flags)
virtual void | setExtentionCap (const BasicLayer *layer, DbU::Unit)
virtual void | setExtentionWidth (const BasicLayer *layer, DbU::Unit)
Public Member Functions inherited from Hurricane::DBo
virtual void | destroy ()
Property * | getProperty (const Name &) const
Properties | getProperties () const
bool | hasProperty () const
void | put (Property *)
void | remove (Property *)
void | removeProperty (const Name &)
void | clearProperties ()

## Static Public Member Functions

static BasicLayer * | create (Technology *technology, const Name &name, const Material &material, unsigned gds2Layer, unsigned gds2Datatype, const DbU::Unit &minimalSize=0, const DbU::Unit &minimalSpacing=0)

## Additional Inherited Members

Public Types inherited from Hurricane::Layer
typedef Hurricane::Mask< unsigned long long > | Mask

## Detailed Description

BasicLayer description (API)

For a more complete description of the Layers object, please refer to Layer Introduction.

For purpose of BasicLayers, also see BasicLayer::Material.

## Member Function Documentation

## ◆ create()

BasicLayer * Hurricane::BasicLayer::create | ( | Technology * | technology,
|  | const Name & | name,
|  | const Material & | material,
|  | unsigned | gds2Layer,
|  | unsigned | gds2Datatype,
|  | const DbU::Unit & | minimalSize = `0`,
|  | const DbU::Unit & | minimalSpacing = `0`
| ) |  |

static

creates and returns a new basic layer named `<name>`, of type `<material>` for the given technology (some geometrical characteristics can also be specified).

Caution: Throws an exception if the technology is null, if the name is
  empty, if a layer of same name already exists or if we overflow the capacity of the bit field associated to the layer mask.

Remarks
  The extract number is a kind of logic number. In example the CP layer which represent a poly layer should have the same extract number as the CPG layer which represent a poly layer used to realize the transistor gates. While extractions process, layers which have the same extract number are considered as equivalents. A null value indicates that the extraction should ignore this layer.

## ◆ getMaterial()

const BasicLayer::Type & Hurricane::BasicLayer::getMaterial | ( |  | ) | const

inline

Returns: the basic layer material.

## ◆ getRealName()

const Name & Hurricane::BasicLayer::getRealName | ( |  | ) | const

inline

Returns: the real (process) layer name, for GDS.

## ◆ setBlockageLayer()

void Hurricane::BasicLayer::setBlockageLayer | ( | BasicLayer * | layer | ) |

inline

Associate a blockage layer to this one. This is only meaningful for routing layers (RegularLayer).

## ◆ setRealName()

void Hurricane::BasicLayer::setRealName | ( | const char * | realName | ) |

inline

Set the real (process) layer name, for GDS.

The documentation for this class was generated from the following files:

- BasicLayer.h
- BasicLayer.dox