blob: 6b44032f9e4f0abdd85e7a27e2d68d128b0fbd1a [file] [log] [blame]
from collections import defaultdict
from fuzzconfig import FuzzConfig
import interconnect
import nets
import pytrellis
import re
import mk_nets
jobs = [
# Global mux connections. The relevant tiles were inferred from the
# center_mux experiment.
("fixed", FuzzConfig(job="GLOBAL_MUX", family="MachXO2", device="LCMXO2-1200HC", ncl="center-mux.ncl",
tiles=["CENTER9:CENTER8", "CENTER8:CENTER7", "CENTER7:CENTER6",
"CENTER6:CENTER_EBR_CIB", "CENTER5:CENTER5"])),
# ("ignored", FuzzConfig(job="GLOBAL_MUX", family="MachXO2", device="LCMXO2-1200HC", ncl="center-mux.ncl",
# tiles=["CENTER6:CENTER_EBR_CIB", "CENTER5:CENTER5", "CENTER4:CENTER4"])),
# Fixed connections within the global mux (as well as
# direction select).
("muxed", FuzzConfig(job="GLOBAL_FIXED", family="MachXO2", device="LCMXO2-1200HC", ncl="center-mux.ncl",
tiles=["CENTER6:CENTER_EBR_CIB"])),
]
def main():
pytrellis.load_database("../../../database")
for job in jobs:
net_id, cfg = job
cfg.setup()
netnames = mk_nets.nets[net_id]
interconnect.fuzz_interconnect_with_netnames(config=cfg, netnames=netnames,
netname_filter_union=False,
netdir_override=defaultdict(lambda : str("sink")),
bias=1)
# TODO: R6C13_JA0 --> R6C13_JCE0_DCC. But TCL also claims
# R6C13_CLKI0_DCC --> R6C13_CLKO0_DCC (pseudo = 1). Contradiction?
# From talking to Dave: No it's not a contradiction. A
# config bit controls whether JCE0 has any effect.
# interconnect.fuzz_interconnect_with_netnames(config=cfg, netnames=["R6C13_CLKI0_DCC", "R6C13_CLKO0_DCC", "R6C13_JCE0_DCC"],
# netname_filter_union=False,
# netdir_override = {
# "R6C13_JCE0_DCC" : "sink",
# },
# full_mux_style=True,
# bias=1)
if __name__ == "__main__":
main()