Xyce
6.1
|
Devices and models are each named. More...
#include <N_DEV_InstanceName.h>
Public Member Functions | |
InstanceName () | |
Creates an empty entity name. More... | |
InstanceName (const std::string &name) | |
Creates an entity. More... | |
InstanceName (const InstanceName &entity_name) | |
Copies an instance name. More... | |
InstanceName & | operator= (const InstanceName &instance_name) |
Assigns an instance name. More... | |
char | getDeviceLetter () const |
Return the first letter of the device specification after the subcircuit. More... | |
const std::string & | getDeviceType () const |
Decodes the device type. More... | |
const std::string & | getDeviceName () const |
Decodes the device name. More... | |
const std::string & | getSubcircuitName () const |
Decodes the device name. More... | |
int | getNumInputs () const |
For the U device, return the number of inputs which have been encoded into the device name. More... | |
const std::string & | getEncodedName () const |
Return the instance name encoded as: [s:]*xname [s:]*Ytype!name [s:]*Utype!name!count. More... | |
Private Member Functions | |
InstanceName (char device_letter, const std::string &device_type, const std::string &subcircuit_name, const std::string &device_name, int num_inputs) | |
void | decode () |
void | encode () |
char | decodeDeviceLetter () const |
std::string | decodeDeviceType () const |
std::string | decodeDeviceName () const |
std::string | decodeSubcircuitName () const |
int | decodeNumInputs () const |
Private Attributes | |
char | deviceLetter_ |
Device letter (Y or U included) More... | |
std::string | deviceType_ |
Device type from netlist (does NOT include Y or U prefix) More... | |
std::string | deviceName_ |
Device name from netlist (subcircuit NOT included) More... | |
std::string | subcircuitName_ |
Device subcircuit from netlist. More... | |
int | numInputs_ |
Hack for U type device (needs to become a parameter) More... | |
std::string | name_ |
Complete encoded name. More... | |
Devices and models are each named.
Models are not encoded, so simple string representation is sufficient. However Devices are a different lot. They are encoded as
[s:]*xname [s:]*Ytype!name [s:]*Utype!name!count
where s is a subcircuit name, x is a single letter device type, type is a multiletter device type (no Y or U prefix) and count is a special input count for the U device.
Currently encoded names are accepted and then decoded using the getter's. In the future, these will be stored in component form and then encoded onyl as needed.
Definition at line 83 of file N_DEV_InstanceName.h.
|
inlineprivate |
Definition at line 86 of file N_DEV_InstanceName.h.
|
inline |
Creates an empty entity name.
Definition at line 110 of file N_DEV_InstanceName.h.
|
inlineexplicit |
Creates an entity.
name | model or encoded device entity name |
Definition at line 137 of file N_DEV_InstanceName.h.
|
inline |
Copies an instance name.
name | model or encoded device entity name |
Definition at line 166 of file N_DEV_InstanceName.h.
|
private |
Definition at line 54 of file N_DEV_InstanceName.C.
|
private |
Definition at line 124 of file N_DEV_InstanceName.C.
|
private |
Definition at line 87 of file N_DEV_InstanceName.C.
|
private |
Definition at line 68 of file N_DEV_InstanceName.C.
|
private |
Definition at line 134 of file N_DEV_InstanceName.C.
|
private |
Definition at line 114 of file N_DEV_InstanceName.C.
|
private |
Definition at line 64 of file N_DEV_InstanceName.C.
|
inline |
Return the first letter of the device specification after the subcircuit.
The device letter is Y or U for multiletter device names or the letter that identifies the device for sinlge letter names.
Definition at line 222 of file N_DEV_InstanceName.h.
|
inline |
Decodes the device name.
The device name is a string containing the first letter for a single letter device name, or the string starting after the Y or U up to but noe including the exclamation point (!).
Subcircuit prefixes are not included.
Definition at line 273 of file N_DEV_InstanceName.h.
|
inline |
Decodes the device type.
The device type is a string containing the first letter for a single letter device name, or the string starting after the Y or U up to but noe including the exclamation point (!).
Subcircuit prefixes are not included.
Definition at line 247 of file N_DEV_InstanceName.h.
|
inline |
Return the instance name encoded as: [s:]*xname [s:]*Ytype!name [s:]*Utype!name!count.
Definition at line 344 of file N_DEV_InstanceName.h.
|
inline |
For the U device, return the number of inputs which have been encoded into the device name.
(These probably should be encoded into the device parameters, not the name.)
Definition at line 322 of file N_DEV_InstanceName.h.
|
inline |
Decodes the device name.
The device name is a string containing the first letter for a single letter device name, or the string starting after the Y or U up to but noe including the exclamation point (!).
Definition at line 297 of file N_DEV_InstanceName.h.
|
inline |
Assigns an instance name.
name | model or encoded device entity name |
Definition at line 193 of file N_DEV_InstanceName.h.
|
private |
Device letter (Y or U included)
Definition at line 360 of file N_DEV_InstanceName.h.
|
private |
Device name from netlist (subcircuit NOT included)
Definition at line 362 of file N_DEV_InstanceName.h.
|
private |
Device type from netlist (does NOT include Y or U prefix)
Definition at line 361 of file N_DEV_InstanceName.h.
|
private |
Complete encoded name.
Definition at line 366 of file N_DEV_InstanceName.h.
|
private |
Hack for U type device (needs to become a parameter)
Definition at line 364 of file N_DEV_InstanceName.h.
|
private |
Device subcircuit from netlist.
Definition at line 363 of file N_DEV_InstanceName.h.