ieee754fpu.git
5 years agouse straight << and >> operator instead of multi-level Mux
Luke Kenneth Casson Leighton [Mon, 18 Feb 2019 07:00:56 +0000 (07:00 +0000)]
use straight << and >> operator instead of multi-level Mux

5 years agoadd .gitignore
Luke Kenneth Casson Leighton [Mon, 18 Feb 2019 05:24:49 +0000 (05:24 +0000)]
add .gitignore

5 years agoFinished the module states and added __main__
Aleksandar Kostovic [Sun, 17 Feb 2019 18:05:41 +0000 (19:05 +0100)]
Finished the module states and added __main__

5 years agoAdd more special cases to the module
Aleksandar Kostovic [Sun, 17 Feb 2019 17:43:24 +0000 (18:43 +0100)]
Add more special cases to the module

5 years agoAdded comment to explain a case
Aleksandar Kostovic [Sun, 17 Feb 2019 15:40:24 +0000 (16:40 +0100)]
Added comment to explain a case

5 years agoTranslated more of the special cases to nmigen
Aleksandar Kostovic [Sun, 17 Feb 2019 15:36:51 +0000 (16:36 +0100)]
Translated more of the special cases to nmigen

5 years agoTranslated some of the special cases to nmigen
Aleksandar Kostovic [Sun, 17 Feb 2019 15:27:52 +0000 (16:27 +0100)]
Translated some of the special cases to nmigen

5 years agoStarted to build module using functions instead plain translation from verilog to...
Aleksandar Kostovic [Sun, 17 Feb 2019 15:11:08 +0000 (16:11 +0100)]
Started to build module using functions instead plain translation from verilog to nmigen

5 years agoStarted to translate special cases
Aleksandar Kostovic [Sun, 17 Feb 2019 15:00:29 +0000 (16:00 +0100)]
Started to translate special cases

5 years agoDone unpack in nmigen
Aleksandar Kostovic [Sun, 17 Feb 2019 14:42:22 +0000 (15:42 +0100)]
Done unpack in nmigen

5 years agoadd unit tests that push the mantissa to zero or close to zero
Luke Kenneth Casson Leighton [Sun, 17 Feb 2019 14:08:58 +0000 (14:08 +0000)]
add unit tests that push the mantissa to zero or close to zero

5 years agoadd TODO comment
Luke Kenneth Casson Leighton [Sun, 17 Feb 2019 14:07:33 +0000 (14:07 +0000)]
add TODO comment

5 years agotest single-cycle align phase on 64-bit add
Luke Kenneth Casson Leighton [Sun, 17 Feb 2019 14:03:29 +0000 (14:03 +0000)]
test single-cycle align phase on 64-bit add

5 years agoadd single-cycle version of alignment process in fadd
Luke Kenneth Casson Leighton [Sun, 17 Feb 2019 13:09:55 +0000 (13:09 +0000)]
add single-cycle version of alignment process in fadd

5 years agoadd a variable-length single-cycle shift_down of mantissa, and unit test
Luke Kenneth Casson Leighton [Sun, 17 Feb 2019 13:07:06 +0000 (13:07 +0000)]
add a variable-length single-cycle shift_down of mantissa, and unit test

5 years agoadd a MultiShift class for generating single-cycle bit-shifters
Luke Kenneth Casson Leighton [Sun, 17 Feb 2019 10:03:51 +0000 (10:03 +0000)]
add a MultiShift class for generating single-cycle bit-shifters

5 years agoadd extra comments
Luke Kenneth Casson Leighton [Sun, 17 Feb 2019 08:22:03 +0000 (08:22 +0000)]
add extra comments

5 years agoadd double-width divide as well, and preliminary unit test
Luke Kenneth Casson Leighton [Sun, 17 Feb 2019 07:42:23 +0000 (07:42 +0000)]
add double-width divide as well, and preliminary unit test

5 years agoadd beginning unit tests for 64-bit add
Luke Kenneth Casson Leighton [Sun, 17 Feb 2019 07:16:22 +0000 (07:16 +0000)]
add beginning unit tests for 64-bit add

5 years agoconvert to more general base classes, start support for FP64
Luke Kenneth Casson Leighton [Sun, 17 Feb 2019 06:42:21 +0000 (06:42 +0000)]
convert to more general base classes, start support for FP64

5 years agoadd extra random div unit test cases
Luke Kenneth Casson Leighton [Sat, 16 Feb 2019 17:19:28 +0000 (17:19 +0000)]
add extra random div unit test cases

5 years agoadd another random div test
Luke Kenneth Casson Leighton [Sat, 16 Feb 2019 12:29:24 +0000 (12:29 +0000)]
add another random div test

5 years agocomment divisor stages
Luke Kenneth Casson Leighton [Sat, 16 Feb 2019 12:25:36 +0000 (12:25 +0000)]
comment divisor stages

5 years agorename (shorten) divisor variable names (and comment them)
Luke Kenneth Casson Leighton [Sat, 16 Feb 2019 12:22:12 +0000 (12:22 +0000)]
rename (shorten) divisor variable names (and comment them)

5 years agoadd extra arbitrary div unit test
Luke Kenneth Casson Leighton [Sat, 16 Feb 2019 12:14:21 +0000 (12:14 +0000)]
add extra arbitrary div unit test

5 years agocorrect comments
Luke Kenneth Casson Leighton [Sat, 16 Feb 2019 12:13:06 +0000 (12:13 +0000)]
correct comments

5 years agofirst initial success with div algorithm
Luke Kenneth Casson Leighton [Sat, 16 Feb 2019 12:10:49 +0000 (12:10 +0000)]
first initial success with div algorithm

5 years agoFixed typo in get_b state
Aleksandar Kostovic [Sat, 16 Feb 2019 11:34:59 +0000 (12:34 +0100)]
Fixed typo in get_b state

5 years agoDid get_b state in nmigen
Aleksandar Kostovic [Sat, 16 Feb 2019 11:34:17 +0000 (12:34 +0100)]
Did get_b state in nmigen

5 years agoDid get_a state in nmigen
Aleksandar Kostovic [Sat, 16 Feb 2019 11:27:29 +0000 (12:27 +0100)]
Did get_a state in nmigen

5 years agoremove some test cases from div
Luke Kenneth Casson Leighton [Sat, 16 Feb 2019 11:25:15 +0000 (11:25 +0000)]
remove some test cases from div

5 years agoadd div experiment
Luke Kenneth Casson Leighton [Sat, 16 Feb 2019 11:24:12 +0000 (11:24 +0000)]
add div experiment

5 years agoMade a file and started to do porting from verilog to nmigen
Aleksandar Kostovic [Sat, 16 Feb 2019 11:11:41 +0000 (12:11 +0100)]
Made a file and started to do porting from verilog to nmigen

5 years agoop_normalise does not need overflow class arg
Luke Kenneth Casson Leighton [Sat, 16 Feb 2019 11:03:28 +0000 (11:03 +0000)]
op_normalise does not need overflow class arg

5 years agosplit out base classes into separate fpbase module
Luke Kenneth Casson Leighton [Sat, 16 Feb 2019 10:51:06 +0000 (10:51 +0000)]
split out base classes into separate fpbase module

5 years agoadd op_normalise function
Luke Kenneth Casson Leighton [Sat, 16 Feb 2019 10:48:47 +0000 (10:48 +0000)]
add op_normalise function

5 years agopad with zeros if needed in decode
Luke Kenneth Casson Leighton [Sat, 16 Feb 2019 10:45:41 +0000 (10:45 +0000)]
pad with zeros if needed in decode

5 years agoseparate common functions into FPBase class
Luke Kenneth Casson Leighton [Sat, 16 Feb 2019 09:47:55 +0000 (09:47 +0000)]
separate common functions into FPBase class

5 years agomove denormalisation to function
Luke Kenneth Casson Leighton [Sat, 16 Feb 2019 09:45:25 +0000 (09:45 +0000)]
move denormalisation to function

5 years agoadd comment on special operations
Luke Kenneth Casson Leighton [Sat, 16 Feb 2019 09:41:49 +0000 (09:41 +0000)]
add comment on special operations

5 years agowhitespace cleanup and more comments
Luke Kenneth Casson Leighton [Sat, 16 Feb 2019 09:39:49 +0000 (09:39 +0000)]
whitespace cleanup and more comments

5 years agoget rid of unpack phase by making it part of the get_op
Luke Kenneth Casson Leighton [Sat, 16 Feb 2019 09:32:26 +0000 (09:32 +0000)]
get rid of unpack phase by making it part of the get_op

5 years agocomment functions
Luke Kenneth Casson Leighton [Sat, 16 Feb 2019 09:27:54 +0000 (09:27 +0000)]
comment functions

5 years agorename round function to roundz (round is a keyword)
Luke Kenneth Casson Leighton [Sat, 16 Feb 2019 09:15:47 +0000 (09:15 +0000)]
rename round function to roundz (round is a keyword)

5 years agocreate put_z function
Luke Kenneth Casson Leighton [Sat, 16 Feb 2019 09:14:26 +0000 (09:14 +0000)]
create put_z function

5 years agocreate pack function
Luke Kenneth Casson Leighton [Sat, 16 Feb 2019 09:12:22 +0000 (09:12 +0000)]
create pack function

5 years agocreate pack function
Luke Kenneth Casson Leighton [Sat, 16 Feb 2019 09:12:14 +0000 (09:12 +0000)]
create pack function

5 years agomove round to function
Luke Kenneth Casson Leighton [Sat, 16 Feb 2019 09:07:13 +0000 (09:07 +0000)]
move round to function

5 years agomove normalise_2 to function
Luke Kenneth Casson Leighton [Sat, 16 Feb 2019 09:05:53 +0000 (09:05 +0000)]
move normalise_2 to function

5 years agouse normalize_1 function
Luke Kenneth Casson Leighton [Sat, 16 Feb 2019 09:04:44 +0000 (09:04 +0000)]
use normalize_1 function

5 years agomove round, guard and sticky to separate clas
Luke Kenneth Casson Leighton [Sat, 16 Feb 2019 09:03:33 +0000 (09:03 +0000)]
move round, guard and sticky to separate clas

5 years agoadd normalise_1 function
Luke Kenneth Casson Leighton [Sat, 16 Feb 2019 09:01:43 +0000 (09:01 +0000)]
add normalise_1 function

5 years agouse get_op for get_b state too
Luke Kenneth Casson Leighton [Sat, 16 Feb 2019 08:55:09 +0000 (08:55 +0000)]
use get_op for get_b state too

5 years agocreate get_op function
Luke Kenneth Casson Leighton [Sat, 16 Feb 2019 08:54:33 +0000 (08:54 +0000)]
create get_op function

5 years agomove value, ack and stb to separate convenience class
Luke Kenneth Casson Leighton [Sat, 16 Feb 2019 08:48:21 +0000 (08:48 +0000)]
move value, ack and stb to separate convenience class

5 years agouse slice magic constants
Luke Kenneth Casson Leighton [Sat, 16 Feb 2019 08:39:25 +0000 (08:39 +0000)]
use slice magic constants

5 years agore-enable commented-out tests
Luke Kenneth Casson Leighton [Sat, 16 Feb 2019 08:36:41 +0000 (08:36 +0000)]
re-enable commented-out tests

5 years agoupdate README
Luke Kenneth Casson Leighton [Sat, 16 Feb 2019 07:54:04 +0000 (07:54 +0000)]
update README

5 years agoremove unneeded import
Luke Kenneth Casson Leighton [Sat, 16 Feb 2019 07:40:16 +0000 (07:40 +0000)]
remove unneeded import

5 years agowhitespace
Luke Kenneth Casson Leighton [Sat, 16 Feb 2019 07:37:27 +0000 (07:37 +0000)]
whitespace

5 years agono real point adding reset for internal pipeline variables
Luke Kenneth Casson Leighton [Sat, 16 Feb 2019 07:35:51 +0000 (07:35 +0000)]
no real point adding reset for internal pipeline variables

5 years agoadd pipeline class and example
Luke Kenneth Casson Leighton [Sat, 16 Feb 2019 07:02:06 +0000 (07:02 +0000)]
add pipeline class and example

5 years agomore arbitrary unit tests
Luke Kenneth Casson Leighton [Fri, 15 Feb 2019 15:47:02 +0000 (15:47 +0000)]
more arbitrary unit tests

5 years agouse constant P128 instead of 128
Luke Kenneth Casson Leighton [Fri, 15 Feb 2019 13:19:16 +0000 (13:19 +0000)]
use constant P128 instead of 128

5 years agoadd extra unit tests (infinity / NaN)
Luke Kenneth Casson Leighton [Fri, 15 Feb 2019 13:19:03 +0000 (13:19 +0000)]
add extra unit tests (infinity / NaN)

5 years agoadd extra unit tests
Luke Kenneth Casson Leighton [Fri, 15 Feb 2019 12:58:29 +0000 (12:58 +0000)]
add extra unit tests

5 years agoadd extra unit tests
Luke Kenneth Casson Leighton [Fri, 15 Feb 2019 12:51:42 +0000 (12:51 +0000)]
add extra unit tests

5 years agocorrections to shift_down and is_overflow, test "1.0 + 2.0 == 3.0" works
Luke Kenneth Casson Leighton [Fri, 15 Feb 2019 11:55:12 +0000 (11:55 +0000)]
corrections to shift_down and is_overflow, test "1.0 + 2.0 == 3.0" works

5 years agolots and lots of debugging corrections...
Luke Kenneth Casson Leighton [Fri, 15 Feb 2019 11:15:01 +0000 (11:15 +0000)]
lots and lots of debugging corrections...

5 years agoimprove assertion output for unit test
Luke Kenneth Casson Leighton [Fri, 15 Feb 2019 09:28:29 +0000 (09:28 +0000)]
improve assertion output for unit test

5 years agoadd simulation test code
Luke Kenneth Casson Leighton [Fri, 15 Feb 2019 09:26:24 +0000 (09:26 +0000)]
add simulation test code

5 years agocorrections from running simulation
Luke Kenneth Casson Leighton [Fri, 15 Feb 2019 09:26:07 +0000 (09:26 +0000)]
corrections from running simulation

5 years agoadd verilog conversion (commented out)
Luke Kenneth Casson Leighton [Thu, 14 Feb 2019 15:13:13 +0000 (15:13 +0000)]
add verilog conversion (commented out)

5 years agocorrections
Luke Kenneth Casson Leighton [Thu, 14 Feb 2019 15:10:44 +0000 (15:10 +0000)]
corrections

5 years agoremove verilog
Luke Kenneth Casson Leighton [Thu, 14 Feb 2019 14:59:14 +0000 (14:59 +0000)]
remove verilog

5 years agocorrections, out_z_* and friends are members of class
Luke Kenneth Casson Leighton [Thu, 14 Feb 2019 14:49:17 +0000 (14:49 +0000)]
corrections, out_z_* and friends are members of class

5 years agoadd in a "corrections" stage, small rework, split pack stage
Luke Kenneth Casson Leighton [Thu, 14 Feb 2019 14:46:19 +0000 (14:46 +0000)]
add in a "corrections" stage, small rework, split pack stage

5 years agoTranslate put_z verilog case into nmigen
Aleksandar Kostovic [Thu, 14 Feb 2019 14:37:57 +0000 (15:37 +0100)]
Translate put_z verilog case into nmigen

5 years agoadd and use is_overflowed function
Luke Kenneth Casson Leighton [Thu, 14 Feb 2019 14:26:11 +0000 (14:26 +0000)]
add and use is_overflowed function

5 years agocleanup
Luke Kenneth Casson Leighton [Thu, 14 Feb 2019 14:09:19 +0000 (14:09 +0000)]
cleanup

5 years agodocument guard/round/sticky and tot
Luke Kenneth Casson Leighton [Thu, 14 Feb 2019 14:06:31 +0000 (14:06 +0000)]
document guard/round/sticky and tot

5 years agoTranslate case from verilog to nmigen
Aleksandar Kostovic [Thu, 14 Feb 2019 14:03:08 +0000 (15:03 +0100)]
Translate case from verilog to nmigen

5 years agoadd code comments
Luke Kenneth Casson Leighton [Thu, 14 Feb 2019 12:52:48 +0000 (12:52 +0000)]
add code comments

5 years agoadd set-to-zero function
Luke Kenneth Casson Leighton [Thu, 14 Feb 2019 12:47:12 +0000 (12:47 +0000)]
add set-to-zero function

5 years agofix bug in nan/inf, exp-bias needed subtracting
Luke Kenneth Casson Leighton [Thu, 14 Feb 2019 12:47:01 +0000 (12:47 +0000)]
fix bug in nan/inf, exp-bias needed subtracting

5 years agoadd FPNum comment
Luke Kenneth Casson Leighton [Thu, 14 Feb 2019 12:46:03 +0000 (12:46 +0000)]
add FPNum comment

5 years agoadd comments for aleksander
Luke Kenneth Casson Leighton [Thu, 14 Feb 2019 11:35:06 +0000 (11:35 +0000)]
add comments for aleksander

5 years agoadd comments for aleksander
Luke Kenneth Casson Leighton [Thu, 14 Feb 2019 11:34:24 +0000 (11:34 +0000)]
add comments for aleksander

5 years agouse negative slice (now works)
Luke Kenneth Casson Leighton [Thu, 14 Feb 2019 11:22:46 +0000 (11:22 +0000)]
use negative slice (now works)

5 years agoremove a_s/b_s/z_s
Luke Kenneth Casson Leighton [Thu, 14 Feb 2019 11:09:59 +0000 (11:09 +0000)]
remove a_s/b_s/z_s

5 years agomove align down-shift to separate function
Luke Kenneth Casson Leighton [Thu, 14 Feb 2019 11:09:43 +0000 (11:09 +0000)]
move align down-shift to separate function

5 years agomove +127 for exponent bias into FPNum.create
Luke Kenneth Casson Leighton [Thu, 14 Feb 2019 10:53:14 +0000 (10:53 +0000)]
move +127 for exponent bias into FPNum.create

5 years agoremove unneeded code
Luke Kenneth Casson Leighton [Thu, 14 Feb 2019 10:51:45 +0000 (10:51 +0000)]
remove unneeded code

5 years agocomments
Luke Kenneth Casson Leighton [Thu, 14 Feb 2019 10:51:28 +0000 (10:51 +0000)]
comments

5 years agoadd zero, nan and inf checks
Luke Kenneth Casson Leighton [Thu, 14 Feb 2019 10:48:07 +0000 (10:48 +0000)]
add zero, nan and inf checks

5 years agocreate and use decode function
Luke Kenneth Casson Leighton [Thu, 14 Feb 2019 10:43:01 +0000 (10:43 +0000)]
create and use decode function

5 years agomove create, inf and nan to FPNum class
Luke Kenneth Casson Leighton [Thu, 14 Feb 2019 10:37:43 +0000 (10:37 +0000)]
move create, inf and nan to FPNum class

5 years agocreate FPNum class
Luke Kenneth Casson Leighton [Thu, 14 Feb 2019 10:35:13 +0000 (10:35 +0000)]
create FPNum class

5 years agoadd rounding stage
Luke Kenneth Casson Leighton [Thu, 14 Feb 2019 09:48:40 +0000 (09:48 +0000)]
add rounding stage

5 years agoadd comments
Luke Kenneth Casson Leighton [Thu, 14 Feb 2019 09:42:00 +0000 (09:42 +0000)]
add comments