This commit is contained in:
parent
ebb050c99b
commit
d6c2bfe3e4
|
@ -32,7 +32,7 @@ const Name Capacitor::BottomPlateName("BOTTOMPLATE");
|
||||||
const Name Capacitor::TopPlateName("TOPPLATE");
|
const Name Capacitor::TopPlateName("TOPPLATE");
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
const Name Transistor::AnonymousName("ANONYMOUS");
|
const Name Capacitor::AnonymousName("ANONYMOUS");
|
||||||
|
|
||||||
|
|
||||||
//les 4 types des capas unitaire:
|
//les 4 types des capas unitaire:
|
||||||
|
@ -103,6 +103,8 @@ void Capacitor::_postCreate() {
|
||||||
_bottomPlate->setExternal(true);
|
_bottomPlate->setExternal(true);
|
||||||
_topPlate = Net::create(this, TopPlateName);
|
_topPlate = Net::create(this, TopPlateName);
|
||||||
_topPlate->setExternal(true);
|
_topPlate->setExternal(true);
|
||||||
|
// _anonymous = Net::create(this, AnonymousName);
|
||||||
|
|
||||||
|
|
||||||
_topPlate10 = createPad(technology, _topPlate, "topmim6");
|
_topPlate10 = createPad(technology, _topPlate, "topmim6");
|
||||||
_topPlate20 = createPad(technology, _topPlate, "padopen");
|
_topPlate20 = createPad(technology, _topPlate, "padopen");
|
||||||
|
|
|
@ -4,10 +4,42 @@ using namespace Hurricane;
|
||||||
#include "Capacitor.h"
|
#include "Capacitor.h"
|
||||||
#include "MetaCapacitor.h"
|
#include "MetaCapacitor.h"
|
||||||
|
|
||||||
|
const Name MetaCapacitor::BottomPlateName("BOTTOMPLATE");
|
||||||
|
const Name MetaCapacitor::TopPlateName("TOPPLATE");
|
||||||
|
#if 0
|
||||||
|
const Name Capacitor::AnonymousName("ANONYMOUS");
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
MetaCapacitor::MetaCapacitor(Library* library, const Name& name):
|
MetaCapacitor::MetaCapacitor(Library* library, const Name& name):
|
||||||
Device(library, name)
|
Device(library, name),
|
||||||
|
Capacitor::Capacitor(Library* library, const Name& name):
|
||||||
|
AnalogComponent(library, name),
|
||||||
|
_bottomPlate(NULL),
|
||||||
|
_topPlate(NULL),
|
||||||
|
_anonymous(NULL),
|
||||||
|
_l(0), _w(0),
|
||||||
|
_topPlate10(NULL),
|
||||||
|
_topPlate20(NULL),_topPlate30(NULL),
|
||||||
|
_bottomPlate00(NULL)
|
||||||
|
#if 0
|
||||||
|
_anonymous01(NULL),
|
||||||
|
_anonymous11(NULL),
|
||||||
|
_anonymous12(NULL),
|
||||||
|
_anonymous13(NULL),
|
||||||
|
_anonymous21(NULL),
|
||||||
|
_anonymousT11(NULL),
|
||||||
|
_anonymousT12(NULL),
|
||||||
|
_anonymousT13(NULL),
|
||||||
|
_anonymousT14(NULL),
|
||||||
|
_anonymousT21(NULL)
|
||||||
|
#endif
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//Déclaration de la library:
|
||||||
|
//*************************
|
||||||
MetaCapacitor* MetaCapacitor::create(Library* library, const Name& name) {
|
MetaCapacitor* MetaCapacitor::create(Library* library, const Name& name) {
|
||||||
MetaCapacitor* mCapacitor = new MetaCapacitor(library, name);
|
MetaCapacitor* mCapacitor = new MetaCapacitor(library, name);
|
||||||
|
|
||||||
|
@ -16,8 +48,63 @@ MetaCapacitor* MetaCapacitor::create(Library* library, const Name& name) {
|
||||||
return mCapacitor;
|
return mCapacitor;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//création des signaux et des noeuds:
|
||||||
|
//***********************************
|
||||||
void MetaCapacitor::_postCreate() {
|
void MetaCapacitor::_postCreate() {
|
||||||
Inherit::_postCreate();
|
Inherit::_postCreate();
|
||||||
|
|
||||||
|
_bottomPlate = Net::create(this, BottomPlateName);
|
||||||
|
_bottomPlate->setExternal(true);
|
||||||
|
_topPlate = Net::create(this, TopPlateName);
|
||||||
|
_topPlate->setExternal(true);
|
||||||
|
//_anonymous = Net::create(this, AnonymousName);
|
||||||
|
|
||||||
|
_topPlate10 = createPad(technology, _topPlate, "topmim6");
|
||||||
|
_topPlate20 = createPad(technology, _topPlate, "padopen");
|
||||||
|
_topPlate30 = createPad(technology, _topPlate, "alucap");
|
||||||
|
_bottomPlate00 = createPad(technology, _bottomPlate, "botmim6");
|
||||||
|
#if 0
|
||||||
|
|
||||||
|
_anonymous01 = createPad(technology, _anonymous, "Implant");
|
||||||
|
_anonymous11 = createPad(technology, _anonymous, "topmim6");
|
||||||
|
_anonymous12 = createPad(technology, _anonymous, "topmim6");
|
||||||
|
_anonymous13 = createPad(technology, _anonymous, "topmim6");
|
||||||
|
_anonymous21 = createPad(technology, _anonymous, "padopen");
|
||||||
|
_anonymous14 = createPad(technology, _anonymous, "topmim6");
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//La matrice des capas:
|
||||||
|
void MetaTransistor::setMatrix(unsigned m , unsigned n) {
|
||||||
|
assert(_Capacitor.largeur() == _w);
|
||||||
|
assert(getInstances().getlargeur() == _w);
|
||||||
|
assert(_Capacitor.longeur() == _l);
|
||||||
|
assert(getInstances().getlongeur() == _l);
|
||||||
|
|
||||||
|
if (_w != m && _l != n) {
|
||||||
|
UpdateSession::open();
|
||||||
|
if ( (m > _w ) || (n> _l ) ) {
|
||||||
|
Library* library = getLibrary();
|
||||||
|
Transformation transformation;
|
||||||
|
for (unsigned i=_w; i<m; i++)
|
||||||
|
for (unsigned j=_l; j<n; j++){
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
setTerminal(false);
|
setTerminal(false);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue