From: bugzilla-daemon@libre-riscv.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: Thu, 12 Mar 2020 16:57:18 +0000
Message-ID: <bug-217-13-ixsO6okoBK@http.bugs.libre-riscv.org/> (raw)
In-Reply-To: <bug-217-13@http.bugs.libre-riscv.org/>
http://bugs.libre-riscv.org/show_bug.cgi?id=217
--- Comment #2 from Luke Kenneth Casson Leighton <lkcl@lkcl.net> ---
so, jock, just a bit of background:
we have a *massive* class hierarchy (well over 250 class instances, all of
which need to be laid out), which will produce something like 500,000 gates,
which is far too much to do all in one go.
so we want to split down the "tree" of class instances into progressively
smaller blocks, not going completely mad about it, maybe two levels deep. this
will mean that the number of class instances ("blocks") that need to be placed
*by hand* is reduced down to maybe... 50 to 80.
the "top level" is called a "floor plan", and we need to best organise the
routing between all those "blocks", so that their inputs and outputs are all on
the "most efficient side".
the last thing we want, for example, is that to get the I/O to a particular
block, it has to go *all the way round* the outside of a block.
some of the data buses will be a whopping FOUR TO FIVE HUNDRED wires (or more),
which will be completely dominating the centre of the chip, branching out.
sometimes, for smaller blocks, we definitely want the wires to be evenly spread
out across the whole of the side of the block (just like in
benchs/nmigen/ALU16)
sometimes, we want a bus (address / data / control lines) to come in on a
*specific* location - the corner, or the middle - of a block, on one particular
side.
so this is what we need to be able to specify.
also, we need to ensure that the auto-router does *not* ignore the pads (which
will go on the very outer edge of each Block), and that means putting BLOCKAGEs
in, as "rings", around the outside of the Block.
jock: see /alliance-check-toolkit/benchs/nmigen/ALU16/doAlu16.py for an
example.
looking at class ChipConf: Jean-Paul, it is not clear whether ChipConf will
automatically create the full range of BLOCKAGEs nets. i am grepping the
source code "self.corona" and there is no evidence of self.corona actually
being set!
ChipConf.findPowerAndClockNets() *uses* self.corona, however there's no
*setting* of self.corona!
what gives?
--
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: 87+ messages / expand[flat|nested] mbox.gz Atom feed top
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 [this message]
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
[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
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
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-ixsO6okoBK@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