* [libre-riscv-dev] [Bug 323] New: create POWER9 MUL pipeline
@ 2020-05-19 12:01 bugzilla-daemon
2020-05-19 12:02 ` [libre-riscv-dev] [Bug 323] " bugzilla-daemon
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: bugzilla-daemon @ 2020-05-19 12:01 UTC (permalink / raw)
To: libre-riscv-dev
https://bugs.libre-soc.org/show_bug.cgi?id=323
Bug ID: 323
Summary: create POWER9 MUL pipeline
Product: Libre-SOC's first SoC
Version: unspecified
Hardware: Other
OS: Linux
Status: CONFIRMED
Severity: enhancement
Priority: ---
Component: Source Code
Assignee: lkcl@lkcl.net
Reporter: lkcl@lkcl.net
CC: libre-riscv-dev@lists.libre-riscv.org
NLnet milestone: ---
a MUL pipeline is needed similar to the other pipelines in soc.fu, covering MUL
and MAC operations.
--
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
^ permalink raw reply [flat|nested] 5+ messages in thread
* [libre-riscv-dev] [Bug 323] create POWER9 MUL pipeline
2020-05-19 12:01 [libre-riscv-dev] [Bug 323] New: create POWER9 MUL pipeline bugzilla-daemon
@ 2020-05-19 12:02 ` " bugzilla-daemon
2020-05-19 12:24 ` bugzilla-daemon
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: bugzilla-daemon @ 2020-05-19 12:02 UTC (permalink / raw)
To: libre-riscv-dev
https://bugs.libre-soc.org/show_bug.cgi?id=323
Luke Kenneth Casson Leighton <lkcl@lkcl.net> changed:
What |Removed |Added
----------------------------------------------------------------------------
Assignee|lkcl@lkcl.net |programmerjake@gmail.com
See Also| |https://bugs.libre-soc.org/
| |show_bug.cgi?id=305
--
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
^ permalink raw reply [flat|nested] 5+ messages in thread
* [libre-riscv-dev] [Bug 323] create POWER9 MUL pipeline
2020-05-19 12:01 [libre-riscv-dev] [Bug 323] New: create POWER9 MUL pipeline bugzilla-daemon
2020-05-19 12:02 ` [libre-riscv-dev] [Bug 323] " bugzilla-daemon
@ 2020-05-19 12:24 ` bugzilla-daemon
2020-05-20 0:35 ` bugzilla-daemon
2020-05-27 22:21 ` bugzilla-daemon
3 siblings, 0 replies; 5+ messages in thread
From: bugzilla-daemon @ 2020-05-19 12:24 UTC (permalink / raw)
To: libre-riscv-dev
https://bugs.libre-soc.org/show_bug.cgi?id=323
--- Comment #1 from Luke Kenneth Casson Leighton <lkcl@lkcl.net> ---
there are actually two different types of MUL here.
* VA Form - 3 int in, no carry/overflow
* X Form - usual style just like ALU/Logical
my feelings are mixed as that is a lot of ports if they are combined. still,
actuslly, after some thought it is the same (after combining) port allocation
as Shift.
# Multiply-Add High Doubleword VA-Form
VA-Form
* maddhd RT,RA.RB,RC
prod[0:127] <- (RA) * (RB)
sum[0:127] <- prod + EXTS(RC)
RT <- sum[0:63]
Special Registers Altered:
None
--
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
^ permalink raw reply [flat|nested] 5+ messages in thread
* [libre-riscv-dev] [Bug 323] create POWER9 MUL pipeline
2020-05-19 12:01 [libre-riscv-dev] [Bug 323] New: create POWER9 MUL pipeline bugzilla-daemon
2020-05-19 12:02 ` [libre-riscv-dev] [Bug 323] " bugzilla-daemon
2020-05-19 12:24 ` bugzilla-daemon
@ 2020-05-20 0:35 ` bugzilla-daemon
2020-05-27 22:21 ` bugzilla-daemon
3 siblings, 0 replies; 5+ messages in thread
From: bugzilla-daemon @ 2020-05-20 0:35 UTC (permalink / raw)
To: libre-riscv-dev
https://bugs.libre-soc.org/show_bug.cgi?id=323
--- Comment #2 from Luke Kenneth Casson Leighton <lkcl@lkcl.net> ---
https://git.libre-soc.org/?p=soc.git;a=commitdiff;h=a60febdeb1c572a4b85b410c6519383fc581732d
i moved mul operations over to a MUL Function Unit. the unit test,
test_pipe_caller.py, when cookie-cut copied over, should then be changed:
fn_unit = yield pdecode2.e.fn_unit
self.assertEqual(fn_unit, Function.SHIFT_ROT.value)
to:
fn_unit = yield pdecode2.e.fn_unit
self.assertEqual(fn_unit, Function.MUL.value)
really we should look at some point at deriving a class to contain
the common code from all these tests, soc.fn.*.test.test_pipe_caller.py
--
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
^ permalink raw reply [flat|nested] 5+ messages in thread
* [libre-riscv-dev] [Bug 323] create POWER9 MUL pipeline
2020-05-19 12:01 [libre-riscv-dev] [Bug 323] New: create POWER9 MUL pipeline bugzilla-daemon
` (2 preceding siblings ...)
2020-05-20 0:35 ` bugzilla-daemon
@ 2020-05-27 22:21 ` bugzilla-daemon
3 siblings, 0 replies; 5+ messages in thread
From: bugzilla-daemon @ 2020-05-27 22:21 UTC (permalink / raw)
To: libre-riscv-dev
https://bugs.libre-soc.org/show_bug.cgi?id=323
--- Comment #3 from Luke Kenneth Casson Leighton <lkcl@lkcl.net> ---
from microwatt: how to set up the inputs to the mul pipeline. this can go in
main_stage.py when calling the mul unit:
if e_in.is_32bit = '1' then
if e_in.is_signed = '1' then
x_to_multiply.data1 <= (others => a_in(31));
x_to_multiply.data1(31 downto 0) <= a_in(31 downto 0);
x_to_multiply.data2 <= (others => b_in(31));
x_to_multiply.data2(31 downto 0) <= b_in(31 downto 0);
else
x_to_multiply.data1 <= '0' & x"00000000" & a_in(31 downto 0);
x_to_multiply.data2 <= '0' & x"00000000" & b_in(31 downto 0);
else
if e_in.is_signed = '1' then
x_to_multiply.data1 <= a_in(63) & a_in;
x_to_multiply.data2 <= b_in(63) & b_in;
else
x_to_multiply.data1 <= '0' & a_in;
x_to_multiply.data2 <= '0' & b_in;
--
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
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, back to index
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-19 12:01 [libre-riscv-dev] [Bug 323] New: create POWER9 MUL pipeline bugzilla-daemon
2020-05-19 12:02 ` [libre-riscv-dev] [Bug 323] " bugzilla-daemon
2020-05-19 12:24 ` bugzilla-daemon
2020-05-20 0:35 ` bugzilla-daemon
2020-05-27 22:21 ` bugzilla-daemon
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