| 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() |