From 3e4d12684455417675e88ec77819af7e34f8f2f4 Mon Sep 17 00:00:00 2001 From: Kavya Sreedhar Date: Fri, 13 Nov 2020 12:22:54 -0800 Subject: [PATCH 1/2] add check for cyc controller, delete extra transform --- lake/utils/parse_clkwork_config.py | 5 ++++- lake/utils/util.py | 15 --------------- 2 files changed, 4 insertions(+), 16 deletions(-) diff --git a/lake/utils/parse_clkwork_config.py b/lake/utils/parse_clkwork_config.py index 969ec870..db61dd1a 100644 --- a/lake/utils/parse_clkwork_config.py +++ b/lake/utils/parse_clkwork_config.py @@ -145,7 +145,10 @@ def map_controller(controller, name): print() # Now transforms ranges and strides - (tform_extent, tform_cyc_strides) = transform_strides_and_ranges(ctrl_ranges, ctrl_cyc_strides, ctrl_dim) + tform_cyc_strides = None + if ctrl_cyc_strt is not None: + (tform_extent, tform_cyc_strides) = transform_strides_and_ranges(ctrl_ranges, ctrl_cyc_strides, ctrl_dim) + tform_in_data_strides = None if ctrl_in_data_strt is not None: (tform_extent, tform_in_data_strides) = transform_strides_and_ranges(ctrl_ranges, ctrl_in_data_strides, ctrl_dim) diff --git a/lake/utils/util.py b/lake/utils/util.py index 71ff5baf..dce97763 100644 --- a/lake/utils/util.py +++ b/lake/utils/util.py @@ -220,21 +220,6 @@ def generate_lake_config_wrapper(configs_list, wrapper.write(line) -def transform_strides_and_ranges(ranges, strides, dimensionality): - assert len(ranges) == len(strides), "Strides and ranges should be same length..." - tform_ranges = [range_item - 2 for range_item in ranges[0:dimensionality]] - range_sub_1 = [range_item - 1 for range_item in ranges] - tform_strides = [strides[0]] - offset = 0 - for i in range(dimensionality - 1): - offset -= (range_sub_1[i] * strides[i]) - tform_strides.append(strides[i + 1] + offset) - for j in range(len(ranges) - dimensionality): - tform_strides.append(0) - tform_ranges.append(0) - return (tform_ranges, tform_strides) - - def safe_wire(gen, w_to, w_from): ''' Wire together two signals of (potentially) mismatched width to From 68d8f17f8d07c254fd600e31a5df43fb9a2fbab0 Mon Sep 17 00:00:00 2001 From: Kavya Sreedhar Date: Fri, 13 Nov 2020 12:27:19 -0800 Subject: [PATCH 2/2] deleted wrong repeat --- lake/utils/parse_clkwork_config.py | 17 ++--------------- lake/utils/util.py | 15 +++++++++++++++ 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/lake/utils/parse_clkwork_config.py b/lake/utils/parse_clkwork_config.py index db61dd1a..d4a573d0 100644 --- a/lake/utils/parse_clkwork_config.py +++ b/lake/utils/parse_clkwork_config.py @@ -1,4 +1,6 @@ import collections +from lake.utils.util import transform_strides_and_ranges + ControllerInfo = collections.namedtuple('ControllerInfo', 'dim extent cyc_stride in_data_stride cyc_strt \ @@ -8,21 +10,6 @@ verbose_controller_info = False -def transform_strides_and_ranges(ranges, strides, dimensionality): - assert len(ranges) == len(strides), "Strides and ranges should be same length..." - tform_ranges = [range_item - 2 for range_item in ranges[0:dimensionality]] - range_sub_1 = [range_item - 1 for range_item in ranges] - tform_strides = [strides[0]] - offset = 0 - for i in range(dimensionality - 1): - offset -= (range_sub_1[i] * strides[i]) - tform_strides.append(strides[i + 1] + offset) - for j in range(len(ranges) - dimensionality): - tform_strides.append(0) - tform_ranges.append(0) - return (tform_ranges, tform_strides) - - def search_for_config(cfg_file, key): lines = cfg_file matches = [l for l in lines if key in l] diff --git a/lake/utils/util.py b/lake/utils/util.py index dce97763..71ff5baf 100644 --- a/lake/utils/util.py +++ b/lake/utils/util.py @@ -220,6 +220,21 @@ def generate_lake_config_wrapper(configs_list, wrapper.write(line) +def transform_strides_and_ranges(ranges, strides, dimensionality): + assert len(ranges) == len(strides), "Strides and ranges should be same length..." + tform_ranges = [range_item - 2 for range_item in ranges[0:dimensionality]] + range_sub_1 = [range_item - 1 for range_item in ranges] + tform_strides = [strides[0]] + offset = 0 + for i in range(dimensionality - 1): + offset -= (range_sub_1[i] * strides[i]) + tform_strides.append(strides[i + 1] + offset) + for j in range(len(ranges) - dimensionality): + tform_strides.append(0) + tform_ranges.append(0) + return (tform_ranges, tform_strides) + + def safe_wire(gen, w_to, w_from): ''' Wire together two signals of (potentially) mismatched width to