Better Verilog/VHDL name mixing in the Blif parser.
* Change: In Model::connectSubckts(), when trying to lookup the Hurricane Net from it's Blif name, try first as a VHDL one then after a Verilog to VHDL translation. Especially useful for bits of vectorized names ("signal[X]" --> "signal(X)").
This commit is contained in:
parent
48357c37a9
commit
2ba7bb4fca
|
@ -46,6 +46,7 @@ using namespace CRL;
|
||||||
namespace {
|
namespace {
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
using CRL::NamingScheme;
|
||||||
|
|
||||||
|
|
||||||
//inline bool isAbcAutomaticName ( string name )
|
//inline bool isAbcAutomaticName ( string name )
|
||||||
|
@ -682,13 +683,17 @@ namespace {
|
||||||
Net* net = _cell->getNet( netName );
|
Net* net = _cell->getNet( netName );
|
||||||
Net* masterNet = instance->getMasterCell()->getNet(masterNetName);
|
Net* masterNet = instance->getMasterCell()->getNet(masterNetName);
|
||||||
if(not masterNet) {
|
if(not masterNet) {
|
||||||
ostringstream tmes;
|
Name vlogMasterNetName = NamingScheme::vlogToVhdl( masterNetName, NamingScheme::NoLowerCase );
|
||||||
tmes << "The master net <" << masterNetName << "> hasn't been found "
|
masterNet = instance->getMasterCell()->getNet(vlogMasterNetName);
|
||||||
<< "for instance <" << subckt->getInstanceName() << "> "
|
if(not masterNet) {
|
||||||
<< "of model <" << subckt->getModelName() << ">"
|
ostringstream tmes;
|
||||||
<< "in model <" << getCell()->getName() << ">"
|
tmes << "The master net <" << masterNetName << "> hasn't been found "
|
||||||
<< endl;
|
<< "for instance <" << subckt->getInstanceName() << "> "
|
||||||
throw Error(tmes.str());
|
<< "of model <" << subckt->getModelName() << ">"
|
||||||
|
<< "in model <" << getCell()->getName() << ">"
|
||||||
|
<< endl;
|
||||||
|
throw Error(tmes.str());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Plug* plug = instance->getPlug( masterNet );
|
Plug* plug = instance->getPlug( masterNet );
|
||||||
|
|
Loading…
Reference in New Issue