Luke Kenneth Casson Leighton [Sun, 25 Aug 2019 13:45:20 +0000 (14:45 +0100)]
rewrite fpadd specialcases to use Mux instead of m.IF/Elif/Elif/Elif
Luke Kenneth Casson Leighton [Sun, 25 Aug 2019 12:43:26 +0000 (13:43 +0100)]
code-morph on add special-cases
Luke Kenneth Casson Leighton [Sun, 25 Aug 2019 12:25:17 +0000 (13:25 +0100)]
remove weirdness
Luke Kenneth Casson Leighton [Sun, 25 Aug 2019 11:44:22 +0000 (12:44 +0100)]
remove out_do_z, update comments (whitespace)
Luke Kenneth Casson Leighton [Sun, 25 Aug 2019 11:38:34 +0000 (12:38 +0100)]
code comments
Luke Kenneth Casson Leighton [Sun, 25 Aug 2019 11:31:16 +0000 (12:31 +0100)]
rework add aligner to use Mux instead of m.If/Else
Luke Kenneth Casson Leighton [Sun, 25 Aug 2019 10:46:25 +0000 (11:46 +0100)]
remove use of out_do_z in add align
Luke Kenneth Casson Leighton [Sun, 25 Aug 2019 10:45:36 +0000 (11:45 +0100)]
rework add1 to not use out_do_z and use Mux instead of m.If/Else
Luke Kenneth Casson Leighton [Sun, 25 Aug 2019 10:23:42 +0000 (11:23 +0100)]
reorg add0 to use Mux instead of m.If/Else
Luke Kenneth Casson Leighton [Sun, 25 Aug 2019 10:06:49 +0000 (11:06 +0100)]
use Mux instead of m.If/Elif on add sign
Luke Kenneth Casson Leighton [Sun, 25 Aug 2019 10:04:02 +0000 (11:04 +0100)]
remove out_do_z from add0
Luke Kenneth Casson Leighton [Sun, 25 Aug 2019 09:15:39 +0000 (10:15 +0100)]
remove use of out_do_z, use Mux instead of m.If/Else
Luke Kenneth Casson Leighton [Sun, 25 Aug 2019 09:09:48 +0000 (10:09 +0100)]
remove out_do_z test
Luke Kenneth Casson Leighton [Sun, 25 Aug 2019 09:03:42 +0000 (10:03 +0100)]
rework roundz to use Mux
Luke Kenneth Casson Leighton [Sun, 25 Aug 2019 08:57:05 +0000 (09:57 +0100)]
use Mux in fp corrections
Luke Kenneth Casson Leighton [Sun, 25 Aug 2019 08:50:47 +0000 (09:50 +0100)]
cleanup on msb1 and align: use Mux, remove out_do_z
Luke Kenneth Casson Leighton [Sun, 25 Aug 2019 08:05:55 +0000 (09:05 +0100)]
morph mul1 to use Mux rather than m.If/Else
Luke Kenneth Casson Leighton [Sun, 25 Aug 2019 07:10:28 +0000 (08:10 +0100)]
do not make mul1 processing conditional on out_do_z
Luke Kenneth Casson Leighton [Fri, 23 Aug 2019 14:34:23 +0000 (15:34 +0100)]
add Stage API setup/process to AddReduceInternal
Luke Kenneth Casson Leighton [Fri, 23 Aug 2019 14:19:54 +0000 (15:19 +0100)]
add in setup/process functions in multiply
Luke Kenneth Casson Leighton [Fri, 23 Aug 2019 13:28:47 +0000 (14:28 +0100)]
remove use of AddReduce, use AddReduceInternal instead
Luke Kenneth Casson Leighton [Fri, 23 Aug 2019 12:34:15 +0000 (13:34 +0100)]
whoops forgot to set partition_step in AddReduceSingle, to be passed to as_mask
Luke Kenneth Casson Leighton [Fri, 23 Aug 2019 12:29:34 +0000 (13:29 +0100)]
pass in partition step parameter
Luke Kenneth Casson Leighton [Fri, 23 Aug 2019 12:26:40 +0000 (13:26 +0100)]
munge AddReduce internals
Luke Kenneth Casson Leighton [Fri, 23 Aug 2019 12:16:45 +0000 (13:16 +0100)]
remove unneeded code
Luke Kenneth Casson Leighton [Fri, 23 Aug 2019 11:23:50 +0000 (12:23 +0100)]
continue ispec/ospec on multiply
Luke Kenneth Casson Leighton [Fri, 23 Aug 2019 11:02:07 +0000 (12:02 +0100)]
start adding ispec/ospec to multiply.py
Luke Kenneth Casson Leighton [Fri, 23 Aug 2019 10:38:46 +0000 (11:38 +0100)]
use bit_select instead of part, again
Luke Kenneth Casson Leighton [Fri, 23 Aug 2019 10:37:35 +0000 (11:37 +0100)]
missing arg in InputData.eq_from
Luke Kenneth Casson Leighton [Fri, 23 Aug 2019 10:36:58 +0000 (11:36 +0100)]
:1136
Luke Kenneth Casson Leighton [Fri, 23 Aug 2019 10:36:37 +0000 (11:36 +0100)]
split out AddReduce module level creation
Luke Kenneth Casson Leighton [Fri, 23 Aug 2019 10:25:58 +0000 (11:25 +0100)]
rename AllTermsData to InputData, use as input to base class Mul8_16_32_64
Luke Kenneth Casson Leighton [Fri, 23 Aug 2019 10:21:23 +0000 (11:21 +0100)]
remove register_levels from AddReduceSingle and Final
Luke Kenneth Casson Leighton [Fri, 23 Aug 2019 10:17:55 +0000 (11:17 +0100)]
remove need to pass register_levels to AddReduceSingle
Luke Kenneth Casson Leighton [Fri, 23 Aug 2019 10:17:29 +0000 (11:17 +0100)]
more variable renaming
Luke Kenneth Casson Leighton [Fri, 23 Aug 2019 10:14:13 +0000 (11:14 +0100)]
more variable renaming
Luke Kenneth Casson Leighton [Fri, 23 Aug 2019 09:46:11 +0000 (10:46 +0100)]
rename some variables in the multiplier code:
expanded_part_pts -> part_pts
inputs -> terms
Luke Kenneth Casson Leighton [Fri, 23 Aug 2019 09:41:13 +0000 (10:41 +0100)]
use new doubling of PartitionedAdder points (in-place expansion)
Luke Kenneth Casson Leighton [Fri, 23 Aug 2019 09:39:35 +0000 (10:39 +0100)]
in-place expansion of partition points
Luke Kenneth Casson Leighton [Fri, 23 Aug 2019 08:57:35 +0000 (09:57 +0100)]
use new sim.add_clock "if_exists" parameter. needed for combinatorial blocks
Luke Kenneth Casson Leighton [Fri, 23 Aug 2019 08:49:30 +0000 (09:49 +0100)]
use better test of whether block is combinatorial
Luke Kenneth Casson Leighton [Thu, 22 Aug 2019 23:45:38 +0000 (00:45 +0100)]
create AllTermsData class and use it
Luke Kenneth Casson Leighton [Thu, 22 Aug 2019 23:39:13 +0000 (00:39 +0100)]
move part-bytes to AllTerms
Luke Kenneth Casson Leighton [Thu, 22 Aug 2019 18:46:27 +0000 (19:46 +0100)]
use intermediate data from finalout, move AllTerms class
Luke Kenneth Casson Leighton [Thu, 22 Aug 2019 18:44:49 +0000 (19:44 +0100)]
move product terms to new "AllTerms" module
Luke Kenneth Casson Leighton [Thu, 22 Aug 2019 07:04:06 +0000 (08:04 +0100)]
move part modules into FinalOut
Luke Kenneth Casson Leighton [Thu, 22 Aug 2019 06:37:44 +0000 (07:37 +0100)]
move intermediates to separate module, use i/o data struct
Luke Kenneth Casson Leighton [Thu, 22 Aug 2019 02:12:39 +0000 (03:12 +0100)]
silly rename get_test_cases to get_tst_cases, stops detection as a unit test
Luke Kenneth Casson Leighton [Thu, 22 Aug 2019 02:11:57 +0000 (03:11 +0100)]
skip add clock on combinatorial tests
Luke Kenneth Casson Leighton [Thu, 22 Aug 2019 01:41:44 +0000 (02:41 +0100)]
reduce multiply sim delay by 1/10th, seems to "fix" test problem
Luke Kenneth Casson Leighton [Thu, 22 Aug 2019 01:27:02 +0000 (02:27 +0100)]
move and reorg create_next_terms in AddReduceSingle, call in elaborate
Luke Kenneth Casson Leighton [Thu, 22 Aug 2019 01:13:22 +0000 (02:13 +0100)]
rename inputs to not include []
Luke Kenneth Casson Leighton [Thu, 22 Aug 2019 01:08:39 +0000 (02:08 +0100)]
move groups test to top of loop
Luke Kenneth Casson Leighton [Thu, 22 Aug 2019 01:08:23 +0000 (02:08 +0100)]
generate ilang for each part mul test
Luke Kenneth Casson Leighton [Thu, 22 Aug 2019 00:49:56 +0000 (01:49 +0100)]
rename to next_groups
Luke Kenneth Casson Leighton [Wed, 21 Aug 2019 16:53:30 +0000 (17:53 +0100)]
more resetless
Luke Kenneth Casson Leighton [Wed, 21 Aug 2019 16:44:49 +0000 (17:44 +0100)]
rename self._intermediate_output
Luke Kenneth Casson Leighton [Wed, 21 Aug 2019 16:41:27 +0000 (17:41 +0100)]
move intermediate expanded a/b/o to locals
Luke Kenneth Casson Leighton [Wed, 21 Aug 2019 16:37:43 +0000 (17:37 +0100)]
resetless on intermediaries
Luke Kenneth Casson Leighton [Wed, 21 Aug 2019 15:12:58 +0000 (16:12 +0100)]
move part_mask
Luke Kenneth Casson Leighton [Wed, 21 Aug 2019 15:11:12 +0000 (16:11 +0100)]
always add FinalAdd module
Luke Kenneth Casson Leighton [Wed, 21 Aug 2019 15:10:59 +0000 (16:10 +0100)]
use FinalReduceData
Luke Kenneth Casson Leighton [Wed, 21 Aug 2019 14:57:18 +0000 (15:57 +0100)]
pass data around using classes in AddReduce
Luke Kenneth Casson Leighton [Wed, 21 Aug 2019 14:19:45 +0000 (15:19 +0100)]
remove referring to _resized_inputs
Luke Kenneth Casson Leighton [Wed, 21 Aug 2019 14:17:25 +0000 (15:17 +0100)]
use part_ops not out_part_ops
Luke Kenneth Casson Leighton [Wed, 21 Aug 2019 14:14:00 +0000 (15:14 +0100)]
add in AddReduceData into AddReduceSingle class
Luke Kenneth Casson Leighton [Wed, 21 Aug 2019 14:12:47 +0000 (15:12 +0100)]
add in AddReduceData into FinalAdd class
Luke Kenneth Casson Leighton [Wed, 21 Aug 2019 10:09:04 +0000 (11:09 +0100)]
change AddReduceSingle/Final to take size of arrays rather than arrays
Luke Kenneth Casson Leighton [Wed, 21 Aug 2019 09:26:59 +0000 (10:26 +0100)]
move input assignments (chain) out of AddReduceSingle
Luke Kenneth Casson Leighton [Wed, 21 Aug 2019 09:20:00 +0000 (10:20 +0100)]
move final adder to separate module
Luke Kenneth Casson Leighton [Wed, 21 Aug 2019 08:40:22 +0000 (09:40 +0100)]
syntax error
Luke Kenneth Casson Leighton [Wed, 21 Aug 2019 07:27:56 +0000 (08:27 +0100)]
add AddReduceData class
Luke Kenneth Casson Leighton [Wed, 21 Aug 2019 05:12:57 +0000 (06:12 +0100)]
cleanup
Luke Kenneth Casson Leighton [Wed, 21 Aug 2019 05:11:13 +0000 (06:11 +0100)]
remove delayed_parts
Luke Kenneth Casson Leighton [Wed, 21 Aug 2019 05:08:15 +0000 (06:08 +0100)]
use reg_partition_points to create new Parts at final output
Luke Kenneth Casson Leighton [Wed, 21 Aug 2019 04:56:49 +0000 (05:56 +0100)]
add expanded parts to Part, use new Parts module
Luke Kenneth Casson Leighton [Wed, 21 Aug 2019 04:47:06 +0000 (05:47 +0100)]
add mul factor to PartitionPoints.like
Luke Kenneth Casson Leighton [Wed, 21 Aug 2019 04:45:43 +0000 (05:45 +0100)]
add new Parts class
Luke Kenneth Casson Leighton [Tue, 20 Aug 2019 13:53:58 +0000 (14:53 +0100)]
move expanded_part_pts further up
Luke Kenneth Casson Leighton [Tue, 20 Aug 2019 13:51:23 +0000 (14:51 +0100)]
move part_byte to PartitionPoints
Luke Kenneth Casson Leighton [Tue, 20 Aug 2019 13:15:43 +0000 (14:15 +0100)]
rename delayed_part_ops to part_ops
Luke Kenneth Casson Leighton [Tue, 20 Aug 2019 13:14:52 +0000 (14:14 +0100)]
remove delayed part ops, now inside AddReduceSingle
Luke Kenneth Casson Leighton [Tue, 20 Aug 2019 13:06:50 +0000 (14:06 +0100)]
add missing arg part_ops to unit test
Luke Kenneth Casson Leighton [Tue, 20 Aug 2019 13:05:19 +0000 (14:05 +0100)]
do not need delayed_part_ops
Luke Kenneth Casson Leighton [Tue, 20 Aug 2019 10:44:41 +0000 (11:44 +0100)]
pass in part_ops to AddReduce, so that it is syncd alongside the other data
Luke Kenneth Casson Leighton [Tue, 20 Aug 2019 09:57:54 +0000 (10:57 +0100)]
whitespace
Luke Kenneth Casson Leighton [Tue, 20 Aug 2019 09:34:26 +0000 (10:34 +0100)]
removing recursion from AddReduce
Luke Kenneth Casson Leighton [Tue, 20 Aug 2019 07:34:43 +0000 (08:34 +0100)]
update explanatory comments
Luke Kenneth Casson Leighton [Tue, 20 Aug 2019 06:53:46 +0000 (07:53 +0100)]
MaskedFullAdder performs ANDing in a group by pre-shifting the carry bits
Luke Kenneth Casson Leighton [Tue, 20 Aug 2019 06:13:47 +0000 (07:13 +0100)]
split "actionable" part of AddReduce out from "recursive" part
Luke Kenneth Casson Leighton [Tue, 20 Aug 2019 05:56:19 +0000 (06:56 +0100)]
update comments
Luke Kenneth Casson Leighton [Tue, 20 Aug 2019 05:53:25 +0000 (06:53 +0100)]
add to docstrings in PartitionedAdder
Luke Kenneth Casson Leighton [Tue, 20 Aug 2019 05:52:18 +0000 (06:52 +0100)]
add to docstrings in PartitionedAdder
Luke Kenneth Casson Leighton [Tue, 20 Aug 2019 05:43:07 +0000 (06:43 +0100)]
create a new "MaskedFullAdder" class, which performs the partition-carry mask
the FullAdder is always masked, so a derivative class is created.
cleans up the graphviz output a lot
Luke Kenneth Casson Leighton [Tue, 20 Aug 2019 05:31:27 +0000 (06:31 +0100)]
add docstrings / comments to PartitionedAdder
Luke Kenneth Casson Leighton [Tue, 20 Aug 2019 05:22:51 +0000 (06:22 +0100)]
spelling mistake $i instead of %i
Luke Kenneth Casson Leighton [Mon, 19 Aug 2019 14:29:30 +0000 (15:29 +0100)]
rename temporary value
Luke Kenneth Casson Leighton [Mon, 19 Aug 2019 14:28:21 +0000 (15:28 +0100)]
temporary ~pbs
Luke Kenneth Casson Leighton [Mon, 19 Aug 2019 11:25:38 +0000 (12:25 +0100)]
name LSBNotTerm submodules after bitwidth
Luke Kenneth Casson Leighton [Mon, 19 Aug 2019 11:22:09 +0000 (12:22 +0100)]
use new split-out LSBNotTerm module