ieee754fpu.git
4 years agodocument partsig operators
Luke Kenneth Casson Leighton [Mon, 10 Feb 2020 20:39:54 +0000 (20:39 +0000)]
document partsig operators

4 years agoFix line length
Michael Nolan [Mon, 10 Feb 2020 16:27:42 +0000 (11:27 -0500)]
Fix line length

4 years agoFix carry output of adder/subtracter
Michael Nolan [Mon, 10 Feb 2020 16:23:11 +0000 (11:23 -0500)]
Fix carry output of adder/subtracter

4 years agoFix flake8 errors in part_cmp/
Michael Nolan [Mon, 10 Feb 2020 15:05:53 +0000 (10:05 -0500)]
Fix flake8 errors in part_cmp/

4 years agoFix flake8 errors in partsig.py
Michael Nolan [Mon, 10 Feb 2020 15:03:27 +0000 (10:03 -0500)]
Fix flake8 errors in partsig.py

4 years agoFix flake8 errors in test_partsig
Michael Nolan [Mon, 10 Feb 2020 14:58:33 +0000 (09:58 -0500)]
Fix flake8 errors in test_partsig

4 years agoMinor cleanup
Michael Nolan [Mon, 10 Feb 2020 14:45:49 +0000 (09:45 -0500)]
Minor cleanup

4 years agoAdd neg operator to partsig.py
Michael Nolan [Mon, 10 Feb 2020 14:42:34 +0000 (09:42 -0500)]
Add neg operator to partsig.py

4 years agoAdd subtraction to partsig.py
Michael Nolan [Mon, 10 Feb 2020 14:37:26 +0000 (09:37 -0500)]
Add subtraction to partsig.py

4 years agobug #113, add range-limited random numbers more likely to get within the
Luke Kenneth Casson Leighton [Mon, 10 Feb 2020 14:40:20 +0000 (14:40 +0000)]
bug #113, add range-limited random numbers more likely to get within the
target range of the integer to be converted to

4 years agogetting fed up of amount of test files being dropped into homedir, put in subdir
Luke Kenneth Casson Leighton [Mon, 10 Feb 2020 11:42:15 +0000 (11:42 +0000)]
getting fed up of amount of test files being dropped into homedir, put in subdir

4 years agomove nmutil to separate (dependent) library
Luke Kenneth Casson Leighton [Sun, 9 Feb 2020 20:02:36 +0000 (20:02 +0000)]
move nmutil to separate (dependent) library

4 years agoinvert after all() not before
Luke Kenneth Casson Leighton [Sun, 9 Feb 2020 18:41:34 +0000 (18:41 +0000)]
invert after all() not before

4 years agoboolean logic invert bool to all
Luke Kenneth Casson Leighton [Sun, 9 Feb 2020 18:41:03 +0000 (18:41 +0000)]
boolean logic invert bool to all

4 years agoreplace ~bool() with all()
Luke Kenneth Casson Leighton [Sun, 9 Feb 2020 18:35:35 +0000 (18:35 +0000)]
replace ~bool() with all()

4 years agouse nmigen all() instead of invert-invert bool()
Luke Kenneth Casson Leighton [Sun, 9 Feb 2020 18:28:42 +0000 (18:28 +0000)]
use nmigen all() instead of invert-invert bool()

4 years agowhitespace
Luke Kenneth Casson Leighton [Sun, 9 Feb 2020 18:25:33 +0000 (18:25 +0000)]
whitespace

4 years agogive a_bit proper name, make reset_less
Luke Kenneth Casson Leighton [Sun, 9 Feb 2020 18:25:20 +0000 (18:25 +0000)]
give a_bit proper name, make reset_less

4 years agoadd docstring explaining partitioned-add
Luke Kenneth Casson Leighton [Sun, 9 Feb 2020 18:24:35 +0000 (18:24 +0000)]
add docstring explaining partitioned-add

4 years agoadd MoveMSBDown class to be used in carry-out
Luke Kenneth Casson Leighton [Sun, 9 Feb 2020 18:11:57 +0000 (18:11 +0000)]
add MoveMSBDown class to be used in carry-out

4 years agoadd placeholder for test sub in partsig
Luke Kenneth Casson Leighton [Sun, 9 Feb 2020 15:12:00 +0000 (15:12 +0000)]
add placeholder for test sub in partsig

4 years agoadd 100 random integer tests to partitioned add
Luke Kenneth Casson Leighton [Sun, 9 Feb 2020 15:08:12 +0000 (15:08 +0000)]
add 100 random integer tests to partitioned add

4 years agoadd 100 random integer tests to partitioned add
Luke Kenneth Casson Leighton [Sun, 9 Feb 2020 14:53:22 +0000 (14:53 +0000)]
add 100 random integer tests to partitioned add

4 years agouse nmigen "implies" operator (really convenient)
Luke Kenneth Casson Leighton [Sun, 9 Feb 2020 14:52:06 +0000 (14:52 +0000)]
use nmigen "implies" operator (really convenient)

4 years agowhitespace cleanup, reduce 80 char length
Luke Kenneth Casson Leighton [Sun, 9 Feb 2020 14:47:28 +0000 (14:47 +0000)]
whitespace cleanup, reduce 80 char length

4 years agoadd NotImplementedError into partsig
Luke Kenneth Casson Leighton [Sun, 9 Feb 2020 14:38:34 +0000 (14:38 +0000)]
add NotImplementedError into partsig

4 years agoConvert partsig to use the existing add_op function
Michael Nolan [Sun, 9 Feb 2020 01:47:06 +0000 (20:47 -0500)]
Convert partsig to use the existing add_op function

4 years agoAdd rudimentary test for partitioned add with carry
Michael Nolan [Sun, 9 Feb 2020 00:55:34 +0000 (19:55 -0500)]
Add rudimentary test for partitioned add with carry

4 years agoAdd carry out to adder
Michael Nolan [Sat, 8 Feb 2020 18:19:30 +0000 (13:19 -0500)]
Add carry out to adder

4 years agoBegin adding carry in and carry out support to adder
Michael Nolan [Sat, 8 Feb 2020 18:15:28 +0000 (13:15 -0500)]
Begin adding carry in and carry out support to adder

4 years agominor codeshuffle, split out check of PartitionedSignal check,
Luke Kenneth Casson Leighton [Sat, 8 Feb 2020 19:02:04 +0000 (19:02 +0000)]
minor codeshuffle, split out check of PartitionedSignal check,
create add_op function which is called inverted-args in __rsub__

4 years agoadd comments
Luke Kenneth Casson Leighton [Sat, 8 Feb 2020 13:16:32 +0000 (13:16 +0000)]
add comments

4 years agotidyup PartitionedAdd
Luke Kenneth Casson Leighton [Fri, 7 Feb 2020 16:34:44 +0000 (16:34 +0000)]
tidyup PartitionedAdd

4 years agoadd shift operators TODO on partsig
Luke Kenneth Casson Leighton [Fri, 7 Feb 2020 16:29:19 +0000 (16:29 +0000)]
add shift operators TODO on partsig

4 years agocomment TODO on __neg__ operation
Luke Kenneth Casson Leighton [Fri, 7 Feb 2020 16:28:40 +0000 (16:28 +0000)]
comment TODO on __neg__ operation

4 years agoinvert partitioned op is just a bit-wise invert
Luke Kenneth Casson Leighton [Fri, 7 Feb 2020 16:27:35 +0000 (16:27 +0000)]
invert partitioned op is just a bit-wise invert

4 years agoupdate docstring and copyright notice
Luke Kenneth Casson Leighton [Fri, 7 Feb 2020 16:25:25 +0000 (16:25 +0000)]
update docstring and copyright notice

4 years agofix muxop test in part_sig test
Luke Kenneth Casson Leighton [Fri, 7 Feb 2020 15:06:33 +0000 (15:06 +0000)]
fix muxop test in part_sig test

4 years agofix part_mux to actually use Mux (duh)
Luke Kenneth Casson Leighton [Fri, 7 Feb 2020 14:54:26 +0000 (14:54 +0000)]
fix part_mux to actually use Mux (duh)

4 years agoRemove unneeded and gate in gt_combiner
Michael Nolan [Fri, 7 Feb 2020 14:58:32 +0000 (09:58 -0500)]
Remove unneeded and gate in gt_combiner

The and gate that forces the lanes that are not the MSB in a partiton
to 0 is no longer needed because reorder_bits ignores those bits.

4 years agofix syntax errors for test_partsig
Luke Kenneth Casson Leighton [Fri, 7 Feb 2020 14:47:07 +0000 (14:47 +0000)]
fix syntax errors for test_partsig

4 years agogrr correct syntax for assert
Luke Kenneth Casson Leighton [Fri, 7 Feb 2020 14:46:49 +0000 (14:46 +0000)]
grr correct syntax for assert

4 years agoFix != implementation in partsig.py
Michael Nolan [Fri, 7 Feb 2020 14:38:47 +0000 (09:38 -0500)]
Fix != implementation in partsig.py

4 years agoModify test_partsig to handle the new changes to reorder_bits, add new testcases
Michael Nolan [Fri, 7 Feb 2020 14:30:30 +0000 (09:30 -0500)]
Modify test_partsig to handle the new changes to reorder_bits, add new testcases

Removes != test because it's not actually working yet

4 years agomodify reorder_bits to copy the MSB of the partition to each bit
Michael Nolan [Fri, 7 Feb 2020 14:29:32 +0000 (09:29 -0500)]
modify reorder_bits to copy the MSB of the partition to each bit

Previously, it would move the MSB to the LSB, and set the rest of the
bits to 0.

4 years agoadd unit test for part_mux
Luke Kenneth Casson Leighton [Fri, 7 Feb 2020 14:38:08 +0000 (14:38 +0000)]
add unit test for part_mux

4 years agowhoops syntax error
Luke Kenneth Casson Leighton [Fri, 7 Feb 2020 14:38:00 +0000 (14:38 +0000)]
whoops syntax error

4 years agoadd first version of part_mux
Luke Kenneth Casson Leighton [Fri, 7 Feb 2020 14:26:40 +0000 (14:26 +0000)]
add first version of part_mux

4 years agouse assert not raise ValueError
Luke Kenneth Casson Leighton [Fri, 7 Feb 2020 14:18:21 +0000 (14:18 +0000)]
use assert not raise ValueError

4 years agoripple of LSB from compare-operations, successful
Luke Kenneth Casson Leighton [Fri, 7 Feb 2020 14:07:45 +0000 (14:07 +0000)]
ripple of LSB from compare-operations, successful

4 years agoadd first (untested) version of ripple-LSB
Luke Kenneth Casson Leighton [Fri, 7 Feb 2020 14:06:09 +0000 (14:06 +0000)]
add first (untested) version of ripple-LSB

4 years agoadd extra operators to be implemented to partsig
Luke Kenneth Casson Leighton [Fri, 7 Feb 2020 13:56:01 +0000 (13:56 +0000)]
add extra operators to be implemented to partsig

4 years agoadd stub operators to partsig to help make it clear what is needed
Luke Kenneth Casson Leighton [Thu, 6 Feb 2020 18:07:20 +0000 (18:07 +0000)]
add stub operators to partsig to help make it clear what is needed

4 years agoTODO on NE partsig op
Luke Kenneth Casson Leighton [Thu, 6 Feb 2020 16:28:34 +0000 (16:28 +0000)]
TODO on NE partsig op

4 years agomake common function for testing comparators
Luke Kenneth Casson Leighton [Thu, 6 Feb 2020 14:57:57 +0000 (14:57 +0000)]
make common function for testing comparators

4 years agorestructure partsig, use common function for PartitionedEqGtGe
Luke Kenneth Casson Leighton [Thu, 6 Feb 2020 14:41:04 +0000 (14:41 +0000)]
restructure partsig, use common function for PartitionedEqGtGe

4 years agofix partsig gt test, add ge test
Luke Kenneth Casson Leighton [Thu, 6 Feb 2020 14:34:41 +0000 (14:34 +0000)]
fix partsig gt test, add ge test

4 years agoadd __ge__ partsig operator
Luke Kenneth Casson Leighton [Thu, 6 Feb 2020 14:31:42 +0000 (14:31 +0000)]
add __ge__ partsig operator

4 years agoadd gt part_sig operator
Luke Kenneth Casson Leighton [Thu, 6 Feb 2020 14:27:40 +0000 (14:27 +0000)]
add gt part_sig operator

4 years agoFix test_partsig's invalid result for the equals test
Michael Nolan [Thu, 6 Feb 2020 02:11:25 +0000 (21:11 -0500)]
Fix test_partsig's invalid result for the equals test

4 years agoAdd 0 assertions to the proof for eq_gt_ge
Michael Nolan [Thu, 6 Feb 2020 02:06:49 +0000 (21:06 -0500)]
Add 0 assertions to the proof for eq_gt_ge

4 years agoFix order of results from PartitionedEqGtGe
Michael Nolan [Wed, 5 Feb 2020 23:44:00 +0000 (18:44 -0500)]
Fix order of results from PartitionedEqGtGe

4 years agomove unused partitioned comparison modules to experiments/
Michael Nolan [Wed, 5 Feb 2020 15:54:24 +0000 (10:54 -0500)]
move unused partitioned comparison modules to experiments/

4 years agomove gt_combiner out of experiments/
Michael Nolan [Wed, 5 Feb 2020 15:52:47 +0000 (10:52 -0500)]
move gt_combiner out of experiments/

4 years agoadd extra tests, find out whats going on with eq_gt_ge
Luke Kenneth Casson Leighton [Wed, 5 Feb 2020 20:43:46 +0000 (20:43 +0000)]
add extra tests, find out whats going on with eq_gt_ge

4 years agoquick test shows eq_gt_ge.py returning output in reverse order
Luke Kenneth Casson Leighton [Wed, 5 Feb 2020 17:38:08 +0000 (17:38 +0000)]
quick test shows eq_gt_ge.py returning output in reverse order

4 years agodebug string for part-eq is an eq not +
Luke Kenneth Casson Leighton [Wed, 5 Feb 2020 17:06:06 +0000 (17:06 +0000)]
debug string for part-eq is an eq not +

4 years agouse PartitionedEqGtGe for eq function in partitioned signal
Luke Kenneth Casson Leighton [Wed, 5 Feb 2020 17:00:55 +0000 (17:00 +0000)]
use PartitionedEqGtGe for eq function in partitioned signal

4 years agoadd constants for opcode, EQ/GT/GE, probably better way to do this
Luke Kenneth Casson Leighton [Wed, 5 Feb 2020 16:58:52 +0000 (16:58 +0000)]
add constants for opcode, EQ/GT/GE, probably better way to do this

4 years agowhitespace
Luke Kenneth Casson Leighton [Wed, 5 Feb 2020 16:54:16 +0000 (16:54 +0000)]
whitespace

4 years ago80 char limit
Luke Kenneth Casson Leighton [Wed, 5 Feb 2020 16:53:48 +0000 (16:53 +0000)]
80 char limit

4 years agowhitespace
Luke Kenneth Casson Leighton [Wed, 5 Feb 2020 16:51:58 +0000 (16:51 +0000)]
whitespace

4 years agomore whitespace
Luke Kenneth Casson Leighton [Wed, 5 Feb 2020 16:49:26 +0000 (16:49 +0000)]
more whitespace

4 years agowhitespace
Luke Kenneth Casson Leighton [Wed, 5 Feb 2020 16:48:28 +0000 (16:48 +0000)]
whitespace

4 years agoAdd module to handle partitioned eq, gt, and ge comparisons
Michael Nolan [Wed, 5 Feb 2020 15:37:14 +0000 (10:37 -0500)]
Add module to handle partitioned eq, gt, and ge comparisons

4 years agoReverse order of gt combiner so it works MSB first
Michael Nolan [Wed, 5 Feb 2020 15:06:40 +0000 (10:06 -0500)]
Reverse order of gt combiner so it works MSB first

4 years agoAdd a signal to disable the gt inputs to gt_combiner
Michael Nolan [Wed, 5 Feb 2020 14:40:56 +0000 (09:40 -0500)]
Add a signal to disable the gt inputs to gt_combiner

4 years agoAdd proof for equals module
Michael Nolan [Wed, 5 Feb 2020 14:27:12 +0000 (09:27 -0500)]
Add proof for equals module

4 years agouse EQCombiner in PartitionedEq experiment
Luke Kenneth Casson Leighton [Wed, 5 Feb 2020 13:34:05 +0000 (13:34 +0000)]
use EQCombiner in PartitionedEq experiment

4 years agostart partitioned mux class
Luke Kenneth Casson Leighton [Tue, 4 Feb 2020 18:50:49 +0000 (18:50 +0000)]
start partitioned mux class

4 years agoadd experiments __init__.py
Luke Kenneth Casson Leighton [Tue, 4 Feb 2020 18:12:04 +0000 (18:12 +0000)]
add experiments __init__.py

4 years agoremove comments, sort out string name, add __init__.pys
Luke Kenneth Casson Leighton [Tue, 4 Feb 2020 18:11:25 +0000 (18:11 +0000)]
remove comments, sort out string name, add __init__.pys

4 years agobit of whitespace
Luke Kenneth Casson Leighton [Tue, 4 Feb 2020 15:12:02 +0000 (15:12 +0000)]
bit of whitespace

4 years agousing format is a bit long for 1 argument, just use %d
Luke Kenneth Casson Leighton [Tue, 4 Feb 2020 15:09:11 +0000 (15:09 +0000)]
using format is a bit long for 1 argument, just use %d

4 years agoModify gt experiment to handle eq as well
Michael Nolan [Tue, 4 Feb 2020 03:28:50 +0000 (22:28 -0500)]
Modify gt experiment to handle eq as well

4 years agoAdd proof for using the greater than combiner to do equals as well
Michael Nolan [Mon, 3 Feb 2020 20:16:05 +0000 (15:16 -0500)]
Add proof for using the greater than combiner to do equals as well

It works for the active outputs, however some of the active outputs
get set to 1 instead of 0

4 years agoAdd tree-based greater than experiment
Michael Nolan [Mon, 3 Feb 2020 20:00:53 +0000 (15:00 -0500)]
Add tree-based greater than experiment

4 years agoMove experiments with partition methods to a separate folder
Michael Nolan [Mon, 3 Feb 2020 19:41:36 +0000 (14:41 -0500)]
Move experiments with partition methods to a separate folder

4 years agoAdd tree based partitioned equals module
Michael Nolan [Mon, 3 Feb 2020 19:34:29 +0000 (14:34 -0500)]
Add tree based partitioned equals module

4 years agoRename partition_combiner to eq_combiner
Michael Nolan [Mon, 3 Feb 2020 17:13:20 +0000 (12:13 -0500)]
Rename partition_combiner to eq_combiner

4 years agoAdd an alternative partitioned equals combiner module
Michael Nolan [Mon, 3 Feb 2020 15:41:00 +0000 (10:41 -0500)]
Add an alternative partitioned equals combiner module

4 years agoadd first untested ge.py for partitioned signnal
Luke Kenneth Casson Leighton [Mon, 3 Feb 2020 11:51:51 +0000 (11:51 +0000)]
add first untested ge.py for partitioned signnal

4 years agoHandle -0 and +0 equals and <
Michael Nolan [Sun, 2 Feb 2020 19:41:56 +0000 (14:41 -0500)]
Handle -0 and +0 equals and <

4 years agoAdd test case for NaN and -0 handling to fpmax
Michael Nolan [Sun, 2 Feb 2020 18:37:10 +0000 (13:37 -0500)]
Add test case for NaN and -0 handling to fpmax

4 years agoReplace If and Switch statements with muxes in fpcmp.py
Michael Nolan [Sun, 2 Feb 2020 17:47:50 +0000 (12:47 -0500)]
Replace If and Switch statements with muxes in fpcmp.py

4 years agoAdd formal proof for FLT and FLE for FPCMP
Michael Nolan [Sun, 2 Feb 2020 17:31:17 +0000 (12:31 -0500)]
Add formal proof for FLT and FLE for FPCMP

4 years agoAdd FLT and FLE functionality to FPCMP
Michael Nolan [Sun, 2 Feb 2020 16:59:20 +0000 (11:59 -0500)]
Add FLT and FLE functionality to FPCMP

4 years agoHandle NaNs for FPCMP
Michael Nolan [Sun, 2 Feb 2020 16:42:17 +0000 (11:42 -0500)]
Handle NaNs for FPCMP

4 years agoAdd feq functionality to fpcmp
Michael Nolan [Sun, 2 Feb 2020 16:29:48 +0000 (11:29 -0500)]
Add feq functionality to fpcmp

4 years agoBegin adding formal proof for fpcmp
Michael Nolan [Sun, 2 Feb 2020 16:29:20 +0000 (11:29 -0500)]
Begin adding formal proof for fpcmp