UGRAMM
|
Functions | |
void | deviceModelDRC_VerifyPinNodes (DirectedGraph *G, std::map< int, NodeConfig > *gConfig, bool *errorDetected) |
void | deviceModelDRC_CheckFloatingNodes (DirectedGraph *G, std::map< int, NodeConfig > *gConfig, bool *errorDetected) |
void | deviceModelDRC_CheckDeviceModelWeaklyConnected (DirectedGraph *G, std::map< int, NodeConfig > *gConfig, bool *errorDetected) |
void | deviceModelDRC_CheckFuncCellConnectivity (DirectedGraph *G, std::map< int, NodeConfig > *gConfig, bool *errorDetected) |
void | deviceModelDRC_CheckDeviceModelAttributes (DirectedGraph *G, std::map< int, NodeConfig > *gConfig, bool *errorDetected) |
void | applicationGraphDRC_CheckFloatingNodes (DirectedGraph *H, std::map< int, NodeConfig > *hConfig, bool *errorDetected) |
void | applicationGraphDRC_CheckPinNames (DirectedGraph *H, std::map< int, NodeConfig > *hConfig, bool *errorDetected) |
void | applicationGraphDRC_CheckApplicationDFGWeaklyConnected (DirectedGraph *H, std::map< int, NodeConfig > *hConfig, bool *errorDetected) |
void | applicationGraphDRC_CheckDeviceModelAttributes (DirectedGraph *H, std::map< int, NodeConfig > *hConfig, bool *errorDetected) |
void | applicationGraphDRC_CheckDupplicationInLockNodes (DirectedGraph *H, std::map< int, NodeConfig > *hConfig, bool *errorDetected) |
void | applicationGraphDRC_CheckLockNodeType (DirectedGraph *H, std::map< int, NodeConfig > *hConfig, std::map< int, NodeConfig > *gConfig, bool *errorDetected) |
double | runDRC (DirectedGraph *H, DirectedGraph *G, std::map< int, NodeConfig > *hConfig, std::map< int, NodeConfig > *gConfig, int drc_verbose_level) |
void applicationGraphDRC_CheckApplicationDFGWeaklyConnected | ( | DirectedGraph * | H, |
std::map< int, NodeConfig > * | hConfig, | ||
bool * | errorDetected ) |
Check if the application DFG is weakly conencted
H | A pointer to the application graph. |
hConfig | A map containing node configuration details of application graph. |
errorDetected | A pointer to a bool variable to indicate an DRC error is found. |
void applicationGraphDRC_CheckDeviceModelAttributes | ( | DirectedGraph * | H, |
std::map< int, NodeConfig > * | hConfig, | ||
bool * | errorDetected ) |
Check if the application DFG dot files has the correct attributes and also verify if the attributes haves been correctly loaded into the hConfig data structure
H | A pointer to the application graph. |
hConfig | A map containing node configuration details of application graph. |
errorDetected | A pointer to a bool variable to indicate an DRC error is found. |
void applicationGraphDRC_CheckDupplicationInLockNodes | ( | DirectedGraph * | H, |
std::map< int, NodeConfig > * | hConfig, | ||
bool * | errorDetected ) |
Check if there is a dupplication in locked device model nodes between different vertices of the application graph
H | A pointer to the application graph. |
hConfig | A map containing node configuration details of application graph. |
errorDetected | A pointer to a bool variable to indicate an DRC error is found. |
void applicationGraphDRC_CheckFloatingNodes | ( | DirectedGraph * | H, |
std::map< int, NodeConfig > * | hConfig, | ||
bool * | errorDetected ) |
Application graph should not have any floating nodes
H | A pointer to the application graph. |
hConfig | A map containing node configuration details of application graph. |
errorDetected | A pointer to a bool variable to indicate an DRC error is found. |
void applicationGraphDRC_CheckLockNodeType | ( | DirectedGraph * | H, |
std::map< int, NodeConfig > * | hConfig, | ||
std::map< int, NodeConfig > * | gConfig, | ||
bool * | errorDetected ) |
Check that the locked device model node is the correct node type for the application graph's vertecies
H | A pointer to the application graph. |
hConfig | A map containing node configuration details of application graph. |
gConfig | A map containing node configuration details of device-model graph. |
errorDetected | A pointer to a bool variable to indicate an DRC error is found. |
void applicationGraphDRC_CheckPinNames | ( | DirectedGraph * | H, |
std::map< int, NodeConfig > * | hConfig, | ||
bool * | errorDetected ) |
Pin names used in the application DFG must follow the names defined in the pragmas in GRAMM.cpp
H | A pointer to the application graph. |
hConfig | A map containing node configuration details of application graph. |
errorDetected | A pointer to a bool variable to indicate an DRC error is found. |
void deviceModelDRC_CheckDeviceModelAttributes | ( | DirectedGraph * | G, |
std::map< int, NodeConfig > * | gConfig, | ||
bool * | errorDetected ) |
Check if the device model dot files has the correct attributes and also verify if the attributes haves been correctly loaded into the gConfig data structure
G | A pointer to the device-model graph. |
gConfig | A map containing node configuration details of device-model graph. |
errorDetected | A pointer to a bool variable to indicate an DRC error is found. |
void deviceModelDRC_CheckDeviceModelWeaklyConnected | ( | DirectedGraph * | G, |
std::map< int, NodeConfig > * | gConfig, | ||
bool * | errorDetected ) |
Check if the device model graph is weakly conencted
G | A pointer to the device-model graph. |
gConfig | A map containing node configuration details of device-model graph. |
errorDetected | A pointer to a bool variable to indicate an DRC error is found. |
void deviceModelDRC_CheckFloatingNodes | ( | DirectedGraph * | G, |
std::map< int, NodeConfig > * | gConfig, | ||
bool * | errorDetected ) |
Device model graphs should not have any floating nodes
G | A pointer to the device-model graph. |
gConfig | A map containing node configuration details of device-model graph. |
errorDetected | A pointer to a bool variable to indicate an DRC error is found. |
void deviceModelDRC_CheckFuncCellConnectivity | ( | DirectedGraph * | G, |
std::map< int, NodeConfig > * | gConfig, | ||
bool * | errorDetected ) |
Check if FuncCells in the Device Model Graph is connected to other FuncCell. If any two FuncCell does not have a path, this means that the graph is disjointed.
G | A pointer to the device-model graph. |
gConfig | A map containing node configuration details of device-model graph. |
errorDetected | A pointer to a bool variable to indicate an DRC error is found. |
void deviceModelDRC_VerifyPinNodes | ( | DirectedGraph * | G, |
std::map< int, NodeConfig > * | gConfig, | ||
bool * | errorDetected ) |
Input PinCell nodes in the Device Model Graph must have one fanout edges that is connected to a funcCell. While output PinCell nodes in the Device Model Graph must also have one fanin edges that is also connected to a funcCells
G | A pointer to the device-model graph. |
gConfig | A map containing node configuration details of device-model graph. |
errorDetected | A pointer to a bool variable to indicate an DRC error is found. |
double runDRC | ( | DirectedGraph * | H, |
DirectedGraph * | G, | ||
std::map< int, NodeConfig > * | hConfig, | ||
std::map< int, NodeConfig > * | gConfig, | ||
int | drc_verbose_level ) |
Main DRC function that run through all DRC rules check for both H and G graph seen above
H | A pointer to the application-model graph. |
G | A pointer to the device-model graph. |
hConfig | A map containing node configuration details of application-model graph. |
gConfig | A map containing node configuration details of device-model graph. |