[libre-riscv-dev] [Bug 217] New: create a "ring" system which allows pad locations to be specified conveniently

bugzilla-daemon at libre-riscv.org bugzilla-daemon at libre-riscv.org
Thu Mar 12 11:57:17 GMT 2020


            Bug ID: 217
           Summary: create a "ring" system which allows pad locations to
                    be specified conveniently
           Product: Libre Shakti M-Class
           Version: unspecified
          Hardware: PC
                OS: Linux
            Status: CONFIRMED
          Severity: enhancement
          Priority: ---
         Component: Hardware Layout
          Assignee: lkcl at lkcl.net
          Reporter: lkcl at lkcl.net
                CC: libre-riscv-dev at lists.libre-riscv.org
   NLnet milestone: ---

see http://bugs.libre-riscv.org/show_bug.cgi?id=178#c206

we need a way to be able to conveniently and easily specify where, for any
given block, its inputs and output points (known as "Pads") are to be located.


* auto-specifying that all "inputs" (to be identified by a matching pattern in
the pin name "_i") are to go on NORTH, and that all "outputs" (matching the
pattern "_o") are to go on SOUTH

* signals a[0..15] are to go onto the LEFT side of NORTH whilst signals
b[0..15] are to go on to the RIGHT side of NORTH

* signals a[0..15] and b[0..15] are to be interleaved (zip(a,b)) with a spacing
gap of 5 between a[0],b[0] and a spacing gap of *20* between a[0],b[0] and
a[1],b[1] ...

* just as in ioring.py, a list of signals is to be evenly-spaced along a given

that first one might be best done by providing a "helper" routine which returns
a subset of pin signals based on regex pattern-matching (not that i like
regex's but hey)

i don't know whether it's best to suggest this is done by way of one class, or
by way of several classes, or by way of "specifiers" that could end up in a
dictionary (like ioring) or something else.

whatever it is, the way to specify what to do needs to be quite compact, and
easily readable.

You are receiving this mail because:
You are on the CC list for the bug.

More information about the libre-riscv-dev mailing list