ieee754fpu.git
4 years agoWorking (ish) fpsin iterative cordic
Michael Nolan [Thu, 16 Apr 2020 18:57:56 +0000 (14:57 -0400)]
Working (ish) fpsin iterative cordic

4 years agoAssert that fpsin_cos converts floats to fixed correctly
Michael Nolan [Thu, 16 Apr 2020 17:14:43 +0000 (13:14 -0400)]
Assert that fpsin_cos converts floats to fixed correctly

4 years agoBegin working on multi cycle float cordic
Michael Nolan [Thu, 16 Apr 2020 15:17:36 +0000 (11:17 -0400)]
Begin working on multi cycle float cordic

4 years agoAdd experiment testing the effects of adding extra bits to cordic
Michael Nolan [Tue, 14 Apr 2020 13:46:23 +0000 (09:46 -0400)]
Add experiment testing the effects of adding extra bits to cordic

4 years agoadd rtlil conversion and fix yield from in Cordic Data
Luke Kenneth Casson Leighton [Mon, 13 Apr 2020 17:22:56 +0000 (18:22 +0100)]
add rtlil conversion and fix yield from in Cordic Data

4 years agorun tests in parallel
Jacob Lifshay [Fri, 3 Apr 2020 07:07:25 +0000 (00:07 -0700)]
run tests in parallel

4 years agobuilding sfpy works
Jacob Lifshay [Fri, 3 Apr 2020 05:52:16 +0000 (22:52 -0700)]
building sfpy works

4 years agoadd not yet working .gitlab-ci.yml
Jacob Lifshay [Fri, 3 Apr 2020 05:27:49 +0000 (22:27 -0700)]
add not yet working .gitlab-ci.yml

4 years agoCombine a selectable number of rounds into one pipeline stage
Michael Nolan [Thu, 2 Apr 2020 17:01:46 +0000 (13:01 -0400)]
Combine a selectable number of rounds into one pipeline stage

4 years agoCleanup
Michael Nolan [Wed, 1 Apr 2020 17:29:01 +0000 (13:29 -0400)]
Cleanup

4 years agoCombine initial stage with first cordic stage
Michael Nolan [Wed, 1 Apr 2020 17:26:09 +0000 (13:26 -0400)]
Combine initial stage with first cordic stage

4 years agoAdd actual tests to test_pipeline.py
Michael Nolan [Wed, 1 Apr 2020 17:17:40 +0000 (13:17 -0400)]
Add actual tests to test_pipeline.py

4 years agoRegister each pipeline stage
Michael Nolan [Wed, 1 Apr 2020 17:17:27 +0000 (13:17 -0400)]
Register each pipeline stage

4 years agoAdd test for sin_cos_pipe (kinda working)
Michael Nolan [Wed, 1 Apr 2020 16:08:45 +0000 (12:08 -0400)]
Add test for sin_cos_pipe (kinda working)

4 years agoAdd test for sin_cos_pipe (not working still)
Michael Nolan [Wed, 1 Apr 2020 16:08:45 +0000 (12:08 -0400)]
Add test for sin_cos_pipe (not working still)

4 years agoConnect up pipeline stages
Michael Nolan [Wed, 1 Apr 2020 15:30:35 +0000 (11:30 -0400)]
Connect up pipeline stages

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