Add dff_buf and dff_array modules.

This commit is contained in:
Matt Guthaus 2018-03-05 16:24:54 -08:00
parent a2514878c1
commit c020d74f26
3 changed files with 6 additions and 7 deletions

View File

@ -62,9 +62,9 @@ class dff_array(design.design):
mod=self.dff, mod=self.dff,
offset=base, offset=base,
mirror=mirror) mirror=mirror)
self.connect_inst(["din[{0}][{1}]".format(x,y), self.connect_inst([self.get_din_name(y,x),
"dout[{0}][{1}]".format(x,y), self.get_dout_name(y,x),
"dout_bar[{0}][{1}]".format(x,y), self.get_dout_bar_name(y,x),
"clk", "clk",
"vdd", "vdd",
"gnd"]) "gnd"])
@ -159,7 +159,7 @@ class dff_array(design.design):
else: else:
self.add_layout_pin(text="clk", self.add_layout_pin(text="clk",
layer="metal3", layer="metal3",
offset=clk_pin.ll().scale(0,1), offset=vector(0,0),
width=self.width, width=self.width,
height=self.m3_width) height=self.m3_width)
for x in range(self.columns): for x in range(self.columns):
@ -172,7 +172,7 @@ class dff_array(design.design):
height=self.height) height=self.height)
# Drop a via to the M3 pin # Drop a via to the M3 pin
self.add_via_center(layers=("metal2","via2","metal3"), self.add_via_center(layers=("metal2","via2","metal3"),
offset=clk_pin.center()) offset=clk_pin.center().scale(1,0))

View File

@ -86,8 +86,7 @@ class dff_buf(design.design):
z1_pin = self.inv1_inst.get_pin("Z") z1_pin = self.inv1_inst.get_pin("Z")
a2_pin = self.inv2_inst.get_pin("A") a2_pin = self.inv2_inst.get_pin("A")
mid_point = vector(z1_pin.cx(), a2_pin.cy()) mid_point = vector(z1_pin.cx(), a2_pin.cy())
self.add_wire(("metal1","via1","metal2"), self.add_path("metal1", [z1_pin.center(), mid_point, a2_pin.center()])
[z1_pin.center(), mid_point, a2_pin.center()])
def add_layout_pins(self): def add_layout_pins(self):

Binary file not shown.