2010-06-15 03:58:29 -05:00
|
|
|
#include <string>
|
|
|
|
using namespace std;
|
|
|
|
|
|
|
|
#include "vlsisapd/dtr/Techno.h"
|
|
|
|
#include "vlsisapd/dtr/Rules.h"
|
|
|
|
#include "vlsisapd/dtr/Name.h"
|
|
|
|
|
|
|
|
int main(int argc, char * argv[]) {
|
2010-11-17 09:39:03 -06:00
|
|
|
DTR::Techno* techno = new DTR::Techno(DTR::Name("MyTech"), DTR::Name("micro"), DTR::Name("rev.A"));
|
2010-06-15 03:58:29 -05:00
|
|
|
|
2010-06-15 06:29:44 -05:00
|
|
|
techno->addRule (DTR::Name("transistorMinL"), 0.1 , DTR::Name("ref1"));
|
|
|
|
techno->addRule (DTR::Name("transistorMinW"), 0.2 , DTR::Name("ref2"));
|
|
|
|
techno->addRule (DTR::Name("minWidth") , 0.15, DTR::Name("ref3"), DTR::Name("metal1"));
|
|
|
|
techno->addRule (DTR::Name("minSpacing") , 0.2 , DTR::Name("ref4"), DTR::Name("metal1"));
|
|
|
|
techno->addRule (DTR::Name("minSpacing") , 0.1 , DTR::Name("ref5"), DTR::Name("active"), DTR::Name("poly"));
|
|
|
|
techno->addARule(DTR::Name("minExtension") , 0.2 , DTR::Name("ref6"), DTR::Name("poly") , DTR::Name("active"));
|
2010-06-15 03:58:29 -05:00
|
|
|
|
2010-06-15 06:29:44 -05:00
|
|
|
DTR::Rule* rule = techno->addRule(DTR::Name("minArea"), 0.1, DTR::Name("ref7"), DTR::Name("metal1"));
|
2010-06-15 03:58:29 -05:00
|
|
|
rule->setType(DTR::Name("area"));
|
|
|
|
|
|
|
|
techno->writeToFile("./out.dtr.xml");
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|