From: bugzilla-daemon@libre-soc.org
To: libre-riscv-dev@lists.libre-riscv.org
Subject: [libre-riscv-dev] [Bug 305] Create Pipelined ALU similar to alu_hier.py
Date: Sat, 09 May 2020 13:37:42 +0000
Message-ID: <bug-305-13-V3eSVfRuqe@https.bugs.libre-soc.org/> (raw)
In-Reply-To: <bug-305-13@https.bugs.libre-soc.org/>
https://bugs.libre-soc.org/show_bug.cgi?id=305
--- Comment #15 from Luke Kenneth Casson Leighton <lkcl@lkcl.net> ---
(In reply to Michael Nolan from comment #14)
> (In reply to Luke Kenneth Casson Leighton from comment #13)
>
> > with "carry_in" being *generated* by ALUInputStage, ALUInputData should
> > *not* have "carry_in" as a field.
>
> We still need a carry_in from XER for things like add with carry.
ah doh, yes you are absolutely right.
hmm hmmm sooo....
actually.... the default action from the if elif batch is to copy that carry_in
from the input spec over to the output spec.
>
> > the reason is because it will never be set by the *user* of this stage,
> > and consequently a dangling wire will end up being created.
> > -----
> >
> > what's "so" intended for?
>
> Summary Overflow.
okaay. so if it's a generated output, set only as a result as part of the
operation (in the 2nd or 3rd stage), it should *not* be in the ispec(), only in
the ospec() for later stage(s)
basically:
* if something is needed in the stage it must be added to the ispec()
* if something is produced *by* the stage ot must be added to the ospec()
* if something is needed by later stages, the only way they will get it is by
"passing through" the current stage and consequently it has to be added to
*both* ispec and ospec.
* if a final output is generated by an early stage, then clearly the only way
to get it all the way to the ends is, again, by "passing through" to later
stages and consequently putting it into both ispec and ospec.
summary-out sounds like it is output-only (3rd stage?).
carry-out likewise (from 2nd stage)
carry-in you are right is needed as input *and* output on *this* (first) stage,
where in later stages it will not be.
a and b and op are all "passthru" for this 1st stage. however a and b are input
only or the 2nd stage, but you *might* need some of the information from op for
the 3rd stage.
welcome to pipelines :)
--
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: 104+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-08 15:17 [libre-riscv-dev] [Bug 305] New: " bugzilla-daemon
2020-05-08 15:17 ` [libre-riscv-dev] [Bug 305] " bugzilla-daemon
2020-05-08 15:28 ` bugzilla-daemon
2020-05-08 15:28 ` bugzilla-daemon
2020-05-08 15:29 ` bugzilla-daemon
2020-05-08 15:29 ` bugzilla-daemon
2020-05-08 15:32 ` bugzilla-daemon
2020-05-08 15:35 ` bugzilla-daemon
2020-05-08 15:40 ` bugzilla-daemon
2020-05-08 16:48 ` bugzilla-daemon
2020-05-08 16:54 ` bugzilla-daemon
2020-05-08 17:04 ` bugzilla-daemon
2020-05-08 17:10 ` bugzilla-daemon
2020-05-08 18:38 ` bugzilla-daemon
2020-05-08 23:08 ` bugzilla-daemon
2020-05-09 13:13 ` bugzilla-daemon
2020-05-09 13:37 ` bugzilla-daemon [this message]
2020-05-09 13:41 ` bugzilla-daemon
2020-05-09 13:45 ` bugzilla-daemon
2020-05-09 13:48 ` bugzilla-daemon
2020-05-09 14:04 ` bugzilla-daemon
2020-05-09 14:06 ` bugzilla-daemon
2020-05-09 18:23 ` bugzilla-daemon
2020-05-09 19:08 ` bugzilla-daemon
2020-05-09 19:12 ` bugzilla-daemon
2020-05-09 21:18 ` bugzilla-daemon
2020-05-09 21:35 ` bugzilla-daemon
2020-05-09 21:42 ` bugzilla-daemon
2020-05-10 4:25 ` bugzilla-daemon
2020-05-10 4:30 ` bugzilla-daemon
2020-05-10 23:03 ` bugzilla-daemon
2020-05-10 23:06 ` bugzilla-daemon
2020-05-10 23:11 ` bugzilla-daemon
2020-05-10 23:15 ` bugzilla-daemon
2020-05-10 23:42 ` bugzilla-daemon
2020-05-11 0:04 ` bugzilla-daemon
2020-05-11 1:11 ` bugzilla-daemon
2020-05-11 10:30 ` bugzilla-daemon
2020-05-11 13:23 ` bugzilla-daemon
2020-05-11 14:31 ` bugzilla-daemon
2020-05-11 15:51 ` bugzilla-daemon
2020-05-11 16:03 ` bugzilla-daemon
2020-05-11 16:13 ` bugzilla-daemon
2020-05-11 16:13 ` bugzilla-daemon
2020-05-11 18:15 ` bugzilla-daemon
2020-05-11 18:23 ` bugzilla-daemon
2020-05-12 9:24 ` bugzilla-daemon
2020-05-12 10:03 ` bugzilla-daemon
2020-05-12 21:33 ` bugzilla-daemon
2020-05-12 22:02 ` bugzilla-daemon
2020-05-13 1:05 ` bugzilla-daemon
2020-05-13 16:46 ` bugzilla-daemon
2020-05-13 17:22 ` bugzilla-daemon
2020-05-13 17:29 ` bugzilla-daemon
2020-05-13 18:46 ` bugzilla-daemon
2020-05-13 18:48 ` bugzilla-daemon
2020-05-13 18:57 ` bugzilla-daemon
2020-05-13 21:54 ` bugzilla-daemon
2020-05-14 0:20 ` bugzilla-daemon
2020-05-14 14:37 ` bugzilla-daemon
2020-05-14 14:48 ` bugzilla-daemon
2020-05-14 15:34 ` bugzilla-daemon
2020-05-14 16:17 ` bugzilla-daemon
2020-05-14 16:21 ` bugzilla-daemon
2020-05-14 16:35 ` bugzilla-daemon
2020-05-14 16:54 ` bugzilla-daemon
2020-05-14 17:14 ` bugzilla-daemon
2020-05-14 17:29 ` bugzilla-daemon
2020-05-14 18:42 ` bugzilla-daemon
2020-05-14 19:06 ` bugzilla-daemon
2020-05-14 19:10 ` bugzilla-daemon
2020-05-14 19:21 ` bugzilla-daemon
2020-05-14 19:27 ` bugzilla-daemon
2020-05-14 19:48 ` bugzilla-daemon
2020-05-15 14:00 ` bugzilla-daemon
2020-05-15 14:13 ` bugzilla-daemon
2020-05-15 14:19 ` bugzilla-daemon
2020-05-15 14:23 ` bugzilla-daemon
2020-05-15 15:07 ` bugzilla-daemon
2020-05-15 15:29 ` bugzilla-daemon
2020-05-15 15:30 ` bugzilla-daemon
2020-05-15 15:33 ` bugzilla-daemon
2020-05-15 15:41 ` bugzilla-daemon
2020-05-18 1:40 ` bugzilla-daemon
2020-05-18 4:07 ` bugzilla-daemon
2020-05-18 5:19 ` bugzilla-daemon
2020-05-19 12:02 ` bugzilla-daemon
2020-05-19 12:04 ` bugzilla-daemon
2020-05-19 12:29 ` bugzilla-daemon
2020-05-20 6:06 ` bugzilla-daemon
2020-05-20 14:01 ` bugzilla-daemon
2020-05-20 15:19 ` bugzilla-daemon
2020-05-20 19:28 ` bugzilla-daemon
2020-05-21 10:31 ` bugzilla-daemon
2020-05-22 16:17 ` bugzilla-daemon
2020-05-22 17:27 ` bugzilla-daemon
2020-05-27 16:06 ` bugzilla-daemon
2020-05-27 17:46 ` bugzilla-daemon
2020-05-27 17:56 ` bugzilla-daemon
2020-05-27 18:24 ` bugzilla-daemon
2020-05-27 18:33 ` bugzilla-daemon
2020-05-27 18:38 ` bugzilla-daemon
2020-06-01 23:24 ` bugzilla-daemon
2020-06-08 18:37 ` 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-305-13-V3eSVfRuqe@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