From: bugzilla-daemon@libre-riscv.org
To: libre-riscv-dev@lists.libre-riscv.org
Subject: [libre-riscv-dev] [Bug 178] first coriolis2 tutorial, workflow and "test project" page
Date: Thu, 12 Mar 2020 11:48:26 +0000
Message-ID: <bug-178-13-K4oVAoZtHY@http.bugs.libre-riscv.org/> (raw)
In-Reply-To: <bug-178-13@http.bugs.libre-riscv.org/>
http://bugs.libre-riscv.org/show_bug.cgi?id=178
--- Comment #206 from Luke Kenneth Casson Leighton <lkcl@lkcl.net> ---
(In reply to Jock Tanner from comment #205)
> (In reply to Luke Kenneth Casson Leighton from comment #204)
> > ermmm ermermerm i like the idea of keeping things in an external file
> >
> > *thinks*... actually, CSV format would be better, because it's 3 lines of
> > code:
> >
> > import csv # standard python library
> > with open(file_path, 'r') as csvfile:
> > return list(csv.DictReader(csvfile))
> >
> > remember, we need to minimise the dependencies (see HDL_workflow, and see
> > discussion we just had!)
> >
> > in CSV format, it could be:
> >
> > SIDE,pinname,offset,comment
> > NORTH,clk,,,
> >
> > the defaults would be, if there is no offset, to make one. the order of
> > the pins in the CSV file would define the order in which they appear on
> > that side.
> >
> > i think that would work really well. later we can consider actually
> > embedding
> > the CSV file contents *into* the docstring (or a function) of the actual
> > nmigen source code.
>
> Looks like I implied too much.
(nono, we're discussing ideas, here. it's just that unlike other projects
which can freely add arbitrary dependencies, we have to be careful and consider
how a particular task may be achieved. the suggestion of doing something that
jinja would *be* suited to was great).
> First of all, I thought of keeping all the ioring logic intact as of a
> requirement,
not a hard one.
> or at least as a generally good approach.
yes.
> That's why I didn't
> consider adding, say, CSV support into 'coriolis2.ioring' or
> 'Configuration.loadConfiguration()'.
no that would be stepping on the toes of the coriolis2 project.
> Second, I don't think that introducing an additional file with a special
> format would do us any good. I suppose that 'coriolis2.ioring' is ok as it
> is for passing pad configuration between stages. If I am just not aware of
> the issues with it, please point me in a right direction.
the issue with ioring.py "as-is", is that the procedure for laying out the pads
is entirely automatic, spaced-out evenly, because it's designed *exclusively*
for doing Quad Flat Packages (QFPs).
what it can't do is something like this:
https://cdn.sparkfun.com/r/600-600/assets/7/a/6/9/c/51c0d009ce395feb33000000.jpg
that's an *uneven* distribution of the pads.
now, if ioring.py was capable of allowing us to specify that "signals a[0..15]
are to be on the LEFT part of the NORTH side", then yes i would say it was
perfect.
this is why i suggested being able to specify the precise location.
> What I did thought is necessary, is to eliminate the need for the user to
> configure the pads at all, or at least to configure them separately from
> top-level logic. I thought we can just set up formal rules (like putting
> pins with names ending on '_i' to the left, '_o' − to the right), and
> implement the reusable 'create_pads()' to inspect the list of pins according
> to these rules and generate 'coriolis2.ioring'.
hmmm.... that may actually be useful in some cases. i think... i think we need
a class of some kind, with the ability to derive from it and create alternative
layouts.
> Of course, I'm not yet proficient enough in the current workflow to see all
> the right implications. So I have to ask of you to specify my task.
ok, let's discuss this on another bugreport.
--
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
libre-riscv-dev mailing list
libre-riscv-dev@lists.libre-riscv.org
http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev
next prev parent reply index
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <bug-178-13@http.bugs.libre-riscv.org/>
2020-03-11 12:35 ` bugzilla-daemon
2020-03-11 12:45 ` bugzilla-daemon
2020-03-11 12:59 ` bugzilla-daemon
2020-03-11 14:51 ` bugzilla-daemon
2020-03-11 15:35 ` bugzilla-daemon
2020-03-12 11:23 ` bugzilla-daemon
2020-03-12 11:48 ` bugzilla-daemon [this message]
2020-03-12 16:15 ` bugzilla-daemon
2020-03-12 17:14 ` bugzilla-daemon
2020-03-12 17:25 ` bugzilla-daemon
2020-03-13 16:21 ` Cole Poirier
2020-03-15 19:57 ` bugzilla-daemon
2020-03-18 14:38 ` bugzilla-daemon
2020-03-18 15:18 ` bugzilla-daemon
2020-03-18 22:47 ` bugzilla-daemon
2020-03-18 23:41 ` bugzilla-daemon
[not found] <bug-178-13@https.bugs.libre-soc.org/>
2020-04-21 21:00 ` bugzilla-daemon
2020-04-21 21:09 ` bugzilla-daemon
2020-04-21 21:15 ` bugzilla-daemon
2020-04-21 21:28 ` bugzilla-daemon
2020-04-21 21:30 ` Luke Kenneth Casson Leighton
2020-04-21 21:35 ` Cole Poirier
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=bug-178-13-K4oVAoZtHY@http.bugs.libre-riscv.org/ \
--to=bugzilla-daemon@libre-riscv.org \
--cc=libre-riscv-dev@lists.libre-riscv.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Libre RISC-V Mailing list Archives (accessible via public-inbox)
Archives are clonable: git clone --mirror https://inbox.libre-soc.org/libre-riscv-dev
Example config snippet for mirrors
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git