From c09005dab9ec1b4ed004e0b84be50fe61ce530ba Mon Sep 17 00:00:00 2001 From: Matt Guthaus Date: Sat, 10 Aug 2019 17:32:36 -0700 Subject: [PATCH] Redo logic for detecting bad bitlines --- compiler/characterizer/delay.py | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/compiler/characterizer/delay.py b/compiler/characterizer/delay.py index c4afc8a1..65bc0b78 100644 --- a/compiler/characterizer/delay.py +++ b/compiler/characterizer/delay.py @@ -800,6 +800,8 @@ class delay(simulation): debug.info(2,"{}={}".format(meas.name,val)) + dout_success = True + bl_success = False for meas in self.dout_volt_meas: val = meas.retrieve_measure(port=port) debug.info(2,"{}={}".format(meas.name, val)) @@ -813,15 +815,7 @@ class delay(simulation): dout_success = False debug.info(1, "Debug measurement failed. Value {}V was read on read 0 cycle.".format(val)) bl_success = self.check_bitline_meas(br_vals[sram_op.READ_ONE], bl_vals[sram_op.READ_ONE]) - elif meas.meta_str == sram_op.READ_ONE and val > self.vdd_voltage*0.9: - dout_success = True - bl_success = True - elif meas.meta_str == sram_op.READ_ZERO and val < self.vdd_voltage*0.1: - dout_success = True - bl_success = True - else: - dout_success = False - bl_success = False + # If the bitlines have a correct value while the output does not then that is a # sen error. FIXME: there are other checks that can be done to solidfy this conclusion. if not dout_success and bl_success: