mirror of https://github.com/VLSIDA/OpenRAM.git
move accuracy_requirement from techfile to config
This commit is contained in:
parent
812cf11e95
commit
59562f2b92
|
|
@ -58,7 +58,7 @@ class options(optparse.Values):
|
||||||
delay_chain_stages = 9
|
delay_chain_stages = 9
|
||||||
delay_chain_fanout_per_stage = 4
|
delay_chain_fanout_per_stage = 4
|
||||||
|
|
||||||
|
accuracy_requirement = 0.75
|
||||||
|
|
||||||
###################
|
###################
|
||||||
# Debug options.
|
# Debug options.
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@ from vector import vector
|
||||||
from globals import OPTS
|
from globals import OPTS
|
||||||
|
|
||||||
if(OPTS.tech_name == "sky130"):
|
if(OPTS.tech_name == "sky130"):
|
||||||
from tech import nmos_bins, pmos_bins, accuracy_requirement
|
from tech import nmos_bins, pmos_bins
|
||||||
|
|
||||||
|
|
||||||
class pgate(design.design):
|
class pgate(design.design):
|
||||||
|
|
@ -372,7 +372,7 @@ class pgate(design.design):
|
||||||
|
|
||||||
select = -1
|
select = -1
|
||||||
for i in reversed(range(0, len(scaled_bins))):
|
for i in reversed(range(0, len(scaled_bins))):
|
||||||
if abs(target_width - scaled_bins[i])/target_width <= 1-accuracy_requirement:
|
if abs(target_width - scaled_bins[i])/target_width <= 1-OPTS.accuracy_requirement:
|
||||||
select = i
|
select = i
|
||||||
break
|
break
|
||||||
if select == -1:
|
if select == -1:
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ from sram_factory import factory
|
||||||
from errors import drc_error
|
from errors import drc_error
|
||||||
|
|
||||||
if(OPTS.tech_name == "sky130"):
|
if(OPTS.tech_name == "sky130"):
|
||||||
from tech import nmos_bins, pmos_bins, accuracy_requirement
|
from tech import nmos_bins, pmos_bins
|
||||||
|
|
||||||
|
|
||||||
class pinv(pgate.pgate):
|
class pinv(pgate.pgate):
|
||||||
|
|
@ -169,13 +169,13 @@ class pinv(pgate.pgate):
|
||||||
|
|
||||||
valid_pmos = []
|
valid_pmos = []
|
||||||
for bin in pmos_bins:
|
for bin in pmos_bins:
|
||||||
if abs(self.bin_accuracy(self.pmos_width, bin[0])) > accuracy_requirement and abs(self.bin_accuracy(self.pmos_width, bin[0])) <= 1:
|
if abs(self.bin_accuracy(self.pmos_width, bin[0])) > OPTS.accuracy_requirement and abs(self.bin_accuracy(self.pmos_width, bin[0])) <= 1:
|
||||||
valid_pmos.append(bin)
|
valid_pmos.append(bin)
|
||||||
valid_pmos.sort(key = operator.itemgetter(1))
|
valid_pmos.sort(key = operator.itemgetter(1))
|
||||||
|
|
||||||
valid_nmos = []
|
valid_nmos = []
|
||||||
for bin in nmos_bins:
|
for bin in nmos_bins:
|
||||||
if abs(self.bin_accuracy(self.nmos_width, bin[0])) > accuracy_requirement and abs(self.bin_accuracy(self.nmos_width, bin[0])) <= 1:
|
if abs(self.bin_accuracy(self.nmos_width, bin[0])) > OPTS.accuracy_requirement and abs(self.bin_accuracy(self.nmos_width, bin[0])) <= 1:
|
||||||
valid_nmos.append(bin)
|
valid_nmos.append(bin)
|
||||||
valid_nmos.sort(key = operator.itemgetter(1))
|
valid_nmos.sort(key = operator.itemgetter(1))
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ from globals import OPTS
|
||||||
from sram_factory import factory
|
from sram_factory import factory
|
||||||
|
|
||||||
if(OPTS.tech_name == "sky130"):
|
if(OPTS.tech_name == "sky130"):
|
||||||
from tech import nmos_bins, pmos_bins, accuracy_requirement
|
from tech import nmos_bins, pmos_bins
|
||||||
|
|
||||||
|
|
||||||
class pinv_dec(pinv.pinv):
|
class pinv_dec(pinv.pinv):
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue