move accuracy_requirement from techfile to config

This commit is contained in:
jcirimel 2020-06-25 06:44:07 -07:00
parent 812cf11e95
commit 59562f2b92
4 changed files with 7 additions and 7 deletions

View File

@ -58,7 +58,7 @@ class options(optparse.Values):
delay_chain_stages = 9
delay_chain_fanout_per_stage = 4
accuracy_requirement = 0.75
###################
# Debug options.

View File

@ -15,7 +15,7 @@ from vector import vector
from globals import OPTS
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):
@ -372,7 +372,7 @@ class pgate(design.design):
select = -1
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
break
if select == -1:

View File

@ -20,7 +20,7 @@ from sram_factory import factory
from errors import drc_error
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):
@ -169,13 +169,13 @@ class pinv(pgate.pgate):
valid_pmos = []
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.sort(key = operator.itemgetter(1))
valid_nmos = []
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.sort(key = operator.itemgetter(1))

View File

@ -14,7 +14,7 @@ from globals import OPTS
from sram_factory import factory
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):