do not export phcons when they were present in the
prepplaced phfig
This commit is contained in:
parent
0118f02c3f
commit
df8da45edd
|
@ -52,9 +52,8 @@ PCon::PCon(const locon* con, PPos pos, char orient)
|
|||
{}
|
||||
|
||||
void
|
||||
PCon::Save(struct phfig *physicalfig, const double dx, const double dy) const
|
||||
{
|
||||
if (!_phcon)
|
||||
PCon::Save(struct phfig *physicalfig, const double dx, const double dy) const {
|
||||
if (!_phcon) {
|
||||
addphcon(physicalfig
|
||||
, _orient
|
||||
, _con->NAME
|
||||
|
@ -62,15 +61,20 @@ PCon::Save(struct phfig *physicalfig, const double dx, const double dy) const
|
|||
, (int)(GetPosY() * PITCH + dy)
|
||||
, _orient==NORTH || _orient == SOUTH ? ALU2 : ALU3
|
||||
, (_orient==NORTH || _orient == SOUTH ? 2 : 1) * (PITCH/5));
|
||||
else
|
||||
addphcon(physicalfig
|
||||
, _phcon->ORIENT
|
||||
, _phcon->NAME
|
||||
, _phcon->XCON
|
||||
, _phcon->YCON
|
||||
, _phcon->LAYER
|
||||
, _phcon->WIDTH
|
||||
);
|
||||
} else {
|
||||
#if 0
|
||||
addphcon(physicalfig,
|
||||
_phcon->ORIENT,
|
||||
_phcon->NAME,
|
||||
_phcon->XCON,
|
||||
_phcon->YCON,
|
||||
_phcon->LAYER,
|
||||
_phcon->WIDTH);
|
||||
//modification 15/07/2008 (xtof)
|
||||
//why should we add the physical connectors
|
||||
//on the existing phfig ?
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -224,14 +224,11 @@ PPlacement::Init(lofig* fig, int NbRows)
|
|||
it = it->NEXT)
|
||||
{
|
||||
locon_list* con = (locon_list*)(it->DATA);
|
||||
if (con->TYPE == EXTERNAL)
|
||||
{
|
||||
if (con->TYPE == EXTERNAL) {
|
||||
if ( (_prePlaceFig && _prePlaceFig->PHCON)
|
||||
|| _placeCons || _ringPlaceCons || _iocFile)
|
||||
{
|
||||
|| _placeCons || _ringPlaceCons || _iocFile) {
|
||||
PConMap::iterator cit = pconmap.find(con->NAME);
|
||||
if (cit != pconmap.end())
|
||||
{
|
||||
if (cit != pconmap.end()) {
|
||||
++totreatinscpt;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -258,13 +258,11 @@ PPlacement::FinalOptimize()
|
|||
// int Save()
|
||||
// ======================================================================
|
||||
int
|
||||
PPlacement::Save()
|
||||
{
|
||||
PPlacement::Save() {
|
||||
char* phfigname;
|
||||
struct phfig* physicalfig;
|
||||
|
||||
if (!_prePlaceFig)
|
||||
{
|
||||
if (!_prePlaceFig) {
|
||||
physicalfig = addphfig(_fileName);
|
||||
phfigname = _fileName;
|
||||
if (_verbose) cout << "NO PREPLACEMENT GIVEN" << endl;
|
||||
|
@ -272,9 +270,7 @@ PPlacement::Save()
|
|||
physicalfig->XAB2 =(int)(BBox.GetMaxX() * PITCH);
|
||||
physicalfig->YAB1 =(int)(BBox.GetMinY() * PITCH);
|
||||
physicalfig->YAB2 =(int)(BBox.GetMaxY() * PITCH);
|
||||
}
|
||||
else
|
||||
{
|
||||
} else {
|
||||
if (_verbose) cout << "PREPLACEMENT GIVEN" << endl;
|
||||
physicalfig = _prePlaceFig;
|
||||
phfigname = physicalfig->NAME;
|
||||
|
@ -291,12 +287,14 @@ PPlacement::Save()
|
|||
}
|
||||
}
|
||||
|
||||
for (PCons::const_iterator cit = _cons.begin(); cit != _cons.end(); cit++)
|
||||
{
|
||||
if (_ringPlaceCons)
|
||||
for (PCons::const_iterator cit = _cons.begin();
|
||||
cit != _cons.end();
|
||||
cit++) {
|
||||
if (_ringPlaceCons) {
|
||||
(*cit)->RingSave(physicalfig, _dx, _dy);
|
||||
else
|
||||
} else {
|
||||
(*cit)->Save(physicalfig, _dx, _dy);
|
||||
}
|
||||
}
|
||||
|
||||
int superr = AddRowend(physicalfig);
|
||||
|
|
Loading…
Reference in New Issue