From 793a74efb80abf31c9e52a46fb7ee764b5dc9665 Mon Sep 17 00:00:00 2001 From: John McMaster Date: Mon, 10 Dec 2018 16:10:25 -0800 Subject: [PATCH] iob: Y0/Y1 segs Signed-off-by: John McMaster --- prjxray/segmaker.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/prjxray/segmaker.py b/prjxray/segmaker.py index 26d63f93..9d812c86 100644 --- a/prjxray/segmaker.py +++ b/prjxray/segmaker.py @@ -251,6 +251,18 @@ class Segmaker: else: assert False, "Invalid name in %s" % site + def name_y0y1(): + # RAMB18_X0Y41 + m = re.match(r"^(.*)_X.*Y[0-9]*[02468]$", site) + if m: + return "%s_Y0" % m.group(1) + + m = re.match(r"^(.*)_X.*Y[0-9]*[13579]$", site) + if m: + return "%s_Y1" % m.group(1) + + assert 0, site + def name_default(): # most sites are unique within their tile # TODO: maybe verify against DB? @@ -259,6 +271,7 @@ class Segmaker: sitekey = { 'SLICE': name_slice, 'RAMB18': name_bram18, + 'IOB': name_y0y1, }.get(site_prefix, name_default)() self.verbose and print( 'site %s w/ %s prefix => tag %s' %