mirror of https://github.com/openXC7/prjxray.git
timfuz: ALLOW_ZERO_EQN
Signed-off-by: John McMaster <johndmcmaster@gmail.com>
This commit is contained in:
parent
e148ed5f91
commit
2ad0bf82fc
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
TIMFUZ_DIR=$(XRAY_DIR)/fuzzers/007-timing
|
||||
CORNER=slow_max
|
||||
ALLOW_ZERO_EQN?=N
|
||||
|
||||
all: build/$(CORNER)/tilea.json
|
||||
|
||||
|
|
@ -20,6 +21,9 @@ clean:
|
|||
build/$(CORNER):
|
||||
mkdir build/$(CORNER)
|
||||
|
||||
build/checksub:
|
||||
false
|
||||
|
||||
build/$(CORNER)/leastsq.csv: build/sub.json build/grouped.csv build/checksub build/$(CORNER)
|
||||
# Create a rough timing model that approximately fits the given paths
|
||||
python3 $(TIMFUZ_DIR)/solve_leastsq.py --sub-json build/sub.json build/grouped.csv --corner $(CORNER) --out build/$(CORNER)/leastsq.csv.tmp
|
||||
|
|
@ -27,7 +31,7 @@ build/$(CORNER)/leastsq.csv: build/sub.json build/grouped.csv build/checksub bui
|
|||
|
||||
build/$(CORNER)/linprog.csv: build/$(CORNER)/leastsq.csv build/grouped.csv
|
||||
# Tweak rough timing model, making sure all constraints are satisfied
|
||||
python3 $(TIMFUZ_DIR)/solve_linprog.py --sub-json build/sub.json --sub-csv build/$(CORNER)/leastsq.csv --massage build/grouped.csv --corner $(CORNER) --out build/$(CORNER)/linprog.csv.tmp
|
||||
ALLOW_ZERO_EQN=$(ALLOW_ZERO_EQN) python3 $(TIMFUZ_DIR)/solve_linprog.py --sub-json build/sub.json --sub-csv build/$(CORNER)/leastsq.csv --massage build/grouped.csv --corner $(CORNER) --out build/$(CORNER)/linprog.csv.tmp
|
||||
mv build/$(CORNER)/linprog.csv.tmp build/$(CORNER)/linprog.csv
|
||||
|
||||
build/$(CORNER)/flat.csv: build/$(CORNER)/linprog.csv
|
||||
|
|
|
|||
|
|
@ -1,2 +1,4 @@
|
|||
# so simple that likely no linprog adjustments will be needed
|
||||
ALLOW_ZERO_EQN?=Y
|
||||
include ../project.mk
|
||||
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ SPECIMENS_OK := $(addsuffix /OK,$(SPECIMENS))
|
|||
CSVS := $(addsuffix /timing3.csv,$(SPECIMENS))
|
||||
TIMFUZ_DIR=$(XRAY_DIR)/fuzzers/007-timing
|
||||
RREF_CORNER=slow_max
|
||||
ALLOW_ZERO_EQN?=N
|
||||
|
||||
TILEA_JSONS=build/fast_max/tilea.json build/fast_min/tilea.json build/slow_max/tilea.json build/slow_min/tilea.json
|
||||
|
||||
|
|
|
|||
|
|
@ -142,6 +142,8 @@ def run(fns_in, corner, run_corner, sub_json=None, sub_csv=None, dedup=True, mas
|
|||
try:
|
||||
Ads, b = massage_equations(Ads, b, corner=corner)
|
||||
except SimplifiedToZero:
|
||||
if os.getenv('ALLOW_ZERO_EQN', 'N') != 'Y':
|
||||
raise
|
||||
print('WARNING: simplified to zero equations')
|
||||
Ads = []
|
||||
b = []
|
||||
|
|
|
|||
Loading…
Reference in New Issue