Skip to content

Commit

Permalink
WIP: Adding structures for DFT data sharing
Browse files Browse the repository at this point in the history
Signed-off-by: Felipe Garay <[email protected]>
  • Loading branch information
fgaray committed Nov 15, 2023
1 parent 27065cb commit 48d2b05
Show file tree
Hide file tree
Showing 8 changed files with 172 additions and 0 deletions.
45 changes: 45 additions & 0 deletions src/odb/include/odb/db.h
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,9 @@ class dbModule;
class dbNetTrack;
class dbPowerDomain;
class dbPowerSwitch;
class dbScanInst;
class dbScanPartition;
class dbScanPin;
class dbTechLayer;
class dbTechLayerAreaRule;
class dbTechLayerArraySpacingRule;
Expand Down Expand Up @@ -7515,6 +7518,48 @@ class dbPowerSwitch : public dbObject
// User Code End dbPowerSwitch
};

class dbScanInst : public dbObject
{
public:
enum SCAN_INST_TYPE
{
OneBit,
ShiftRegister,
BlackBox
};
void setBits(uint bits);

uint getBits() const;
};

class dbScanPartition : public dbObject
{
public:
void setStart(dbScanPin start);

dbScanPin getStart() const;

void setStop(dbScanPin stop);

dbScanPin getStop() const;

void setName(std::string name);

std::string getName() const;
};

class dbScanPin : public dbObject
{
public:
void setBterm(dbId<dbBTerm> bterm);

dbId<dbBTerm> getBterm() const;

void setIterm(dbId<dbITerm> iterm);

dbId<dbITerm> getIterm() const;
};

class dbTechLayer : public dbObject
{
public:
Expand Down
3 changes: 3 additions & 0 deletions src/odb/include/odb/dbObject.h
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,9 @@ enum dbObjectType
dbNetTrackObj,
dbPowerDomainObj,
dbPowerSwitchObj,
dbScanInstObj,
dbScanPartitionObj,
dbScanPinObj,
dbTechLayerObj,
dbTechLayerAreaRuleObj,
dbTechLayerArraySpacingRuleObj,
Expand Down
53 changes: 53 additions & 0 deletions src/odb/src/codeGenerator/schema/scan/dbScanChain._json_
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
{
"name": "dbScanChain",
"type": "dbObject",
"fields": [
{
"name": "name",
"type": "char *"
},
{
"name": "length",
"type": "uint"
},
{
"name": "cells",
"type": "dbVector<dbInst>"
},
{
"name": "scanIn",
"type": "dbScanPin"
},
{
"name": "scanOut",
"type": "dbScanPin"
},
{
"name": "scanClock",
"type": "dbScanPin"
},
{
"name": "scanEnable",
"type": "dbScanPin"
},
{
"name": "testMode",
"type": "char *"
},
{
"name": "partitions",
"type": "dbVector<dbScanPartition>"
},
{
"name": "scanInsts",
"type": "dbVector<dbScanInst>"
}
],
"h_includes": [
"dbVector.h",
"dbScanPin.h"
],
"cpp_includes": [
"dbScanPin.h"
]
}
27 changes: 27 additions & 0 deletions src/odb/src/codeGenerator/schema/scan/dbScanInst.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
{
"name": "dbScanInst",
"type": "dbObject",
"fields": [
{
"name": "bits",
"type": "uint"
}
],
"enums": [
{
"name": "SCAN_INST_TYPE",
"public": true,
"values": [
"OneBit",
"ShiftRegister",
"BlackBox"
]
}
],
"h_includes": [
"dbScanPin.h"
],
"cpp_includes": [
"dbScanPin.h"
]
}
24 changes: 24 additions & 0 deletions src/odb/src/codeGenerator/schema/scan/dbScanPartition.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{
"name": "dbScanPartition",
"type": "dbObject",
"fields": [
{
"name": "start",
"type": "dbScanPin"
},
{
"name": "stop",
"type": "dbScanPin"
},
{
"name": "name",
"type": "std::string"
}
],
"h_includes": [
"dbScanPin.h"
],
"cpp_includes": [
"dbScanPin.h"
]
}
14 changes: 14 additions & 0 deletions src/odb/src/codeGenerator/schema/scan/dbScanPin.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"name": "dbScanPin",
"type": "dbObject",
"fields": [
{
"name": "bterm",
"type": "dbId<dbBTerm>"
},
{
"name": "iterm",
"type": "dbId<dbITerm>"
}
]
}
3 changes: 3 additions & 0 deletions src/odb/src/db/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,9 @@ add_library(db
dbNetTrack.cpp
dbPowerDomain.cpp
dbPowerSwitch.cpp
dbScanInst.cpp
dbScanPartition.cpp
dbScanPin.cpp
dbTechLayer.cpp
dbTechLayerAreaRule.cpp
dbTechLayerArraySpacingRule.cpp
Expand Down
3 changes: 3 additions & 0 deletions src/odb/src/db/dbObject.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,9 @@ static const char* name_tbl[] = {"dbDatabase",
"dbNetTrack",
"dbPowerDomain",
"dbPowerSwitch",
"dbScanInst",
"dbScanPartition",
"dbScanPin",
"dbTechLayer",
"dbTechLayerAreaRule",
"dbTechLayerArraySpacingRule",
Expand Down

0 comments on commit 48d2b05

Please sign in to comment.