From f7e9fec63a3f88bee8c27e858da319ea03d68d14 Mon Sep 17 00:00:00 2001 From: Tim 'mithro' Ansell Date: Wed, 30 May 2018 13:05:20 -0700 Subject: Allow prefixes in multiple chained statements. IE ``` lutff_1 { lutff_1/out -> local_g2_1 -> lutff_1/in_0 local_g2_2 -> lutff_1/in_3 local_g2_7 -> lutff_1/in_2 } ``` --- icebox/icebox_hlc2asc.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/icebox/icebox_hlc2asc.py b/icebox/icebox_hlc2asc.py index a8b7a30..97a0386 100755 --- a/icebox/icebox_hlc2asc.py +++ b/icebox/icebox_hlc2asc.py @@ -803,7 +803,11 @@ class LogicCell: self.seq_bits[2] = '1' elif fields == ['async_setreset']: self.seq_bits[3] = '1' - elif len(fields) >= 3 and (fields[1] == '->' or fields[1] == '<->'): + elif len(fields) > 3 and (fields[1] == '->' or fields[1] == '<->'): + self.read(fields[:3]) + self.read(fields[2:]) + return + elif len(fields) == 3 and (fields[1] == '->' or fields[1] == '<->'): prefix = 'lutff_%d/' % self.index # Strip prefix if it is given @@ -960,7 +964,10 @@ class IOBlock: == ("padin_glb_netwk", fields[2][10:])] assert len(bit) == 1 self.tile.ic.extra_bits.add(bit[0]) - elif len(fields) >= 3 and (fields[1] == '->' or fields[1] == '<->'): + elif len(fields) > 3 and (fields[1] == '->' or fields[1] == '<->'): + self.read(fields[:3]) + self.read(fields[2:]) + elif len(fields) == 3 and (fields[1] == '->' or fields[1] == '<->'): prefix = 'io_%d/' % self.index # Strip prefix if it is given -- cgit v1.2.3