From: bugzilla-daemon@libre-soc.org
To: libre-riscv-dev@lists.libre-riscv.org
Subject: [libre-riscv-dev] [Bug 217] create a "ring" system which allows pad locations to be specified conveniently
Date: Tue, 21 Apr 2020 15:12:32 +0000
Message-ID: <bug-217-13-sejb7q2yyo@https.bugs.libre-soc.org/> (raw)
In-Reply-To: <bug-217-13@https.bugs.libre-soc.org/>
https://bugs.libre-soc.org/show_bug.cgi?id=217
--- Comment #74 from Luke Kenneth Casson Leighton <lkcl@lkcl.net> ---
(In reply to Jean-Paul.Chaput from comment #73)
> (In reply to Luke Kenneth Casson Leighton from comment #72)
> > ok i managed to:
> >
> > * crush doAluFlat.py down to 465x800
> >
> > * crush doAlu.py down to 520x840
> >
> > visually you can see that there is plenty of room for improvement,
> > it is quite fascinating to examine.
>
> Yes. What would be very informative is to try with increasing size
> of blocks (16, 32, 64, 128 bits) to see if the "flat" advantage
> persists.
fascinating. doAlu16.py - worked immediately (after i worked out that
you have to expand the space down the middle to accommodate the extra
tracks, duh)
took about.... 40 seconds to make the code changes: 600.0 width worked
perfectly (good guess, because, later, trying 590 failed).
doAlu16Flat.py - couldn't find a width that would work, not after trying
about 8 times to expand the width. 600 failed. 700 failed with
a missing config (https://gitlab.lip6.fr/vlsi-eda/coriolis/-/issues/11)
800 failed. 900 failed.
> I'm pretty sure we can further compress with an optimized manual
> routing of the inter-block (especially by using M2+M4 correct
> balance for vertical routing)
honestly i think this experiment has worked really well. the only ways
i would think it worthwhile to expand is in the identification of the
blocks involved in each bit (the muxes).
we do actually need that for another part of the project, because, similarly,
i have some SR Latches which are specified just like the MUXes.
this is a standard recursive graph-walk algorithm, from edges to nodes
to find more (unique, not-previously-seen) edges:
1. here are the starting inputs/outputs
2. what cells are connected to them
3. add their inputs and outputs to a NEW list to recursively search
4. make sure that in the NEW list, the OLD list is excluded from the search
5. repeat from step 2. with the new list
a loop on that algorithm with first [a0, b0, o0] then [a1, b1, o1] etc.
will identify each "group" of cells.
then, it would be good to have a way to specify that only each *group*
should be Etesian-placed, within a manually-created abutment box.
whilst it is by no means perfect (each place a0b0o0, a1b1o1... a15b15o15
could theoretically be in different locations), to identify the cells
algorithmically from the inputs/outputs is much better than to hard-code
what yosys/ABC produces.
--
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: 86+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <bug-217-13@https.bugs.libre-soc.org/>
2020-04-20 14:16 ` bugzilla-daemon
2020-04-20 15:55 ` bugzilla-daemon
2020-04-20 17:15 ` bugzilla-daemon
2020-04-20 18:10 ` bugzilla-daemon
2020-04-20 18:25 ` bugzilla-daemon
2020-04-20 18:33 ` bugzilla-daemon
2020-04-20 19:00 ` bugzilla-daemon
2020-04-20 19:08 ` bugzilla-daemon
2020-04-20 19:16 ` bugzilla-daemon
2020-04-20 19:20 ` bugzilla-daemon
2020-04-20 19:52 ` bugzilla-daemon
2020-04-20 20:45 ` bugzilla-daemon
2020-04-20 21:00 ` bugzilla-daemon
2020-04-20 22:17 ` bugzilla-daemon
2020-04-21 12:12 ` bugzilla-daemon
2020-04-21 13:17 ` bugzilla-daemon
2020-04-21 14:32 ` bugzilla-daemon
2020-04-21 15:12 ` bugzilla-daemon [this message]
2020-04-21 15:22 ` bugzilla-daemon
2020-04-21 15:49 ` bugzilla-daemon
2020-04-21 16:16 ` bugzilla-daemon
2020-04-21 16:55 ` bugzilla-daemon
2020-04-21 17:03 ` bugzilla-daemon
2020-04-21 17:40 ` bugzilla-daemon
2020-04-21 18:05 ` bugzilla-daemon
2020-04-21 19:24 ` bugzilla-daemon
2020-04-21 20:23 ` bugzilla-daemon
2020-04-21 20:43 ` bugzilla-daemon
2020-04-21 21:19 ` bugzilla-daemon
2020-04-21 22:00 ` bugzilla-daemon
2020-04-21 22:21 ` bugzilla-daemon
2020-05-20 12:20 ` bugzilla-daemon
2020-03-12 11:57 [libre-riscv-dev] [Bug 217] New: " bugzilla-daemon
2020-03-12 16:39 ` [libre-riscv-dev] [Bug 217] " bugzilla-daemon
2020-03-12 16:57 ` bugzilla-daemon
2020-03-12 17:07 ` bugzilla-daemon
2020-03-12 17:24 ` bugzilla-daemon
2020-03-12 17:37 ` bugzilla-daemon
2020-03-13 11:36 ` bugzilla-daemon
2020-03-16 22:01 ` bugzilla-daemon
2020-03-16 23:06 ` bugzilla-daemon
2020-03-16 23:25 ` bugzilla-daemon
2020-03-16 23:38 ` bugzilla-daemon
2020-03-17 0:05 ` bugzilla-daemon
2020-03-17 0:19 ` bugzilla-daemon
2020-03-17 0:24 ` bugzilla-daemon
2020-03-17 0:30 ` bugzilla-daemon
2020-03-17 1:38 ` bugzilla-daemon
2020-03-17 1:54 ` bugzilla-daemon
2020-03-17 6:53 ` bugzilla-daemon
2020-03-17 7:17 ` bugzilla-daemon
2020-03-17 7:26 ` bugzilla-daemon
2020-03-17 7:43 ` bugzilla-daemon
2020-03-17 13:04 ` bugzilla-daemon
2020-03-17 13:48 ` bugzilla-daemon
2020-03-17 14:19 ` bugzilla-daemon
2020-03-17 14:22 ` bugzilla-daemon
2020-03-17 14:52 ` bugzilla-daemon
2020-03-17 14:58 ` bugzilla-daemon
2020-03-17 15:12 ` bugzilla-daemon
2020-03-17 15:24 ` bugzilla-daemon
2020-03-17 16:06 ` bugzilla-daemon
2020-03-17 16:41 ` bugzilla-daemon
2020-03-17 17:06 ` bugzilla-daemon
2020-03-17 17:24 ` bugzilla-daemon
2020-03-17 17:28 ` bugzilla-daemon
2020-03-17 17:42 ` bugzilla-daemon
2020-03-17 17:53 ` bugzilla-daemon
2020-03-17 18:07 ` bugzilla-daemon
2020-03-17 18:55 ` bugzilla-daemon
2020-03-18 14:31 ` bugzilla-daemon
2020-03-18 15:15 ` bugzilla-daemon
2020-03-18 22:09 ` bugzilla-daemon
2020-03-18 23:39 ` bugzilla-daemon
2020-03-20 12:09 ` bugzilla-daemon
2020-03-26 21:39 ` bugzilla-daemon
2020-03-26 22:58 ` bugzilla-daemon
2020-03-27 0:03 ` bugzilla-daemon
2020-03-27 0:38 ` bugzilla-daemon
2020-03-27 1:27 ` bugzilla-daemon
2020-03-27 2:17 ` bugzilla-daemon
2020-04-06 14:18 ` bugzilla-daemon
2020-04-06 16:53 ` bugzilla-daemon
2020-04-06 16:58 ` bugzilla-daemon
2020-04-06 17:15 ` bugzilla-daemon
2020-04-07 8:12 ` bugzilla-daemon
2020-04-07 9:46 ` bugzilla-daemon
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-217-13-sejb7q2yyo@https.bugs.libre-soc.org/ \
--to=bugzilla-daemon@libre-soc.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