Fixed bit shift amount error. Removed rotate flag for Calibre.

This commit is contained in:
Matt Guthaus 2018-09-04 17:27:50 -07:00
parent 73e2bd2653
commit 8ffdcdf277
2 changed files with 9 additions and 6 deletions

View File

@ -847,10 +847,10 @@ class layout(lef.lef):
""" """
self.add_via_center(layers=("metal1", "via1", "metal2"), self.add_via_center(layers=("metal1", "via1", "metal2"),
offset=loc, offset=loc,
rotate=rotate) rotate=float(rotate))
via=self.add_via_center(layers=("metal2", "via2", "metal3"), via=self.add_via_center(layers=("metal2", "via2", "metal3"),
offset=loc, offset=loc,
rotate=rotate) rotate=float(rotate))
self.add_layout_pin_rect_center(text=name, self.add_layout_pin_rect_center(text=name,
layer="metal3", layer="metal3",
offset=loc, offset=loc,

View File

@ -280,8 +280,11 @@ class Gds2writer:
if(thisSref.transFlags!=""): if(thisSref.transFlags!=""):
idBits=b'\x1A\x01' idBits=b'\x1A\x01'
mirrorFlag = int(thisSref.transFlags[0])<<15 mirrorFlag = int(thisSref.transFlags[0])<<15
rotateFlag = int(thisSref.transFlags[2])<<1 # FIXME: For some reason, Calibre doesn't like when this flag is set
magnifyFlag = int(thisSref.transFlags[1])<<3 # but it will still pay attention to the rotate value!
#rotateFlag = int(thisSref.transFlags[2])<<1
rotateFlag=0
magnifyFlag = int(thisSref.transFlags[1])<<2
transFlags = struct.pack(">H",mirrorFlag|rotateFlag|magnifyFlag) transFlags = struct.pack(">H",mirrorFlag|rotateFlag|magnifyFlag)
self.writeRecord(idBits+transFlags) self.writeRecord(idBits+transFlags)
if(thisSref.transFlags[1]): if(thisSref.transFlags[1]):
@ -328,7 +331,7 @@ class Gds2writer:
idBits=b'\x1A\x01' idBits=b'\x1A\x01'
mirrorFlag = int(thisAref.transFlags[0])<<15 mirrorFlag = int(thisAref.transFlags[0])<<15
rotateFlag = int(thisAref.transFlags[2])<<1 rotateFlag = int(thisAref.transFlags[2])<<1
magnifyFlag = int(thisAref.transFlags[1])<<3 magnifyFlag = int(thisAref.transFlags[1])<<2
transFlags = struct.pack(">H",mirrorFlag|rotateFlag|magnifyFlag) transFlags = struct.pack(">H",mirrorFlag|rotateFlag|magnifyFlag)
self.writeRecord(idBits+transFlags) self.writeRecord(idBits+transFlags)
if(thisAref.transFlags[1]): if(thisAref.transFlags[1]):
@ -375,7 +378,7 @@ class Gds2writer:
idBits=b'\x1A\x01' idBits=b'\x1A\x01'
mirrorFlag = int(thisText.transFlags[0])<<15 mirrorFlag = int(thisText.transFlags[0])<<15
rotateFlag = int(thisText.transFlags[2])<<1 rotateFlag = int(thisText.transFlags[2])<<1
magnifyFlag = int(thisText.transFlags[1])<<3 magnifyFlag = int(thisText.transFlags[1])<<2
transFlags = struct.pack(">H",mirrorFlag|rotateFlag|magnifyFlag) transFlags = struct.pack(">H",mirrorFlag|rotateFlag|magnifyFlag)
self.writeRecord(idBits+transFlags) self.writeRecord(idBits+transFlags)
if(thisText.transFlags[1]): if(thisText.transFlags[1]):