ieee754fpu.git
4 years agoBegin work on pipelined cordic
Michael Nolan [Wed, 1 Apr 2020 15:13:45 +0000 (11:13 -0400)]
Begin work on pipelined cordic

4 years agoCleanup
Michael Nolan [Tue, 31 Mar 2020 20:55:00 +0000 (16:55 -0400)]
Cleanup

4 years agoWorking sin/cos cordic
Michael Nolan [Tue, 31 Mar 2020 20:44:27 +0000 (16:44 -0400)]
Working sin/cos cordic

4 years agosin/cos cordic partially working
Michael Nolan [Tue, 31 Mar 2020 20:35:50 +0000 (16:35 -0400)]
sin/cos cordic partially working

4 years agoAdd test for sin_cos.py
Michael Nolan [Tue, 31 Mar 2020 19:47:52 +0000 (15:47 -0400)]
Add test for sin_cos.py

4 years agoBegin adding cordic
Michael Nolan [Tue, 31 Mar 2020 19:19:02 +0000 (15:19 -0400)]
Begin adding cordic

4 years agoyet another nuisance
Luke Kenneth Casson Leighton [Mon, 2 Mar 2020 15:53:49 +0000 (15:53 +0000)]
yet another nuisance

4 years agoannoying, see https://github.com/nmigen/nmigen/issues/302
Luke Kenneth Casson Leighton [Mon, 2 Mar 2020 15:42:16 +0000 (15:42 +0000)]
annoying, see https://github.com/nmigen/nmigen/issues/302
shift can no longer be signed, even if the amount is guaranteed signed

4 years agoApply Luke's suggestions/FIXME's
Michael Nolan [Thu, 27 Feb 2020 00:30:24 +0000 (19:30 -0500)]
Apply Luke's suggestions/FIXME's

4 years agomore fun comments
Luke Kenneth Casson Leighton [Wed, 26 Feb 2020 17:52:06 +0000 (17:52 +0000)]
more fun comments

4 years agoshuffle and comments
Luke Kenneth Casson Leighton [Wed, 26 Feb 2020 17:44:15 +0000 (17:44 +0000)]
shuffle and comments

4 years agoupdate comments on test partitioned signal
Luke Kenneth Casson Leighton [Wed, 26 Feb 2020 17:35:54 +0000 (17:35 +0000)]
update comments on test partitioned signal

4 years agotiny code-shuffle on GatedBitReverse
Luke Kenneth Casson Leighton [Wed, 26 Feb 2020 17:31:01 +0000 (17:31 +0000)]
tiny code-shuffle on GatedBitReverse

4 years agoAdd shift right to test_partsig and partsig
Michael Nolan [Wed, 26 Feb 2020 16:56:24 +0000 (11:56 -0500)]
Add shift right to test_partsig and partsig

4 years agoRename bitrev signal to shift_right (more descriptive)
Michael Nolan [Wed, 26 Feb 2020 16:46:23 +0000 (11:46 -0500)]
Rename bitrev signal to shift_right (more descriptive)

4 years agoShift left now working
Michael Nolan [Wed, 26 Feb 2020 16:37:21 +0000 (11:37 -0500)]
Shift left now working

4 years agoRemove element mux calculation from PartialResult
Michael Nolan [Wed, 26 Feb 2020 16:09:20 +0000 (11:09 -0500)]
Remove element mux calculation from PartialResult

4 years agoAdd bit reversal to part_shift_dynamic
Michael Nolan [Wed, 26 Feb 2020 15:56:50 +0000 (10:56 -0500)]
Add bit reversal to part_shift_dynamic

Shift Right not working yet

4 years agoAdd partitioned right shift to part_shift_scalar
Michael Nolan [Wed, 26 Feb 2020 14:08:00 +0000 (09:08 -0500)]
Add partitioned right shift to part_shift_scalar

4 years agoAdd gated bit reversal module
Michael Nolan [Mon, 24 Feb 2020 20:15:30 +0000 (15:15 -0500)]
Add gated bit reversal module

4 years agozero out entirety of mask explicitly
Luke Kenneth Casson Leighton [Mon, 24 Feb 2020 14:38:13 +0000 (14:38 +0000)]
zero out entirety of mask explicitly

4 years agozero bitmask in Shifter
Luke Kenneth Casson Leighton [Mon, 24 Feb 2020 14:35:11 +0000 (14:35 +0000)]
zero bitmask in Shifter

4 years agoskip shiftermask when bitwid=0
Luke Kenneth Casson Leighton [Sun, 23 Feb 2020 00:26:23 +0000 (00:26 +0000)]
skip shiftermask when bitwid=0

4 years agofix shiftermask error on pwid=0
Luke Kenneth Casson Leighton [Sat, 22 Feb 2020 23:55:51 +0000 (23:55 +0000)]
fix shiftermask error on pwid=0

4 years agoappend actual bit, see if coriolis issue goes away
Luke Kenneth Casson Leighton [Sat, 22 Feb 2020 23:36:48 +0000 (23:36 +0000)]
append actual bit, see if coriolis issue goes away

4 years agomust declare carry equal to width of partitions+1
Luke Kenneth Casson Leighton [Sat, 22 Feb 2020 17:13:26 +0000 (17:13 +0000)]
must declare carry equal to width of partitions+1

4 years agoadd carry (not zeros, a Const of correct width)
Luke Kenneth Casson Leighton [Sat, 22 Feb 2020 17:11:47 +0000 (17:11 +0000)]
add carry (not zeros, a Const of correct width)

4 years agozero carry-in on __neg__
Luke Kenneth Casson Leighton [Fri, 21 Feb 2020 16:08:16 +0000 (16:08 +0000)]
zero carry-in on __neg__

4 years agodeal with zero-width ShiftMask
Luke Kenneth Casson Leighton [Fri, 21 Feb 2020 13:00:57 +0000 (13:00 +0000)]
deal with zero-width ShiftMask

4 years agodeal with zero-width ShiftMask
Luke Kenneth Casson Leighton [Fri, 21 Feb 2020 13:00:38 +0000 (13:00 +0000)]
deal with zero-width ShiftMask

4 years agouse alternative class as an experiment for coriolis2
Luke Kenneth Casson Leighton [Fri, 21 Feb 2020 12:38:21 +0000 (12:38 +0000)]
use alternative class as an experiment for coriolis2

4 years agotest longer name
Luke Kenneth Casson Leighton [Thu, 20 Feb 2020 21:19:48 +0000 (21:19 +0000)]
test longer name

4 years agochange name to not clash with cell name add1
Luke Kenneth Casson Leighton [Thu, 20 Feb 2020 20:34:28 +0000 (20:34 +0000)]
change name to not clash with cell name add1

4 years agostop at end of mask index
Luke Kenneth Casson Leighton [Thu, 20 Feb 2020 20:06:25 +0000 (20:06 +0000)]
stop at end of mask index

4 years agoignore last bit of partition mask
Luke Kenneth Casson Leighton [Thu, 20 Feb 2020 20:04:14 +0000 (20:04 +0000)]
ignore last bit of partition mask

4 years agotest shift against scalar b input
Luke Kenneth Casson Leighton [Wed, 19 Feb 2020 14:33:23 +0000 (14:33 +0000)]
test shift against scalar b input

4 years agoall signals must be reset_less
Luke Kenneth Casson Leighton [Wed, 19 Feb 2020 14:20:21 +0000 (14:20 +0000)]
all signals must be reset_less

4 years agoadd fpflags to Overflow class
Luke Kenneth Casson Leighton [Mon, 17 Feb 2020 20:41:13 +0000 (20:41 +0000)]
add fpflags to Overflow class

4 years agocomment that roundz is a property
Luke Kenneth Casson Leighton [Mon, 17 Feb 2020 20:31:10 +0000 (20:31 +0000)]
comment that roundz is a property

4 years agopart_shift_scalar now has maked shift amounts working
Michael Nolan [Mon, 17 Feb 2020 16:32:01 +0000 (11:32 -0500)]
part_shift_scalar now has maked shift amounts working

4 years agoFix proof crashing instead of giving a vcd
Michael Nolan [Mon, 17 Feb 2020 16:07:47 +0000 (11:07 -0500)]
Fix proof crashing instead of giving a vcd

4 years agoIn progress
Michael Nolan [Mon, 17 Feb 2020 14:41:27 +0000 (09:41 -0500)]
In progress

4 years agoAdd ShifterMask modules to part_shift_scalar
Michael Nolan [Mon, 17 Feb 2020 14:10:13 +0000 (09:10 -0500)]
Add ShifterMask modules to part_shift_scalar

4 years agoadd in PartitionedScalarShift, ready for testing
Luke Kenneth Casson Leighton [Sat, 15 Feb 2020 17:46:54 +0000 (17:46 +0000)]
add in PartitionedScalarShift, ready for testing

4 years agowhoops shift width reduction not active
Luke Kenneth Casson Leighton [Sat, 15 Feb 2020 17:41:17 +0000 (17:41 +0000)]
whoops shift width reduction not active

4 years agoscalar partitioned shift moved, change module import name
Luke Kenneth Casson Leighton [Sat, 15 Feb 2020 17:18:27 +0000 (17:18 +0000)]
scalar partitioned shift moved, change module import name

4 years agoadd module __init__.py
Luke Kenneth Casson Leighton [Sat, 15 Feb 2020 17:16:40 +0000 (17:16 +0000)]
add module __init__.py

4 years agoset initial element to b_interval shape
Luke Kenneth Casson Leighton [Sat, 15 Feb 2020 15:46:24 +0000 (15:46 +0000)]
set initial element to b_interval shape

4 years agosplit out PartialResults to separate module
Luke Kenneth Casson Leighton [Sat, 15 Feb 2020 15:39:02 +0000 (15:39 +0000)]
split out PartialResults to separate module

4 years agosplit out ShifterMask to separate module
Luke Kenneth Casson Leighton [Sat, 15 Feb 2020 15:24:26 +0000 (15:24 +0000)]
split out ShifterMask to separate module

4 years agotruncate max_bits in shiftermask
Luke Kenneth Casson Leighton [Sat, 15 Feb 2020 15:12:41 +0000 (15:12 +0000)]
truncate max_bits in shiftermask

4 years agoreally annoying simulation bug, dont know whats going on
Luke Kenneth Casson Leighton [Sat, 15 Feb 2020 15:04:49 +0000 (15:04 +0000)]
really annoying simulation bug, dont know whats going on

4 years agoclip shift amount
Luke Kenneth Casson Leighton [Sat, 15 Feb 2020 14:30:38 +0000 (14:30 +0000)]
clip shift amount

4 years agocomment partial results
Luke Kenneth Casson Leighton [Sat, 15 Feb 2020 13:50:30 +0000 (13:50 +0000)]
comment partial results

4 years agotruncate partial result intermediate to width of partition
Luke Kenneth Casson Leighton [Sat, 15 Feb 2020 13:01:39 +0000 (13:01 +0000)]
truncate partial result intermediate to width of partition

4 years agomake things a little clearer, do the select and the OR separately
Luke Kenneth Casson Leighton [Sat, 15 Feb 2020 12:56:32 +0000 (12:56 +0000)]
make things a little clearer, do the select and the OR separately

4 years agoreduce bitwidth of intermediate output
Luke Kenneth Casson Leighton [Sat, 15 Feb 2020 12:55:32 +0000 (12:55 +0000)]
reduce bitwidth of intermediate output

4 years agoreduce partial result width
Luke Kenneth Casson Leighton [Sat, 15 Feb 2020 12:51:45 +0000 (12:51 +0000)]
reduce partial result width

4 years agostore partial result in signal otherwise it gets duplicated
Luke Kenneth Casson Leighton [Sat, 15 Feb 2020 12:47:09 +0000 (12:47 +0000)]
store partial result in signal otherwise it gets duplicated

4 years agostop expression-repeating cascade
Luke Kenneth Casson Leighton [Sat, 15 Feb 2020 12:46:53 +0000 (12:46 +0000)]
stop expression-repeating cascade

4 years agolimit shiftbits, partial results do not need to be so long
Luke Kenneth Casson Leighton [Sat, 15 Feb 2020 12:38:34 +0000 (12:38 +0000)]
limit shiftbits, partial results do not need to be so long

4 years agostore shiftmask bits in temporary otherwise the expression gets duplicated
Luke Kenneth Casson Leighton [Sat, 15 Feb 2020 12:13:39 +0000 (12:13 +0000)]
store shiftmask bits in temporary otherwise the expression gets duplicated

4 years agomake all signals resetless
Luke Kenneth Casson Leighton [Sat, 15 Feb 2020 12:04:01 +0000 (12:04 +0000)]
make all signals resetless

4 years agocomment why shift mask exists
Luke Kenneth Casson Leighton [Sat, 15 Feb 2020 11:55:06 +0000 (11:55 +0000)]
comment why shift mask exists

4 years agowhitespace
Luke Kenneth Casson Leighton [Sat, 15 Feb 2020 11:51:12 +0000 (11:51 +0000)]
whitespace

4 years agoremove out_intervals (unused)
Luke Kenneth Casson Leighton [Sat, 15 Feb 2020 11:50:47 +0000 (11:50 +0000)]
remove out_intervals (unused)

4 years agofix the shift-test to truncate b-input
Luke Kenneth Casson Leighton [Fri, 14 Feb 2020 22:04:12 +0000 (22:04 +0000)]
fix the shift-test to truncate b-input

4 years agoreduce range of b in shift test
Luke Kenneth Casson Leighton [Fri, 14 Feb 2020 21:41:53 +0000 (21:41 +0000)]
reduce range of b in shift test

4 years agore-add masking of the shift amount based on partition length
Michael Nolan [Fri, 14 Feb 2020 19:29:25 +0000 (14:29 -0500)]
re-add masking of the shift amount based on partition length

4 years agoMinor refactoring of part_shift_dynamic
Michael Nolan [Fri, 14 Feb 2020 16:23:32 +0000 (11:23 -0500)]
Minor refactoring of part_shift_dynamic

4 years agoRefactor part_shift_dynamic.py
Michael Nolan [Fri, 14 Feb 2020 15:28:29 +0000 (10:28 -0500)]
Refactor part_shift_dynamic.py

This removes the matrix of partial results by instead using the
partition bits to calculate the shifter (b) for each partition, and
computing a short table of partial results from that

4 years agoReplace giant switch statement with mux chain
Michael Nolan [Fri, 14 Feb 2020 14:22:59 +0000 (09:22 -0500)]
Replace giant switch statement with mux chain

4 years agoadd beginnings of shift unit test for partsig
Luke Kenneth Casson Leighton [Fri, 14 Feb 2020 10:48:37 +0000 (10:48 +0000)]
add beginnings of shift unit test for partsig

4 years agoreduce width of temporary intermediates
Luke Kenneth Casson Leighton [Thu, 13 Feb 2020 15:42:51 +0000 (15:42 +0000)]
reduce width of temporary intermediates

4 years agomention being a bit like the gt-combiner
Luke Kenneth Casson Leighton [Thu, 13 Feb 2020 15:33:48 +0000 (15:33 +0000)]
mention being a bit like the gt-combiner

4 years agoOR element in after the MUX because its an invariant
Luke Kenneth Casson Leighton [Thu, 13 Feb 2020 15:27:17 +0000 (15:27 +0000)]
OR element in after the MUX because its an invariant

4 years agostore intermediate in temp, append that to output
Luke Kenneth Casson Leighton [Thu, 13 Feb 2020 15:16:14 +0000 (15:16 +0000)]
store intermediate in temp, append that to output

4 years agoexperiment looking for minimum shift width
Luke Kenneth Casson Leighton [Thu, 13 Feb 2020 12:54:54 +0000 (12:54 +0000)]
experiment looking for minimum shift width

4 years agolimit matrix output width and limit shift amount
Luke Kenneth Casson Leighton [Thu, 13 Feb 2020 11:55:22 +0000 (11:55 +0000)]
limit matrix output width and limit shift amount

4 years agouse different style of output concatenation, reduce temp bitwidth
Luke Kenneth Casson Leighton [Thu, 13 Feb 2020 11:26:49 +0000 (11:26 +0000)]
use different style of output concatenation, reduce temp bitwidth

4 years agoEliminate unused entries in shift matrix
Michael Nolan [Wed, 12 Feb 2020 19:12:48 +0000 (14:12 -0500)]
Eliminate unused entries in shift matrix

4 years agoReduce width of b operand to minimum size needed
Michael Nolan [Wed, 12 Feb 2020 19:12:26 +0000 (14:12 -0500)]
Reduce width of b operand to minimum size needed

4 years agoExpand proof_shift_dynamic to 32 bits
Michael Nolan [Wed, 12 Feb 2020 19:08:13 +0000 (14:08 -0500)]
Expand proof_shift_dynamic to 32 bits

4 years agocomment the dynamic shifter
Luke Kenneth Casson Leighton [Wed, 12 Feb 2020 17:28:22 +0000 (17:28 +0000)]
comment the dynamic shifter

4 years agoRename part_shift_scalar/ to part_shift
Michael Nolan [Wed, 12 Feb 2020 16:43:56 +0000 (11:43 -0500)]
Rename part_shift_scalar/ to part_shift

4 years agoAdd formal proof for dynamic shifter
Michael Nolan [Wed, 12 Feb 2020 16:40:23 +0000 (11:40 -0500)]
Add formal proof for dynamic shifter

4 years agoSomewhat working dynamic shifter
Michael Nolan [Wed, 12 Feb 2020 16:22:18 +0000 (11:22 -0500)]
Somewhat working dynamic shifter

4 years agoFix whitespace
Michael Nolan [Wed, 12 Feb 2020 15:52:22 +0000 (10:52 -0500)]
Fix whitespace

4 years agoBegin adding dynamic shifter
Michael Nolan [Wed, 12 Feb 2020 15:51:26 +0000 (10:51 -0500)]
Begin adding dynamic shifter

4 years agoadd bit of extra explanatory comment for carry-ripple thing
Luke Kenneth Casson Leighton [Wed, 12 Feb 2020 15:10:00 +0000 (15:10 +0000)]
add bit of extra explanatory comment for carry-ripple thing

4 years agoRevise documentation for how carry works in adder.py
Michael Nolan [Wed, 12 Feb 2020 14:19:23 +0000 (09:19 -0500)]
Revise documentation for how carry works in adder.py

4 years agoallow factor of 2 in variance on random numbers
Luke Kenneth Casson Leighton [Tue, 11 Feb 2020 22:12:02 +0000 (22:12 +0000)]
allow factor of 2 in variance on random numbers

4 years agotest fp downconvert on min and normal numbers, +/- a bit
Luke Kenneth Casson Leighton [Tue, 11 Feb 2020 22:10:43 +0000 (22:10 +0000)]
test fp downconvert on min and normal numbers, +/- a bit

4 years agoadd range-focussed fp64/32-to-32/16 downconversion tests
Luke Kenneth Casson Leighton [Tue, 11 Feb 2020 19:17:51 +0000 (19:17 +0000)]
add range-focussed fp64/32-to-32/16 downconversion tests
these create a number that is *almost* in the target range so that it
will hit the min/max (inf) limit some of the time but not all

4 years agoRudimentary working partitioned scalar shifter
Michael Nolan [Mon, 10 Feb 2020 20:08:52 +0000 (15:08 -0500)]
Rudimentary working partitioned scalar shifter

4 years agoBegin adding partitioned scalar shifter
Michael Nolan [Mon, 10 Feb 2020 19:40:00 +0000 (14:40 -0500)]
Begin adding partitioned scalar shifter

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/