[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
http://bugs.libre-riscv.org/show_bug.cgi?id=217
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.
examples:
* 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
side.
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