fuzzers: Add meta fuzzer to add BOOTADDR config word Signed-off-by: Jens Andersen <jens.andersen@gmail.com>
diff --git a/fuzzers/ECP5/144-bootaddr/fuzzer.py b/fuzzers/ECP5/144-bootaddr/fuzzer.py new file mode 100644 index 0000000..c42eb7d --- /dev/null +++ b/fuzzers/ECP5/144-bootaddr/fuzzer.py
@@ -0,0 +1,45 @@ +import pytrellis + +# BOOTADDR is bit 23..16 of the address for the next image to boot +# when PROGRAMN is asserted. +# This Config word is as far as I can tell never generated by +# Diamond itself, but instead by the Deployment tool +# For this reason, I have manually "fuzzed" the info for it. +# The name is arbitrarily chosen. + + +def main(): + pytrellis.load_database("../../../database") + + config = [ + (46, 1, 0), + (48, 1, 0), + (50, 1, 0), + (54, 1, 0), + (56, 1, 0), + (58, 1, 0), + (60, 1, 0), + (62, 1, 0), + ] + + tile = pytrellis.get_tile_bitdata( + pytrellis.TileLocator("ECP5", "LFE5U-25F", "EFB1_PICB1")) + wsb = pytrellis.WordSettingBits() + wsb.name = "BOOTADDR" + + for bframe, bbit, inv in config: + bg = pytrellis.BitGroup() + cb = pytrellis.ConfigBit() + cb.frame = bframe + cb.bit = bbit + cb.inv = inv + bg.bits.add(cb) + wsb.bits.append(bg) + wsb.defval.append(False) + + tile.add_setting_word(wsb) + tile.save() + + +if __name__ == "__main__": + main()