| #!/usr/bin/env python3 |
| |
| import sys, os, re |
| |
| sys.path.append("../../../utils/") |
| from segmaker import segmaker |
| |
| tags = dict() |
| en_tags = dict() |
| |
| print("Preload all tags.") |
| for arg in sys.argv[1:]: |
| with open(arg + ".txt", "r") as f: |
| for line in f: |
| tile, pip = line.split() |
| _, pip = pip.split("/") |
| tile_type, pip = pip.split(".") |
| src, dst = pip.split("->>") |
| tag = "%s.%s" % (dst, src) |
| tags[tag] = dst |
| if "HCLK_CK_BUFH" in src: |
| en_tag = "ENABLE_BUFFER.%s" % src |
| en_tags[en_tag] = src |
| |
| for arg in sys.argv[1:]: |
| print("Processing %s." % arg) |
| segmk = segmaker(arg + ".bits") |
| |
| tiledata = dict() |
| pipdata = dict() |
| ignpip = set() |
| |
| with open(arg + ".txt", "r") as f: |
| for line in f: |
| tile, pip = line.split() |
| _, pip = pip.split("/") |
| tile_type, pip = pip.split(".") |
| src, dst = pip.split("->>") |
| tag = "%s.%s" % (dst, src) |
| segmk.addtag(tile, tag, 1) |
| if "HCLK_CK_BUFH" in src: |
| en_tag = "ENABLE_BUFFER.%s" % src |
| segmk.addtag(tile, en_tag, 1) |
| for tag, tag_dst in tags.items(): |
| if tag_dst != dst: |
| segmk.addtag(tile, tag, 0) |
| for en_tag, en_tag_src in en_tags.items(): |
| if en_tag_src != src: |
| segmk.addtag(tile, en_tag, 0) |
| |
| segmk.compile() |
| segmk.write(arg) |