ieee754fpu.git
5 years agorename some variables in the multiplier code:
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

5 years agouse new doubling of PartitionedAdder points (in-place expansion)
Luke Kenneth Casson Leighton [Fri, 23 Aug 2019 09:41:13 +0000 (10:41 +0100)]
use new doubling of PartitionedAdder points (in-place expansion)

5 years agoin-place expansion of partition points
Luke Kenneth Casson Leighton [Fri, 23 Aug 2019 09:39:35 +0000 (10:39 +0100)]
in-place expansion of partition points

5 years agouse new sim.add_clock "if_exists" parameter. needed for combinatorial blocks
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

5 years agouse better test of whether block is combinatorial
Luke Kenneth Casson Leighton [Fri, 23 Aug 2019 08:49:30 +0000 (09:49 +0100)]
use better test of whether block is combinatorial

5 years agocreate AllTermsData class and use it
Luke Kenneth Casson Leighton [Thu, 22 Aug 2019 23:45:38 +0000 (00:45 +0100)]
create AllTermsData class and use it

5 years agomove part-bytes to AllTerms
Luke Kenneth Casson Leighton [Thu, 22 Aug 2019 23:39:13 +0000 (00:39 +0100)]
move part-bytes to AllTerms

5 years agouse intermediate data from finalout, move AllTerms class
Luke Kenneth Casson Leighton [Thu, 22 Aug 2019 18:46:27 +0000 (19:46 +0100)]
use intermediate data from finalout, move AllTerms class

5 years agomove product terms to new "AllTerms" module
Luke Kenneth Casson Leighton [Thu, 22 Aug 2019 18:44:49 +0000 (19:44 +0100)]
move product terms to new "AllTerms" module

5 years agomove part modules into FinalOut
Luke Kenneth Casson Leighton [Thu, 22 Aug 2019 07:04:06 +0000 (08:04 +0100)]
move part modules into FinalOut

5 years agomove intermediates to separate module, use i/o data struct
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

5 years agosilly rename get_test_cases to get_tst_cases, stops detection as a unit test
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

5 years agoskip add clock on combinatorial tests
Luke Kenneth Casson Leighton [Thu, 22 Aug 2019 02:11:57 +0000 (03:11 +0100)]
skip add clock on combinatorial tests

5 years agoreduce multiply sim delay by 1/10th, seems to "fix" test problem
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

5 years agomove and reorg create_next_terms in AddReduceSingle, call in elaborate
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

5 years agorename inputs to not include []
Luke Kenneth Casson Leighton [Thu, 22 Aug 2019 01:13:22 +0000 (02:13 +0100)]
rename inputs to not include []

5 years agomove groups test to top of loop
Luke Kenneth Casson Leighton [Thu, 22 Aug 2019 01:08:39 +0000 (02:08 +0100)]
move groups test to top of loop

5 years agogenerate ilang for each part mul test
Luke Kenneth Casson Leighton [Thu, 22 Aug 2019 01:08:23 +0000 (02:08 +0100)]
generate ilang for each part mul test

5 years agorename to next_groups
Luke Kenneth Casson Leighton [Thu, 22 Aug 2019 00:49:56 +0000 (01:49 +0100)]
rename to next_groups

5 years agomore resetless
Luke Kenneth Casson Leighton [Wed, 21 Aug 2019 16:53:30 +0000 (17:53 +0100)]
more resetless

5 years agorename self._intermediate_output
Luke Kenneth Casson Leighton [Wed, 21 Aug 2019 16:44:49 +0000 (17:44 +0100)]
rename self._intermediate_output

5 years agomove intermediate expanded a/b/o to locals
Luke Kenneth Casson Leighton [Wed, 21 Aug 2019 16:41:27 +0000 (17:41 +0100)]
move intermediate expanded a/b/o to locals

5 years agoresetless on intermediaries
Luke Kenneth Casson Leighton [Wed, 21 Aug 2019 16:37:43 +0000 (17:37 +0100)]
resetless on intermediaries

5 years agomove part_mask
Luke Kenneth Casson Leighton [Wed, 21 Aug 2019 15:12:58 +0000 (16:12 +0100)]
move part_mask

5 years agoalways add FinalAdd module
Luke Kenneth Casson Leighton [Wed, 21 Aug 2019 15:11:12 +0000 (16:11 +0100)]
always add FinalAdd module

5 years agouse FinalReduceData
Luke Kenneth Casson Leighton [Wed, 21 Aug 2019 15:10:59 +0000 (16:10 +0100)]
use FinalReduceData

5 years agopass data around using classes in AddReduce
Luke Kenneth Casson Leighton [Wed, 21 Aug 2019 14:57:18 +0000 (15:57 +0100)]
pass data around using classes in AddReduce

5 years agoremove referring to _resized_inputs
Luke Kenneth Casson Leighton [Wed, 21 Aug 2019 14:19:45 +0000 (15:19 +0100)]
remove referring to _resized_inputs

5 years agouse part_ops not out_part_ops
Luke Kenneth Casson Leighton [Wed, 21 Aug 2019 14:17:25 +0000 (15:17 +0100)]
use part_ops not out_part_ops

5 years agoadd in AddReduceData into AddReduceSingle class
Luke Kenneth Casson Leighton [Wed, 21 Aug 2019 14:14:00 +0000 (15:14 +0100)]
add in AddReduceData into AddReduceSingle class

5 years agoadd in AddReduceData into FinalAdd class
Luke Kenneth Casson Leighton [Wed, 21 Aug 2019 14:12:47 +0000 (15:12 +0100)]
add in AddReduceData into FinalAdd class

5 years agochange AddReduceSingle/Final to take size of arrays rather than arrays
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

5 years agomove input assignments (chain) out of AddReduceSingle
Luke Kenneth Casson Leighton [Wed, 21 Aug 2019 09:26:59 +0000 (10:26 +0100)]
move input assignments (chain) out of AddReduceSingle

5 years agomove final adder to separate module
Luke Kenneth Casson Leighton [Wed, 21 Aug 2019 09:20:00 +0000 (10:20 +0100)]
move final adder to separate module

5 years agosyntax error
Luke Kenneth Casson Leighton [Wed, 21 Aug 2019 08:40:22 +0000 (09:40 +0100)]
syntax error

5 years agoadd AddReduceData class
Luke Kenneth Casson Leighton [Wed, 21 Aug 2019 07:27:56 +0000 (08:27 +0100)]
add AddReduceData class

5 years agocleanup
Luke Kenneth Casson Leighton [Wed, 21 Aug 2019 05:12:57 +0000 (06:12 +0100)]
cleanup

5 years agoremove delayed_parts
Luke Kenneth Casson Leighton [Wed, 21 Aug 2019 05:11:13 +0000 (06:11 +0100)]
remove delayed_parts

5 years agouse reg_partition_points to create new Parts at final output
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

5 years agoadd expanded parts to Part, use new Parts module
Luke Kenneth Casson Leighton [Wed, 21 Aug 2019 04:56:49 +0000 (05:56 +0100)]
add expanded parts to Part, use new Parts module

5 years agoadd mul factor to PartitionPoints.like
Luke Kenneth Casson Leighton [Wed, 21 Aug 2019 04:47:06 +0000 (05:47 +0100)]
add mul factor to PartitionPoints.like

5 years agoadd new Parts class
Luke Kenneth Casson Leighton [Wed, 21 Aug 2019 04:45:43 +0000 (05:45 +0100)]
add new Parts class

5 years agomove expanded_part_pts further up
Luke Kenneth Casson Leighton [Tue, 20 Aug 2019 13:53:58 +0000 (14:53 +0100)]
move expanded_part_pts further up

5 years agomove part_byte to PartitionPoints
Luke Kenneth Casson Leighton [Tue, 20 Aug 2019 13:51:23 +0000 (14:51 +0100)]
move part_byte to PartitionPoints

5 years agorename delayed_part_ops to part_ops
Luke Kenneth Casson Leighton [Tue, 20 Aug 2019 13:15:43 +0000 (14:15 +0100)]
rename delayed_part_ops to part_ops

5 years agoremove delayed part ops, now inside AddReduceSingle
Luke Kenneth Casson Leighton [Tue, 20 Aug 2019 13:14:52 +0000 (14:14 +0100)]
remove delayed part ops, now inside AddReduceSingle

5 years agoadd missing arg part_ops to unit test
Luke Kenneth Casson Leighton [Tue, 20 Aug 2019 13:06:50 +0000 (14:06 +0100)]
add missing arg part_ops to unit test

5 years agodo not need delayed_part_ops
Luke Kenneth Casson Leighton [Tue, 20 Aug 2019 13:05:19 +0000 (14:05 +0100)]
do not need delayed_part_ops

5 years agopass in part_ops to AddReduce, so that it is syncd alongside the other data
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

5 years agowhitespace
Luke Kenneth Casson Leighton [Tue, 20 Aug 2019 09:57:54 +0000 (10:57 +0100)]
whitespace

5 years agoremoving recursion from AddReduce
Luke Kenneth Casson Leighton [Tue, 20 Aug 2019 09:34:26 +0000 (10:34 +0100)]
removing recursion from AddReduce

5 years agoupdate explanatory comments
Luke Kenneth Casson Leighton [Tue, 20 Aug 2019 07:34:43 +0000 (08:34 +0100)]
update explanatory comments

5 years agoMaskedFullAdder performs ANDing in a group by pre-shifting the carry bits
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

5 years agosplit "actionable" part of AddReduce out from "recursive" part
Luke Kenneth Casson Leighton [Tue, 20 Aug 2019 06:13:47 +0000 (07:13 +0100)]
split "actionable" part of AddReduce out from "recursive" part

5 years agoupdate comments
Luke Kenneth Casson Leighton [Tue, 20 Aug 2019 05:56:19 +0000 (06:56 +0100)]
update comments

5 years agoadd to docstrings in PartitionedAdder
Luke Kenneth Casson Leighton [Tue, 20 Aug 2019 05:53:25 +0000 (06:53 +0100)]
add to docstrings in PartitionedAdder

5 years agoadd to docstrings in PartitionedAdder
Luke Kenneth Casson Leighton [Tue, 20 Aug 2019 05:52:18 +0000 (06:52 +0100)]
add to docstrings in PartitionedAdder

5 years agocreate a new "MaskedFullAdder" class, which performs the partition-carry mask
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

5 years agoadd docstrings / comments to PartitionedAdder
Luke Kenneth Casson Leighton [Tue, 20 Aug 2019 05:31:27 +0000 (06:31 +0100)]
add docstrings / comments to PartitionedAdder

5 years agospelling mistake $i instead of %i
Luke Kenneth Casson Leighton [Tue, 20 Aug 2019 05:22:51 +0000 (06:22 +0100)]
spelling mistake $i instead of %i

5 years agorename temporary value
Luke Kenneth Casson Leighton [Mon, 19 Aug 2019 14:29:30 +0000 (15:29 +0100)]
rename temporary value

5 years agotemporary ~pbs
Luke Kenneth Casson Leighton [Mon, 19 Aug 2019 14:28:21 +0000 (15:28 +0100)]
temporary ~pbs

5 years agoname LSBNotTerm submodules after bitwidth
Luke Kenneth Casson Leighton [Mon, 19 Aug 2019 11:25:38 +0000 (12:25 +0100)]
name LSBNotTerm submodules after bitwidth

5 years agouse new split-out LSBNotTerm module
Luke Kenneth Casson Leighton [Mon, 19 Aug 2019 11:22:09 +0000 (12:22 +0100)]
use new split-out LSBNotTerm module

5 years agosplit out LSB and neg term to separate module
Luke Kenneth Casson Leighton [Mon, 19 Aug 2019 11:00:41 +0000 (12:00 +0100)]
split out LSB and neg term to separate module

5 years agodocstrings, fix syntax
Luke Kenneth Casson Leighton [Mon, 19 Aug 2019 10:39:56 +0000 (11:39 +0100)]
docstrings, fix syntax

5 years agoexplain Part module
Luke Kenneth Casson Leighton [Mon, 19 Aug 2019 06:55:43 +0000 (07:55 +0100)]
explain Part module

5 years agoadd module docstrings to (new) multiply classes
Luke Kenneth Casson Leighton [Mon, 19 Aug 2019 06:34:36 +0000 (07:34 +0100)]
add module docstrings to (new) multiply classes

5 years agorename fo submodule to "finalout"
Luke Kenneth Casson Leighton [Mon, 19 Aug 2019 05:19:41 +0000 (06:19 +0100)]
rename fo submodule to "finalout"

5 years agonope - yosys graph not efficient enough
Luke Kenneth Casson Leighton [Sun, 18 Aug 2019 16:25:36 +0000 (17:25 +0100)]
nope - yosys graph not efficient enough

5 years agouse switch instead of mux, more obvious what is happening
Luke Kenneth Casson Leighton [Sun, 18 Aug 2019 16:12:04 +0000 (17:12 +0100)]
use switch instead of mux, more obvious what is happening

5 years agoadd comment about simulation bugs
Luke Kenneth Casson Leighton [Sun, 18 Aug 2019 05:29:21 +0000 (06:29 +0100)]
add comment about simulation bugs

5 years agoRevert "make variables local"
Luke Kenneth Casson Leighton [Sun, 18 Aug 2019 05:27:10 +0000 (06:27 +0100)]
Revert "make variables local"

This reverts commit e8e8c93b4f3b07fce27558460021fa62b076d9ad.

horrible nmigen simulation bug

5 years agoadd TODO code, needs sorting
Luke Kenneth Casson Leighton [Sun, 18 Aug 2019 05:25:32 +0000 (06:25 +0100)]
add TODO code, needs sorting

5 years agomerge Term into ProductTerm
Luke Kenneth Casson Leighton [Sun, 18 Aug 2019 05:02:05 +0000 (06:02 +0100)]
merge Term into ProductTerm

5 years agomake variables local
Luke Kenneth Casson Leighton [Sat, 17 Aug 2019 18:45:17 +0000 (19:45 +0100)]
make variables local

5 years agoargh horrible nmigen bug on use of sync involving modules
Luke Kenneth Casson Leighton [Sat, 17 Aug 2019 17:06:29 +0000 (18:06 +0100)]
argh horrible nmigen bug on use of sync involving modules

5 years agoweird bug - some rename experiments
Luke Kenneth Casson Leighton [Sat, 17 Aug 2019 16:54:04 +0000 (17:54 +0100)]
weird bug - some rename experiments

5 years agoFinalOutput module
Luke Kenneth Casson Leighton [Sat, 17 Aug 2019 16:26:01 +0000 (17:26 +0100)]
FinalOutput module

5 years agorename variables
Luke Kenneth Casson Leighton [Sat, 17 Aug 2019 14:58:47 +0000 (15:58 +0100)]
rename variables

5 years agoput signs through Signs module
Luke Kenneth Casson Leighton [Sat, 17 Aug 2019 14:54:04 +0000 (15:54 +0100)]
put signs through Signs module

5 years agomove local variables
Luke Kenneth Casson Leighton [Sat, 17 Aug 2019 14:30:38 +0000 (15:30 +0100)]
move local variables

5 years agoremove redundant code
Luke Kenneth Casson Leighton [Sat, 17 Aug 2019 14:23:13 +0000 (15:23 +0100)]
remove redundant code

5 years agoor data together through a module (reduce top-level complexity)
Luke Kenneth Casson Leighton [Sat, 17 Aug 2019 14:19:04 +0000 (15:19 +0100)]
or data together through a module (reduce top-level complexity)

5 years agocreate array of ProductTerms - reduces graphviz MASSIVELY
Luke Kenneth Casson Leighton [Sat, 17 Aug 2019 13:57:02 +0000 (14:57 +0100)]
create array of ProductTerms - reduces graphviz MASSIVELY

5 years agomove intermediate output to new module
Luke Kenneth Casson Leighton [Sat, 17 Aug 2019 13:29:22 +0000 (14:29 +0100)]
move intermediate output to new module

5 years agodelayed_part_ops is a local
Luke Kenneth Casson Leighton [Sat, 17 Aug 2019 12:59:39 +0000 (13:59 +0100)]
delayed_part_ops is a local

5 years agoadd name to Term output
Luke Kenneth Casson Leighton [Sat, 17 Aug 2019 12:56:19 +0000 (13:56 +0100)]
add name to Term output

5 years agomove bit selection into ProductTerms: simplifies graph
Luke Kenneth Casson Leighton [Sat, 17 Aug 2019 12:51:10 +0000 (13:51 +0100)]
move bit selection into ProductTerms: simplifies graph

5 years agosplit out "Parts" to separate module
Luke Kenneth Casson Leighton [Sat, 17 Aug 2019 12:33:22 +0000 (13:33 +0100)]
split out "Parts" to separate module

5 years agomove remaining 4 terms, use Term class
Luke Kenneth Casson Leighton [Sat, 17 Aug 2019 11:17:33 +0000 (12:17 +0100)]
move remaining 4 terms, use Term class

5 years agoderive new class Term and ProductTerm
Luke Kenneth Casson Leighton [Sat, 17 Aug 2019 11:05:04 +0000 (12:05 +0100)]
derive new class Term and ProductTerm

5 years agouse Cat (again) on intermediate values
Luke Kenneth Casson Leighton [Sat, 17 Aug 2019 10:48:58 +0000 (11:48 +0100)]
use Cat (again) on intermediate values

5 years agosimplify sign/term bits using Cat
Luke Kenneth Casson Leighton [Sat, 17 Aug 2019 10:32:15 +0000 (11:32 +0100)]
simplify sign/term bits using Cat

5 years agomove product terms to separate module (Term)
Luke Kenneth Casson Leighton [Sat, 17 Aug 2019 10:13:59 +0000 (11:13 +0100)]
move product terms to separate module (Term)

5 years agoadd new Terms class, get part_pts into intermediary
Luke Kenneth Casson Leighton [Sat, 17 Aug 2019 09:57:23 +0000 (10:57 +0100)]
add new Terms class, get part_pts into intermediary

5 years agopart replaced by bit_select
Luke Kenneth Casson Leighton [Sat, 17 Aug 2019 09:11:34 +0000 (10:11 +0100)]
part replaced by bit_select

5 years agowhoops, a-enabled and b-enabled swapped
Luke Kenneth Casson Leighton [Sat, 17 Aug 2019 08:41:41 +0000 (09:41 +0100)]
whoops, a-enabled and b-enabled swapped

5 years agostash intermediaries for output into temp signals
Luke Kenneth Casson Leighton [Sat, 17 Aug 2019 08:24:20 +0000 (09:24 +0100)]
stash intermediaries for output into temp signals

5 years agoassignment in Cat wrong way round
Luke Kenneth Casson Leighton [Sat, 17 Aug 2019 08:13:28 +0000 (09:13 +0100)]
assignment in Cat wrong way round