From 629847200b5e8bf126832fb38ef586a09c0117c5 Mon Sep 17 00:00:00 2001 From: Keith Rothman <537074+litghost@users.noreply.github.com> Date: Tue, 19 Feb 2019 15:46:20 -0800 Subject: [PATCH 1/2] Add CASCOUT_*_ACTIVE bits. Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com> --- fuzzers/060-bram-cascades/generate.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/fuzzers/060-bram-cascades/generate.py b/fuzzers/060-bram-cascades/generate.py index 82b30d46..74953a23 100644 --- a/fuzzers/060-bram-cascades/generate.py +++ b/fuzzers/060-bram-cascades/generate.py @@ -1,6 +1,7 @@ #!/usr/bin/env python3 from prjxray.segmaker import Segmaker +import re segmk = Segmaker("design.bits") @@ -52,12 +53,15 @@ with open("design.txt", "r") as f: if pnum == 1 or pdir == 0: ignpip.add(pip) +CASCOUT_RE = re.compile('^BRAM_CASCOUT_ADDR((?:BWR)|(?:ARD))ADDRU([0-9]+)$') + for tile, pips_srcs_dsts in tiledata.items(): tile_type = pips_srcs_dsts["type"] pips = pips_srcs_dsts["pips"] srcs = pips_srcs_dsts["srcs"] dsts = pips_srcs_dsts["dsts"] + active_cascout = set() for pip, src_dst in pipdata[tile_type].items(): src, dst = src_dst @@ -74,11 +78,20 @@ for tile, pips_srcs_dsts in tiledata.items(): if pip in ignpip: pass - elif pip in pips: segmk.add_tile_tag(tile, "%s.%s" % (dst, src_no_r), 1) elif src_dst[1] not in dsts: segmk.add_tile_tag(tile, "%s.%s" % (dst, src_no_r), 0) + m = CASCOUT_RE.match(dst) + if m and pip in pips: + active_cascout.add(m.group(1)) + + for group in ['BWR', 'ARD']: + segmk.add_tile_tag(tile, 'CASCOUT_{}_ACTIVE'.format(group), + group in active_cascout) + + + segmk.compile() segmk.write() From 8536a176575c58cf5ed7c4183183d2325a9cecc4 Mon Sep 17 00:00:00 2001 From: Keith Rothman <537074+litghost@users.noreply.github.com> Date: Tue, 19 Feb 2019 16:18:20 -0800 Subject: [PATCH 2/2] Run make format. Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com> --- fuzzers/060-bram-cascades/generate.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/fuzzers/060-bram-cascades/generate.py b/fuzzers/060-bram-cascades/generate.py index 74953a23..2dabe338 100644 --- a/fuzzers/060-bram-cascades/generate.py +++ b/fuzzers/060-bram-cascades/generate.py @@ -85,13 +85,11 @@ for tile, pips_srcs_dsts in tiledata.items(): m = CASCOUT_RE.match(dst) if m and pip in pips: - active_cascout.add(m.group(1)) + active_cascout.add(m.group(1)) for group in ['BWR', 'ARD']: - segmk.add_tile_tag(tile, 'CASCOUT_{}_ACTIVE'.format(group), - group in active_cascout) - - + segmk.add_tile_tag( + tile, 'CASCOUT_{}_ACTIVE'.format(group), group in active_cascout) segmk.compile() segmk.write()