Convert wordline driver to use sized pdriver

This commit is contained in:
Matt Guthaus 2019-01-24 10:20:23 -08:00
parent 091b4e4c62
commit 8f56953af0
3 changed files with 9 additions and 5 deletions

View File

@ -446,7 +446,8 @@ class bank(design.design):
self.add_mod(self.row_decoder)
self.wordline_driver = factory.create(module_type="wordline_driver",
rows=self.num_rows)
rows=self.num_rows,
cols=self.num_cols)
self.add_mod(self.wordline_driver)
self.inv = factory.create(module_type="pinv")

View File

@ -15,10 +15,11 @@ class wordline_driver(design.design):
Generates the wordline-driver to drive the bitcell
"""
def __init__(self, name, rows):
def __init__(self, name, rows, cols):
design.design.__init__(self, name)
self.rows = rows
self.cols = cols
self.create_netlist()
if not OPTS.netlist_only:
@ -52,7 +53,9 @@ class wordline_driver(design.design):
# This is just used for measurements,
# so don't add the module
self.inv = factory.create(module_type="pinv")
self.inv = factory.create(module_type="pdriver",
fanout=self.cols,
neg_polarity=True)
self.add_mod(self.inv)
self.inv_no_output = factory.create(module_type="pinv",

View File

@ -22,7 +22,7 @@ class wordline_driver_test(openram_test):
# check wordline driver for single port
debug.info(2, "Checking driver")
tx = wordline_driver.wordline_driver(name="wld1", rows=8)
tx = wordline_driver.wordline_driver(name="wld1", rows=8, cols=32)
self.local_check(tx)
# check wordline driver for multi-port
@ -33,7 +33,7 @@ class wordline_driver_test(openram_test):
factory.reset()
debug.info(2, "Checking driver (multi-port case)")
tx = wordline_driver.wordline_driver(name="wld2", rows=8)
tx = wordline_driver.wordline_driver(name="wld2", rows=8, cols=64)
self.local_check(tx)
globals.end_openram()