diff options
author | David Shah <davey1576@gmail.com> | 2017-11-17 10:06:35 +0000 |
---|---|---|
committer | David Shah <davey1576@gmail.com> | 2017-11-17 15:09:58 +0000 |
commit | e7d22f22777227df18ff9c34e3b663aef04a075b (patch) | |
tree | d43d7f79ae4fa6efa68030a19adedfd8f2cf5af7 | |
parent | cdf688363968ee8895d8e6fe08178cff8fc9ee75 (diff) | |
download | icestorm-e7d22f22777227df18ff9c34e3b663aef04a075b.tar.gz icestorm-e7d22f22777227df18ff9c34e3b663aef04a075b.tar.bz2 icestorm-e7d22f22777227df18ff9c34e3b663aef04a075b.zip |
UltraPlus Internal Oscillator support
-rw-r--r-- | icebox/icebox.py | 22 | ||||
-rwxr-xr-x | icebox/icebox_chipdb.py | 13 |
2 files changed, 34 insertions, 1 deletions
diff --git a/icebox/icebox.py b/icebox/icebox.py index 12e1fca..7628e56 100644 --- a/icebox/icebox.py +++ b/icebox/icebox.py @@ -4438,6 +4438,28 @@ dsp_config_db = { } } +# This contains the data for extra cells not included +# in any previous databases + +extra_cells_db = { + "5k" : { + ("HFOSC", (0, 31, 1)) : { + "CLKHFPU": (0, 29, "lutff_0/in_1"), + "CLKHFEN": (0, 29, "lutff_7/in_3"), + "CLKHF": (0, 29, "glb_netwk_4"), + "CLKHF_FABRIC": (0, 28, "slf_op_7"), + "CLKHF_DIV_1": (0, 16, "CBIT_4"), + "CLKHF_DIV_0": (0, 16, "CBIT_3") + }, + ("LFOSC", (25, 31, 1)) : { + "CLKLFPU": (25, 29, "lutff_0/in_1"), + "CLKLFEN": (25, 29, "lutff_7/in_3"), + "CLKLF": (25, 29, "glb_netwk_5"), + "CLKLF_FABRIC": (25, 29, "slf_op_0") + } + } +} + iotile_full_db = parse_db(iceboxdb.database_io_txt) logictile_db = parse_db(iceboxdb.database_logic_txt, "1k") logictile_5k_db = parse_db(iceboxdb.database_logic_txt, "5k") diff --git a/icebox/icebox_chipdb.py b/icebox/icebox_chipdb.py index 7d75670..ce30153 100755 --- a/icebox/icebox_chipdb.py +++ b/icebox/icebox_chipdb.py @@ -314,7 +314,18 @@ for dsploc in ic.dsp_tiles[0]: cfg = ic.get_dsp_config_db(x, y) for key in sorted(cfg): print("%s %s" % (key, " ".join([str(k) for k in cfg[key]]))) - + print() + +if ic.device in icebox.extra_cells_db: + for cell in icebox.extra_cells_db[ic.device]: + name, loc = cell + x, y, z = loc + print(".extra_cell %d %d %d %s" % (x, y, z, name)) + cellinfo = icebox.extra_cells_db[ic.device][cell] + for key in sorted(cellinfo): + print("%s %s" % (key, " ".join([str(k) for k in cellinfo[key]]))) + print() + print(".extra_bits") extra_bits = dict() for idx in sorted(ic.extra_bits_db()): |