write_timing_model area
Signed-off-by: James Cherry <cherry@parallaxsw.com>
This commit is contained in:
parent
1d16e23052
commit
b39dd24339
|
|
@ -157,6 +157,21 @@ MakeTimingModel::makeCell()
|
||||||
{
|
{
|
||||||
cell_ = lib_builder_->makeCell(library_, cell_name_, filename_);
|
cell_ = lib_builder_->makeCell(library_, cell_name_, filename_);
|
||||||
cell_->setIsMacro(true);
|
cell_->setIsMacro(true);
|
||||||
|
cell_->setArea(findArea());
|
||||||
|
}
|
||||||
|
|
||||||
|
float
|
||||||
|
MakeTimingModel::findArea()
|
||||||
|
{
|
||||||
|
float area = 0.0;
|
||||||
|
LeafInstanceIterator *leaf_iter = network_->leafInstanceIterator();
|
||||||
|
while (leaf_iter->hasNext()) {
|
||||||
|
const Instance *inst = leaf_iter->next();
|
||||||
|
const LibertyCell *cell = network_->libertyCell(inst);
|
||||||
|
area += cell->area();
|
||||||
|
}
|
||||||
|
delete leaf_iter;
|
||||||
|
return area;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
|
||||||
|
|
@ -57,6 +57,7 @@ public:
|
||||||
private:
|
private:
|
||||||
void makeLibrary();
|
void makeLibrary();
|
||||||
void makeCell();
|
void makeCell();
|
||||||
|
float findArea();
|
||||||
void makePorts();
|
void makePorts();
|
||||||
void checkClock(Clock *clk);
|
void checkClock(Clock *clk);
|
||||||
void findTimingFromInputs();
|
void findTimingFromInputs();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue