Skip to content

Commit

Permalink
Merge pull request The-OpenROAD-Project#5582 from eder-matheus/grt_bu…
Browse files Browse the repository at this point in the history
…ffer_removal

grt: support remove buffers
  • Loading branch information
eder-matheus authored Aug 20, 2024
2 parents 16b33c7 + 7d26972 commit 42ba30d
Show file tree
Hide file tree
Showing 28 changed files with 6,885 additions and 72 deletions.
36 changes: 27 additions & 9 deletions src/grt/include/grt/GlobalRouter.h
Original file line number Diff line number Diff line change
Expand Up @@ -188,7 +188,7 @@ class GlobalRouter : public ant::GlobalRouteSource
void saveGuides();
void writeSegments(const char* file_name);
void readSegments(const char* file_name);
void netIsCovered(Net* net, const GRoute& segments);
bool netIsCovered(odb::dbNet* db_net, std::string& pins_not_covered);
bool segmentIsLine(const GSegment& segment);
bool isConnected(odb::dbNet* net);
bool segmentsConnect(const GSegment& segment1, const GSegment& segment2);
Expand Down Expand Up @@ -227,6 +227,21 @@ class GlobalRouter : public ant::GlobalRouteSource

void addNetToRoute(odb::dbNet* db_net);
std::vector<odb::dbNet*> getNetsToRoute();
void mergeNetsRouting(odb::dbNet* db_net1, odb::dbNet* db_net2);
void connectRouting(odb::dbNet* db_net1, odb::dbNet* db_net2);
void findBufferPinPostions(Net* net1,
Net* net2,
odb::Point& pin_pos1,
odb::Point& pin_pos2);
int findTopLayerOverPosition(const odb::Point& pin_pos, const GRoute& route);
std::vector<GSegment> createConnectionForPositions(const odb::Point& pin_pos1,
const odb::Point& pin_pos2,
int layer1,
int layer2);
void insertViasForConnection(std::vector<GSegment>& connection,
const odb::Point& via_pos,
int layer,
int conn_layer);

void getBlockage(odb::dbTechLayer* layer,
int x,
Expand Down Expand Up @@ -363,6 +378,7 @@ class GlobalRouter : public ant::GlobalRouteSource
int min_routing_layer,
int max_routing_layer);
void print(GRoute& route);
void printSegment(const GSegment& segment);
void reportLayerSettings(int min_routing_layer, int max_routing_layer);
void reportResources();
void reportCongestion();
Expand Down Expand Up @@ -504,17 +520,19 @@ class GRouteDbCbk : public odb::dbBlockCallBackObj
{
public:
GRouteDbCbk(GlobalRouter* grouter);
virtual void inDbPostMoveInst(odb::dbInst* inst);
virtual void inDbInstSwapMasterAfter(odb::dbInst* inst);
void inDbPostMoveInst(odb::dbInst* inst) override;
void inDbInstSwapMasterAfter(odb::dbInst* inst) override;

virtual void inDbNetDestroy(odb::dbNet* net);
virtual void inDbNetCreate(odb::dbNet* net);
void inDbNetDestroy(odb::dbNet* net) override;
void inDbNetCreate(odb::dbNet* net) override;
void inDbNetPreMerge(odb::dbNet* preserved_net,
odb::dbNet* removed_net) override;

virtual void inDbITermPreDisconnect(odb::dbITerm* iterm);
virtual void inDbITermPostConnect(odb::dbITerm* iterm);
void inDbITermPreDisconnect(odb::dbITerm* iterm) override;
void inDbITermPostConnect(odb::dbITerm* iterm) override;

virtual void inDbBTermPostConnect(odb::dbBTerm* bterm);
virtual void inDbBTermPreDisconnect(odb::dbBTerm* bterm);
void inDbBTermPostConnect(odb::dbBTerm* bterm) override;
void inDbBTermPreDisconnect(odb::dbBTerm* bterm) override;

private:
void instItermsDirty(odb::dbInst* inst);
Expand Down
Loading

0 comments on commit 42ba30d

Please sign in to comment.