mirror of https://github.com/openXC7/prjxray.git
Add CASCOUT_*_ACTIVE bits.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
This commit is contained in:
parent
1e410e6fdd
commit
629847200b
|
|
@ -1,6 +1,7 @@
|
||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
from prjxray.segmaker import Segmaker
|
from prjxray.segmaker import Segmaker
|
||||||
|
import re
|
||||||
|
|
||||||
segmk = Segmaker("design.bits")
|
segmk = Segmaker("design.bits")
|
||||||
|
|
||||||
|
|
@ -52,12 +53,15 @@ with open("design.txt", "r") as f:
|
||||||
if pnum == 1 or pdir == 0:
|
if pnum == 1 or pdir == 0:
|
||||||
ignpip.add(pip)
|
ignpip.add(pip)
|
||||||
|
|
||||||
|
CASCOUT_RE = re.compile('^BRAM_CASCOUT_ADDR((?:BWR)|(?:ARD))ADDRU([0-9]+)$')
|
||||||
|
|
||||||
for tile, pips_srcs_dsts in tiledata.items():
|
for tile, pips_srcs_dsts in tiledata.items():
|
||||||
tile_type = pips_srcs_dsts["type"]
|
tile_type = pips_srcs_dsts["type"]
|
||||||
pips = pips_srcs_dsts["pips"]
|
pips = pips_srcs_dsts["pips"]
|
||||||
srcs = pips_srcs_dsts["srcs"]
|
srcs = pips_srcs_dsts["srcs"]
|
||||||
dsts = pips_srcs_dsts["dsts"]
|
dsts = pips_srcs_dsts["dsts"]
|
||||||
|
|
||||||
|
active_cascout = set()
|
||||||
for pip, src_dst in pipdata[tile_type].items():
|
for pip, src_dst in pipdata[tile_type].items():
|
||||||
src, dst = src_dst
|
src, dst = src_dst
|
||||||
|
|
||||||
|
|
@ -74,11 +78,20 @@ for tile, pips_srcs_dsts in tiledata.items():
|
||||||
|
|
||||||
if pip in ignpip:
|
if pip in ignpip:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
elif pip in pips:
|
elif pip in pips:
|
||||||
segmk.add_tile_tag(tile, "%s.%s" % (dst, src_no_r), 1)
|
segmk.add_tile_tag(tile, "%s.%s" % (dst, src_no_r), 1)
|
||||||
elif src_dst[1] not in dsts:
|
elif src_dst[1] not in dsts:
|
||||||
segmk.add_tile_tag(tile, "%s.%s" % (dst, src_no_r), 0)
|
segmk.add_tile_tag(tile, "%s.%s" % (dst, src_no_r), 0)
|
||||||
|
|
||||||
|
m = CASCOUT_RE.match(dst)
|
||||||
|
if m and pip in pips:
|
||||||
|
active_cascout.add(m.group(1))
|
||||||
|
|
||||||
|
for group in ['BWR', 'ARD']:
|
||||||
|
segmk.add_tile_tag(tile, 'CASCOUT_{}_ACTIVE'.format(group),
|
||||||
|
group in active_cascout)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
segmk.compile()
|
segmk.compile()
|
||||||
segmk.write()
|
segmk.write()
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue