ieee754fpu.git
5 years agoremove tot from FPADD, use chain
Luke Kenneth Casson Leighton [Wed, 27 Feb 2019 15:04:00 +0000 (15:04 +0000)]
remove tot from FPADD, use chain

5 years agoconnect add0 to add1
Luke Kenneth Casson Leighton [Wed, 27 Feb 2019 13:58:51 +0000 (13:58 +0000)]
connect add0 to add1

5 years agocreate add1 stage module and use it
Luke Kenneth Casson Leighton [Wed, 27 Feb 2019 13:56:31 +0000 (13:56 +0000)]
create add1 stage module and use it

5 years agotry some more chaining of inputs to outputs
Luke Kenneth Casson Leighton [Wed, 27 Feb 2019 13:30:36 +0000 (13:30 +0000)]
try some more chaining of inputs to outputs

5 years agopass output from normalise_2 to input of roundz
Luke Kenneth Casson Leighton [Wed, 27 Feb 2019 13:21:22 +0000 (13:21 +0000)]
pass output from normalise_2 to input of roundz

5 years agocreate add0 stage module and use it
Luke Kenneth Casson Leighton [Wed, 27 Feb 2019 13:15:01 +0000 (13:15 +0000)]
create add0 stage module and use it

5 years agoname modules correctly
Luke Kenneth Casson Leighton [Wed, 27 Feb 2019 12:31:15 +0000 (12:31 +0000)]
name modules correctly

5 years agowhoops norm2 using norm1 mod
Luke Kenneth Casson Leighton [Wed, 27 Feb 2019 12:29:32 +0000 (12:29 +0000)]
whoops norm2 using norm1 mod

5 years agocreate normalise_2 module and use it
Luke Kenneth Casson Leighton [Wed, 27 Feb 2019 12:26:16 +0000 (12:26 +0000)]
create normalise_2 module and use it

5 years agoput exponent > 126 logic in FPNumBase, use it in norm module
Luke Kenneth Casson Leighton [Wed, 27 Feb 2019 12:20:51 +0000 (12:20 +0000)]
put exponent > 126 logic in FPNumBase, use it in norm module

5 years agosplit out first stage normalisation to module and use it
Luke Kenneth Casson Leighton [Wed, 27 Feb 2019 12:15:34 +0000 (12:15 +0000)]
split out first stage normalisation to module and use it

5 years agoreduce random case test numbers as well
Luke Kenneth Casson Leighton [Wed, 27 Feb 2019 12:10:31 +0000 (12:10 +0000)]
reduce random case test numbers as well

5 years agoreduce number of unit test runs to get quicker more comprehensive coverage
Luke Kenneth Casson Leighton [Wed, 27 Feb 2019 11:47:15 +0000 (11:47 +0000)]
reduce number of unit test runs to get quicker more comprehensive coverage

5 years agosplit special cases into separate module and use it
Luke Kenneth Casson Leighton [Wed, 27 Feb 2019 11:46:54 +0000 (11:46 +0000)]
split special cases into separate module and use it

5 years agocreate and use FPPack module
Luke Kenneth Casson Leighton [Wed, 27 Feb 2019 10:30:34 +0000 (10:30 +0000)]
create and use FPPack module

5 years agocreate and use corrections submodule
Luke Kenneth Casson Leighton [Wed, 27 Feb 2019 10:13:50 +0000 (10:13 +0000)]
create and use corrections submodule

5 years agorounding done in module
Luke Kenneth Casson Leighton [Wed, 27 Feb 2019 10:04:06 +0000 (10:04 +0000)]
rounding done in module

5 years agoget roundz state to put answer in explicit output, sync it to z afterwards
Luke Kenneth Casson Leighton [Wed, 27 Feb 2019 08:07:54 +0000 (08:07 +0000)]
get roundz state to put answer in explicit output, sync it to z afterwards

5 years agoclean up unit_test_single get_case based on how dual_add works
Luke Kenneth Casson Leighton [Wed, 27 Feb 2019 00:29:50 +0000 (00:29 +0000)]
clean up unit_test_single get_case based on how dual_add works

5 years agoclear STB immediately after setting, stops add1 repeating computation
Luke Kenneth Casson Leighton [Wed, 27 Feb 2019 00:12:27 +0000 (00:12 +0000)]
clear STB immediately after setting, stops add1 repeating computation

5 years agomoving internal strobe test forward is ok
Luke Kenneth Casson Leighton [Tue, 26 Feb 2019 22:28:56 +0000 (22:28 +0000)]
moving internal strobe test forward is ok

5 years agoinvert stb/ack between add1 and add2
Luke Kenneth Casson Leighton [Mon, 25 Feb 2019 08:15:57 +0000 (08:15 +0000)]
invert stb/ack between add1 and add2

5 years agoexperimenting with dual add
Luke Kenneth Casson Leighton [Sun, 24 Feb 2019 09:27:30 +0000 (09:27 +0000)]
experimenting with dual add

5 years agotrying different testing for 2nd round
Luke Kenneth Casson Leighton [Sat, 23 Feb 2019 12:57:26 +0000 (12:57 +0000)]
trying different testing for 2nd round

5 years agouse function to get chain of v/ack/stb
Luke Kenneth Casson Leighton [Sat, 23 Feb 2019 12:40:41 +0000 (12:40 +0000)]
use function to get chain of v/ack/stb

5 years agoyippee got dual add chained together
Luke Kenneth Casson Leighton [Sat, 23 Feb 2019 12:33:31 +0000 (12:33 +0000)]
yippee got dual add chained together

5 years agowhoops revert decode inside module FPNumIn, causing problems
Luke Kenneth Casson Leighton [Sat, 23 Feb 2019 12:22:10 +0000 (12:22 +0000)]
whoops revert decode inside module FPNumIn, causing problems

5 years agoadd dual unit test
Luke Kenneth Casson Leighton [Sat, 23 Feb 2019 11:56:58 +0000 (11:56 +0000)]
add dual unit test

5 years agomove unit test order
Luke Kenneth Casson Leighton [Sat, 23 Feb 2019 11:56:28 +0000 (11:56 +0000)]
move unit test order

5 years agoremove unneeded class declaration
Luke Kenneth Casson Leighton [Sat, 23 Feb 2019 11:56:14 +0000 (11:56 +0000)]
remove unneeded class declaration

5 years agoadd a dual-chained add experiment
Luke Kenneth Casson Leighton [Sat, 23 Feb 2019 11:30:44 +0000 (11:30 +0000)]
add a dual-chained add experiment

5 years agostore logic-test conditions in intermediates
Luke Kenneth Casson Leighton [Sat, 23 Feb 2019 08:43:58 +0000 (08:43 +0000)]
store logic-test conditions in intermediates

5 years agoisolate inputs and outputs in FPGetA class
Luke Kenneth Casson Leighton [Thu, 21 Feb 2019 10:55:44 +0000 (10:55 +0000)]
isolate inputs and outputs in FPGetA class

5 years agoFPADD need no longer be derived from FPBase
Luke Kenneth Casson Leighton [Thu, 21 Feb 2019 10:19:31 +0000 (10:19 +0000)]
FPADD need no longer be derived from FPBase

5 years agoremove explicit code-adding of states, use for-loop instead
Luke Kenneth Casson Leighton [Thu, 21 Feb 2019 10:18:15 +0000 (10:18 +0000)]
remove explicit code-adding of states, use for-loop instead

5 years agomove putz to separate class
Luke Kenneth Casson Leighton [Thu, 21 Feb 2019 10:13:14 +0000 (10:13 +0000)]
move putz to separate class

5 years agomove pack to separate class
Luke Kenneth Casson Leighton [Thu, 21 Feb 2019 10:11:53 +0000 (10:11 +0000)]
move pack to separate class

5 years agomove corrections to separate class
Luke Kenneth Casson Leighton [Thu, 21 Feb 2019 10:10:41 +0000 (10:10 +0000)]
move corrections to separate class

5 years agomove rounding to separate class
Luke Kenneth Casson Leighton [Thu, 21 Feb 2019 10:08:37 +0000 (10:08 +0000)]
move rounding to separate class

5 years agomove normalisation stages to separate classes
Luke Kenneth Casson Leighton [Thu, 21 Feb 2019 09:38:14 +0000 (09:38 +0000)]
move normalisation stages to separate classes

5 years agomove add1 stage to separate class
Luke Kenneth Casson Leighton [Thu, 21 Feb 2019 09:27:49 +0000 (09:27 +0000)]
move add1 stage to separate class

5 years agoadd comment
Luke Kenneth Casson Leighton [Thu, 21 Feb 2019 09:23:12 +0000 (09:23 +0000)]
add comment

5 years agosplit out add0 stage into separate class
Luke Kenneth Casson Leighton [Thu, 21 Feb 2019 09:22:24 +0000 (09:22 +0000)]
split out add0 stage into separate class

5 years agomove align to separate class
Luke Kenneth Casson Leighton [Thu, 21 Feb 2019 09:14:22 +0000 (09:14 +0000)]
move align to separate class

5 years agocreate separate denormalisation class
Luke Kenneth Casson Leighton [Thu, 21 Feb 2019 09:10:07 +0000 (09:10 +0000)]
create separate denormalisation class

5 years agomove special cases to separate state class
Luke Kenneth Casson Leighton [Thu, 21 Feb 2019 08:52:12 +0000 (08:52 +0000)]
move special cases to separate state class

5 years agomove get_a and get_b to their own classes
Luke Kenneth Casson Leighton [Thu, 21 Feb 2019 08:45:33 +0000 (08:45 +0000)]
move get_a and get_b to their own classes

5 years agoRemove coments with verilog code
Aleksandar Kostovic [Wed, 20 Feb 2019 17:50:07 +0000 (18:50 +0100)]
Remove coments with verilog code

5 years agosplit denormalisation to separate state
Luke Kenneth Casson Leighton [Wed, 20 Feb 2019 05:24:06 +0000 (05:24 +0000)]
split denormalisation to separate state

5 years agolatch into FPNumIn within module
Luke Kenneth Casson Leighton [Wed, 20 Feb 2019 04:54:41 +0000 (04:54 +0000)]
latch into FPNumIn within module

5 years agocreate separate modules for fpnum in and out
Luke Kenneth Casson Leighton [Wed, 20 Feb 2019 04:26:31 +0000 (04:26 +0000)]
create separate modules for fpnum in and out

5 years agomake module out of overflow class
Luke Kenneth Casson Leighton [Wed, 20 Feb 2019 02:52:10 +0000 (02:52 +0000)]
make module out of overflow class

5 years agocreate module for FPNum
Luke Kenneth Casson Leighton [Wed, 20 Feb 2019 02:30:03 +0000 (02:30 +0000)]
create module for FPNum

5 years agoreset allowed on FPop, not on FPNum
Luke Kenneth Casson Leighton [Wed, 20 Feb 2019 02:17:33 +0000 (02:17 +0000)]
reset allowed on FPop, not on FPNum

5 years agostore roundz test in comb variable
Luke Kenneth Casson Leighton [Wed, 20 Feb 2019 00:45:56 +0000 (00:45 +0000)]
store roundz test in comb variable

5 years agostore testing of nan/inf/zero in comb Signals
Luke Kenneth Casson Leighton [Tue, 19 Feb 2019 15:52:13 +0000 (15:52 +0000)]
store testing of nan/inf/zero in comb Signals

5 years agomove setting of stb into else block
Luke Kenneth Casson Leighton [Tue, 19 Feb 2019 15:51:20 +0000 (15:51 +0000)]
move setting of stb into else block

5 years agoreset_less on signals that do not need it
Luke Kenneth Casson Leighton [Tue, 19 Feb 2019 15:27:12 +0000 (15:27 +0000)]
reset_less on signals that do not need it

5 years agoreorganise unit test single to do much more comprehensive test cases.
Luke Kenneth Casson Leighton [Tue, 19 Feb 2019 12:51:50 +0000 (12:51 +0000)]
reorganise unit test single to do much more comprehensive test cases.

specific edge cases on the exponent are covered, with random mantissas:
-126, -127, 127, 128

5 years agotake out FP16 non-canonical NaN weirdness for now
Luke Kenneth Casson Leighton [Tue, 19 Feb 2019 11:23:22 +0000 (11:23 +0000)]
take out FP16 non-canonical NaN weirdness for now

5 years agoadd corner-cases +/-0 + NaN
Luke Kenneth Casson Leighton [Tue, 19 Feb 2019 09:20:13 +0000 (09:20 +0000)]
add corner-cases +/-0 + NaN

5 years agoadd FP16 add unit test
Luke Kenneth Casson Leighton [Tue, 19 Feb 2019 08:24:20 +0000 (08:24 +0000)]
add FP16 add unit test

5 years agoINF + -INF bug
Luke Kenneth Casson Leighton [Tue, 19 Feb 2019 08:23:20 +0000 (08:23 +0000)]
INF + -INF bug

5 years agowhoops FP16 mantissa off-by-one
Luke Kenneth Casson Leighton [Tue, 19 Feb 2019 08:05:29 +0000 (08:05 +0000)]
whoops FP16 mantissa off-by-one

5 years agoremove hard-coded width
Luke Kenneth Casson Leighton [Tue, 19 Feb 2019 07:41:35 +0000 (07:41 +0000)]
remove hard-coded width

5 years agoadd FP16 format
Luke Kenneth Casson Leighton [Tue, 19 Feb 2019 07:41:23 +0000 (07:41 +0000)]
add FP16 format

5 years agoadd shift up multi function
Luke Kenneth Casson Leighton [Tue, 19 Feb 2019 06:41:50 +0000 (06:41 +0000)]
add shift up multi function

5 years agoadd extra regression tests (a + -a) for add
Luke Kenneth Casson Leighton [Tue, 19 Feb 2019 05:41:28 +0000 (05:41 +0000)]
add extra regression tests (a + -a) for add

5 years agocomment for a + -a special case add
Luke Kenneth Casson Leighton [Tue, 19 Feb 2019 05:39:14 +0000 (05:39 +0000)]
comment for a + -a special case add

5 years agoadd 64 bit mul unit test
Luke Kenneth Casson Leighton [Mon, 18 Feb 2019 21:32:38 +0000 (21:32 +0000)]
add 64 bit mul unit test

5 years agowhoops, off-by-one in use of mw, in multiply_1 stage
Luke Kenneth Casson Leighton [Mon, 18 Feb 2019 21:32:20 +0000 (21:32 +0000)]
whoops, off-by-one in use of mw, in multiply_1 stage

5 years agowhoops, messing up on m_width *sigh*
Luke Kenneth Casson Leighton [Mon, 18 Feb 2019 21:26:52 +0000 (21:26 +0000)]
whoops, messing up on m_width *sigh*

5 years agouse double run_corner_cases function in add unit test
Luke Kenneth Casson Leighton [Mon, 18 Feb 2019 21:23:52 +0000 (21:23 +0000)]
use double run_corner_cases function in add unit test

5 years agoadd corner case unit test function
Luke Kenneth Casson Leighton [Mon, 18 Feb 2019 21:22:57 +0000 (21:22 +0000)]
add corner case unit test function

5 years agodoh! use z mantissa width to specify product width.
Luke Kenneth Casson Leighton [Mon, 18 Feb 2019 21:21:52 +0000 (21:21 +0000)]
doh! use z mantissa width to specify product width.
also take out hard-coded numbers, ready for 64 bit

5 years agouse common run_corner_cases function
Luke Kenneth Casson Leighton [Mon, 18 Feb 2019 21:16:08 +0000 (21:16 +0000)]
use common run_corner_cases function

5 years agouse common run_corner_cases function
Luke Kenneth Casson Leighton [Mon, 18 Feb 2019 21:15:03 +0000 (21:15 +0000)]
use common run_corner_cases function

5 years agoadd mul unit test
Luke Kenneth Casson Leighton [Mon, 18 Feb 2019 21:13:31 +0000 (21:13 +0000)]
add mul unit test

5 years agospecial cases, sign of zero and inf matters: a.s ^ b.s
Luke Kenneth Casson Leighton [Mon, 18 Feb 2019 21:13:04 +0000 (21:13 +0000)]
special cases, sign of zero and inf matters: a.s ^ b.s

5 years agomissed indentation of if statements in special cases
Luke Kenneth Casson Leighton [Mon, 18 Feb 2019 21:12:16 +0000 (21:12 +0000)]
missed indentation of if statements in special cases

5 years agoof.guard, of.round, of.sticky - of is a class with members "guard, round etc"
Luke Kenneth Casson Leighton [Mon, 18 Feb 2019 21:11:47 +0000 (21:11 +0000)]
of.guard, of.round, of.sticky - of is a class with members "guard, round etc"

5 years agom.next not m.next +=
Luke Kenneth Casson Leighton [Mon, 18 Feb 2019 21:10:28 +0000 (21:10 +0000)]
m.next not m.next +=

5 years agowhoops, self.width not self.m_width
Luke Kenneth Casson Leighton [Mon, 18 Feb 2019 21:10:07 +0000 (21:10 +0000)]
whoops, self.width not self.m_width

5 years agoadd corner case unit test function
Luke Kenneth Casson Leighton [Mon, 18 Feb 2019 21:04:29 +0000 (21:04 +0000)]
add corner case unit test function

5 years agodiff on div and mul shows corrections stage missed out
Luke Kenneth Casson Leighton [Mon, 18 Feb 2019 18:22:50 +0000 (18:22 +0000)]
diff on div and mul shows corrections stage missed out

5 years agouse get_op functions, easier to do
Luke Kenneth Casson Leighton [Mon, 18 Feb 2019 18:20:51 +0000 (18:20 +0000)]
use get_op functions, easier to do

5 years agoproduct in multiply, not tot (was from add)
Luke Kenneth Casson Leighton [Mon, 18 Feb 2019 18:18:48 +0000 (18:18 +0000)]
product in multiply, not tot (was from add)

5 years agocorrections in whitespace due to use of tabs
Luke Kenneth Casson Leighton [Mon, 18 Feb 2019 18:12:24 +0000 (18:12 +0000)]
corrections in whitespace due to use of tabs

5 years agomul needs FPNum mantissa to be 24-bit on a and b, set 2nd arg False
Luke Kenneth Casson Leighton [Mon, 18 Feb 2019 18:08:14 +0000 (18:08 +0000)]
mul needs FPNum mantissa to be 24-bit on a and b, set 2nd arg False

5 years agoadd requirements (dependencies)
Luke Kenneth Casson Leighton [Mon, 18 Feb 2019 18:06:51 +0000 (18:06 +0000)]
add requirements (dependencies)

5 years agoquite a lot of corrections to div special cases
Luke Kenneth Casson Leighton [Mon, 18 Feb 2019 18:05:38 +0000 (18:05 +0000)]
quite a lot of corrections to div special cases

5 years agoadd regression test on div
Luke Kenneth Casson Leighton [Mon, 18 Feb 2019 17:43:13 +0000 (17:43 +0000)]
add regression test on div

5 years agoremove zeroing bugfix correction, not needed any more
Luke Kenneth Casson Leighton [Mon, 18 Feb 2019 17:42:59 +0000 (17:42 +0000)]
remove zeroing bugfix correction, not needed any more

5 years agosplit out edge cases from unit tests into common files
Luke Kenneth Casson Leighton [Mon, 18 Feb 2019 17:37:52 +0000 (17:37 +0000)]
split out edge cases from unit tests into common files

5 years agoadd operator argument to unit tests
Luke Kenneth Casson Leighton [Mon, 18 Feb 2019 17:30:25 +0000 (17:30 +0000)]
add operator argument to unit tests

5 years agoadd div unit tests
Luke Kenneth Casson Leighton [Mon, 18 Feb 2019 17:22:07 +0000 (17:22 +0000)]
add div unit tests

5 years agosplit out common double-precision unit test code
Luke Kenneth Casson Leighton [Mon, 18 Feb 2019 17:17:19 +0000 (17:17 +0000)]
split out common double-precision unit test code

5 years agosplit out common double-precision unit test code
Luke Kenneth Casson Leighton [Mon, 18 Feb 2019 17:16:21 +0000 (17:16 +0000)]
split out common double-precision unit test code

5 years agosplit out common unit test code
Luke Kenneth Casson Leighton [Mon, 18 Feb 2019 17:15:33 +0000 (17:15 +0000)]
split out common unit test code

5 years agosplit out unit test common code
Luke Kenneth Casson Leighton [Mon, 18 Feb 2019 17:13:07 +0000 (17:13 +0000)]
split out unit test common code