From 353a3385056a9637d31a9c9d125bc284c811a876 Mon Sep 17 00:00:00 2001 From: Tim 'mithro' Ansell Date: Wed, 30 May 2018 12:41:51 -0700 Subject: Support both `abc/123` and `123` forms of specifying tracks. Kind of fixes #145. --- icebox/icebox_hlc2asc.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'icebox') diff --git a/icebox/icebox_hlc2asc.py b/icebox/icebox_hlc2asc.py index 0982942..a8b7a30 100755 --- a/icebox/icebox_hlc2asc.py +++ b/icebox/icebox_hlc2asc.py @@ -805,6 +805,13 @@ class LogicCell: self.seq_bits[3] = '1' elif len(fields) >= 3 and (fields[1] == '->' or fields[1] == '<->'): prefix = 'lutff_%d/' % self.index + + # Strip prefix if it is given + if fields[0].startswith(prefix): + fields[0] = fields[0][len(prefix):] + if fields[-1].startswith(prefix): + fields[-1] = fields[-1][len(prefix):] + if fields[0] == 'out': self.tile.read([prefix + fields[0]] + fields[1:]) elif fields[-1].startswith('in_'): @@ -955,6 +962,13 @@ class IOBlock: self.tile.ic.extra_bits.add(bit[0]) elif len(fields) >= 3 and (fields[1] == '->' or fields[1] == '<->'): prefix = 'io_%d/' % self.index + + # Strip prefix if it is given + if fields[0].startswith(prefix): + fields[0] = fields[0][len(prefix):] + if fields[-1].startswith(prefix): + fields[-1] = fields[-1][len(prefix):] + if fields[0] in ('D_IN_0', 'D_IN_1'): self.tile.read([prefix + fields[0]] + fields[1:]) elif fields[-1] in ('cen', -- cgit v1.2.3