ieee754fpu.git
3 years agowhitespace
Luke Kenneth Casson Leighton [Wed, 13 Oct 2021 11:47:38 +0000 (12:47 +0100)]
whitespace

3 years agowhitespace, illustrate examples so as to make expected results clear
Luke Kenneth Casson Leighton [Wed, 13 Oct 2021 11:45:29 +0000 (12:45 +0100)]
whitespace, illustrate examples so as to make expected results clear

3 years agounfortunately this is a multi-purpose commit.
Luke Kenneth Casson Leighton [Wed, 13 Oct 2021 11:28:13 +0000 (12:28 +0100)]
unfortunately this is a multi-purpose commit.

it:

1) adds some types AND
2) adds some classes AND
3) fixes some whitespace issues AND
4) (finally) fixes some bugs

we strictly require *single* purpose commits
https://libre-soc.org/HDL_workflow/

Keep commits single-purpose

    edit files making minimal single purpose modifications
    (even if it involves multiple files. Good extreme example:
    globally changing a function name across an entire codebase
    is one purpose, one commit, yet hundreds of files.
    miss out one of those files, requiring multiple commits,
    and it actually becomes a nuisance).

https://bugs.libre-soc.org/show_bug.cgi?id=713#c98

Revert "fix layout bugs"

This reverts commit 9a318256b74054b8d592efe7be298764d0de415a.

3 years agowaaay too big a patch set (957 lines).
Luke Kenneth Casson Leighton [Wed, 13 Oct 2021 11:25:25 +0000 (12:25 +0100)]
waaay too big a patch set (957 lines).
https://bugs.libre-soc.org/show_bug.cgi?id=713#c98
Revert "refactor layout to use SimdScope and XLEN"

This reverts commit 48c4d358fafb59fc7fdc414874c5288b81ec462d.

3 years agorefactor layout to use SimdScope and XLEN
Jacob Lifshay [Wed, 13 Oct 2021 08:48:36 +0000 (01:48 -0700)]
refactor layout to use SimdScope and XLEN

3 years agoadd SimdMap and SimdScope and XLEN
Jacob Lifshay [Wed, 13 Oct 2021 08:47:38 +0000 (01:47 -0700)]
add SimdMap and SimdScope and XLEN

3 years agofix layout bugs
Jacob Lifshay [Wed, 13 Oct 2021 03:39:51 +0000 (20:39 -0700)]
fix layout bugs

3 years agoadd docs for layout
Jacob Lifshay [Wed, 13 Oct 2021 01:04:20 +0000 (18:04 -0700)]
add docs for layout

3 years agoformat code
Jacob Lifshay [Wed, 13 Oct 2021 00:55:19 +0000 (17:55 -0700)]
format code

3 years agoadd option to specify fixed_width and no lane_shaps only to find
Luke Kenneth Casson Leighton [Tue, 12 Oct 2021 13:29:06 +0000 (14:29 +0100)]
add option to specify fixed_width and no lane_shaps only to find
that there has been assumption that lane_shapes equals element width *times*
partition count.
https://bugs.libre-soc.org/show_bug.cgi?id=713#c67

next step is to set lane_shapes in terms of the element width

3 years agoadd blanking mask, but current example has no blank areas
Luke Kenneth Casson Leighton [Mon, 11 Oct 2021 10:53:59 +0000 (11:53 +0100)]
add blanking mask, but current example has no blank areas

3 years agowhitespace
Luke Kenneth Casson Leighton [Mon, 11 Oct 2021 10:26:20 +0000 (11:26 +0100)]
whitespace

3 years agoimprove code-comments some more
Luke Kenneth Casson Leighton [Mon, 11 Oct 2021 10:25:11 +0000 (11:25 +0100)]
improve code-comments some more

3 years agoimprove code-comments some more
Luke Kenneth Casson Leighton [Mon, 11 Oct 2021 10:19:35 +0000 (11:19 +0100)]
improve code-comments some more

3 years agoimprove code-comments
Luke Kenneth Casson Leighton [Mon, 11 Oct 2021 10:11:24 +0000 (11:11 +0100)]
improve code-comments

3 years agowhoops conversion of list of 0/1 needed reversing
Luke Kenneth Casson Leighton [Sun, 10 Oct 2021 20:06:26 +0000 (21:06 +0100)]
whoops conversion of list of 0/1 needed reversing

3 years agoadd option to do fixed-width layout
Luke Kenneth Casson Leighton [Sun, 10 Oct 2021 15:22:20 +0000 (16:22 +0100)]
add option to do fixed-width layout
https://bugs.libre-soc.org/show_bug.cgi?id=713#c22

currently failing, answer is *backwards* (bit-inverted) which makes no sense

3 years agoadd a check of bitp against the expected partition points when
Luke Kenneth Casson Leighton [Sun, 10 Oct 2021 14:45:16 +0000 (15:45 +0100)]
add a check of bitp against the expected partition points when
going through the elwidths
https://bugs.libre-soc.org/show_bug.cgi?id=713#c47

3 years agoadd phase 3 of the layout() experiment.
Luke Kenneth Casson Leighton [Sun, 10 Oct 2021 14:19:31 +0000 (15:19 +0100)]
add phase 3 of the layout() experiment.
https://bugs.libre-soc.org/show_bug.cgi?id=713#c34
here the binary values are obtained which, if elwidth is set to a given
value, we expect the PartitionPoints mask to be set to that value

3 years agoconvert to two-stage layout points-creation
Luke Kenneth Casson Leighton [Sun, 10 Oct 2021 14:11:43 +0000 (15:11 +0100)]
convert to two-stage layout points-creation
https://bugs.libre-soc.org/show_bug.cgi?id=713#c34

3 years agoadd code-comments
Luke Kenneth Casson Leighton [Sun, 10 Oct 2021 13:59:34 +0000 (14:59 +0100)]
add code-comments

3 years agoadded example with elwidth==Signal(2) from:
Luke Kenneth Casson Leighton [Sun, 10 Oct 2021 13:45:46 +0000 (14:45 +0100)]
added example with elwidth==Signal(2) from:
https://bugs.libre-soc.org/show_bug.cgi?id=713#c30

3 years agoremove Shape, signed and unsigned from layout experiment,
Luke Kenneth Casson Leighton [Sun, 10 Oct 2021 13:35:05 +0000 (14:35 +0100)]
remove Shape, signed and unsigned from layout experiment,
idea is to sub-class from ast.Shape() and therefore that provides
the full and complete understanding and specification of signed,
not layout()

3 years agoadd layout experiment from
Luke Kenneth Casson Leighton [Sun, 10 Oct 2021 13:30:52 +0000 (14:30 +0100)]
add layout experiment from
https://bugs.libre-soc.org/show_bug.cgi?id=713#c20

3 years agofix SimdSignal Repl test (was previously unfinished)
Luke Kenneth Casson Leighton [Sun, 10 Oct 2021 11:15:11 +0000 (12:15 +0100)]
fix SimdSignal Repl test (was previously unfinished)

3 years agobig rename PartitionedSignal to SimdSignal (shorter)
Luke Kenneth Casson Leighton [Sun, 10 Oct 2021 10:35:20 +0000 (11:35 +0100)]
big rename PartitionedSignal to SimdSignal (shorter)
https://bugs.libre-soc.org/show_bug.cgi?id=713#c58

3 years agoadd some more comments for the elwidth-adapter
Luke Kenneth Casson Leighton [Sun, 10 Oct 2021 10:33:23 +0000 (11:33 +0100)]
add some more comments for the elwidth-adapter
https://bugs.libre-soc.org/show_bug.cgi?id=713#c34

3 years agoaltered test_partsig2.py removed outval, run with outval2 instead
Luke Kenneth Casson Leighton [Sat, 9 Oct 2021 19:52:14 +0000 (20:52 +0100)]
altered test_partsig2.py removed outval, run with outval2 instead

3 years agoadd PartType context to PartitionedMux
Luke Kenneth Casson Leighton [Sat, 9 Oct 2021 19:51:24 +0000 (20:51 +0100)]
add PartType context to PartitionedMux
not presently used, TBD, no harm done not using it due to the way that
PartitionedMux works

3 years agoconvert PartitionedAssign and PAssign over to PartType
Luke Kenneth Casson Leighton [Sat, 9 Oct 2021 16:30:13 +0000 (17:30 +0100)]
convert PartitionedAssign and PAssign over to PartType
https://bugs.libre-soc.org/show_bug.cgi?id=713#c56

3 years agocovert PartitionedCat (and PCat) over to PartType format
Luke Kenneth Casson Leighton [Sat, 9 Oct 2021 16:26:32 +0000 (17:26 +0100)]
covert PartitionedCat (and PCat) over to PartType format
https://bugs.libre-soc.org/show_bug.cgi?id=713#c56

3 years agoconvert PartitionedRepl over to new "PartType" format
Luke Kenneth Casson Leighton [Sat, 9 Oct 2021 16:22:36 +0000 (17:22 +0100)]
convert PartitionedRepl over to new "PartType" format

3 years agoadd TestReplMod, under development
Luke Kenneth Casson Leighton [Sat, 9 Oct 2021 16:14:56 +0000 (17:14 +0100)]
add TestReplMod, under development

3 years agoadd PartitionedRepl into PartitionedSignal.__Repl__
Luke Kenneth Casson Leighton [Tue, 5 Oct 2021 17:25:27 +0000 (18:25 +0100)]
add PartitionedRepl into PartitionedSignal.__Repl__
uses same auto-module-creation as PCat, PMux and PAssign

3 years agoshuffle order of functions (whitespace) to same order as ast.Value
Luke Kenneth Casson Leighton [Tue, 5 Oct 2021 17:20:52 +0000 (18:20 +0100)]
shuffle order of functions (whitespace) to same order as ast.Value

3 years agoadd PartitionedRepl first version, no unit test just demo
Luke Kenneth Casson Leighton [Tue, 5 Oct 2021 17:09:24 +0000 (18:09 +0100)]
add PartitionedRepl first version, no unit test just demo

3 years agowhoops accidentally removed bugreport link
Luke Kenneth Casson Leighton [Tue, 5 Oct 2021 16:45:55 +0000 (17:45 +0100)]
whoops accidentally removed bugreport link

3 years agoadd signed/unsigned functions and preliminary unit test
Luke Kenneth Casson Leighton [Tue, 5 Oct 2021 16:42:43 +0000 (17:42 +0100)]
add signed/unsigned functions and preliminary unit test

3 years agopull in unit test code for PartitionedSignal.matches to be adapted
Luke Kenneth Casson Leighton [Tue, 5 Oct 2021 12:57:32 +0000 (13:57 +0100)]
pull in unit test code for PartitionedSignal.matches to be adapted

3 years agobit of a reorder / reorg, to match up with current ast.Value function order
Luke Kenneth Casson Leighton [Tue, 5 Oct 2021 12:52:53 +0000 (13:52 +0100)]
bit of a reorder / reorg, to match up with current ast.Value function order
this makes it easier to ensure that all functions are there, easier to
read / find.

3 years agodisable mul and rmul in PartitionedSignal for now
Luke Kenneth Casson Leighton [Tue, 5 Oct 2021 12:34:45 +0000 (13:34 +0100)]
disable mul and rmul in PartitionedSignal for now

3 years agorewrite complex comprehensions as for loops
Jacob Lifshay [Mon, 4 Oct 2021 23:28:32 +0000 (16:28 -0700)]
rewrite complex comprehensions as for loops

3 years agoFix broken code caused by attempted removal of type annotations.
Jacob Lifshay [Mon, 4 Oct 2021 22:40:04 +0000 (15:40 -0700)]
Fix broken code caused by attempted removal of type annotations.

This partially reverts commit 0cdf4be4df5c0fbae476442c1a91b0e8140e2104.

3 years agoadd TODO comments
Luke Kenneth Casson Leighton [Sat, 2 Oct 2021 18:02:36 +0000 (19:02 +0100)]
add TODO comments
https://bugs.libre-soc.org/show_bug.cgi?id=718

3 years agoadd a PartitionedSignal.any() test and extend range of values tested
Luke Kenneth Casson Leighton [Sat, 2 Oct 2021 17:56:40 +0000 (18:56 +0100)]
add a PartitionedSignal.any() test and extend range of values tested
in horizontal logic operators

3 years agomake note about failing PartitionedAll
Luke Kenneth Casson Leighton [Sat, 2 Oct 2021 17:40:18 +0000 (18:40 +0100)]
make note about failing PartitionedAll
https://bugs.libre-soc.org/show_bug.cgi?id=176#c17

3 years agorevert to using self == Const(-1) for now in PartitionedSignal.all()
Luke Kenneth Casson Leighton [Sat, 2 Oct 2021 17:37:41 +0000 (18:37 +0100)]
revert to using self == Const(-1) for now in PartitionedSignal.all()

3 years agobit more sophisticated on the partsig horizontal test, use subTest to report
Luke Kenneth Casson Leighton [Sat, 2 Oct 2021 17:29:18 +0000 (18:29 +0100)]
bit more sophisticated on the partsig horizontal test, use subTest to report
function name and input value

3 years agoadd PartitionedSignal.all() and unit test, currently failing
Luke Kenneth Casson Leighton [Sat, 2 Oct 2021 17:26:41 +0000 (18:26 +0100)]
add PartitionedSignal.all() and unit test, currently failing

3 years agoadd PartitionedAll operator, based on PartitionedBase
Luke Kenneth Casson Leighton [Sat, 2 Oct 2021 17:17:19 +0000 (18:17 +0100)]
add PartitionedAll operator, based on PartitionedBase

3 years agoadd bool PartitionedSignal test
Luke Kenneth Casson Leighton [Sat, 2 Oct 2021 17:14:11 +0000 (18:14 +0100)]
add bool PartitionedSignal test

3 years agoremoving unnecessary type information which makes the code
Luke Kenneth Casson Leighton [Sat, 2 Oct 2021 09:39:43 +0000 (10:39 +0100)]
removing unnecessary type information which makes the code
completely unreadable, longer and more complex

3 years agoadd PartitionedSignalTester
Jacob Lifshay [Sat, 2 Oct 2021 02:10:55 +0000 (19:10 -0700)]
add PartitionedSignalTester

3 years agosplit out logical ops into PartitionedBase
Luke Kenneth Casson Leighton [Fri, 1 Oct 2021 21:00:19 +0000 (22:00 +0100)]
split out logical ops into PartitionedBase

3 years agoadd PartitionedBool class (based on PartitionedXOR)
Luke Kenneth Casson Leighton [Fri, 1 Oct 2021 16:33:09 +0000 (17:33 +0100)]
add PartitionedBool class (based on PartitionedXOR)
could very likely be combined but hey

3 years agoadd quick use/self-test to PartitionedXOR
Luke Kenneth Casson Leighton [Fri, 1 Oct 2021 16:03:25 +0000 (17:03 +0100)]
add quick use/self-test to PartitionedXOR

3 years agoadd PartitionedSignal XOR partsig test
Luke Kenneth Casson Leighton [Thu, 30 Sep 2021 22:24:29 +0000 (23:24 +0100)]
add PartitionedSignal XOR partsig test

3 years agopartsig unit test tidyup
Luke Kenneth Casson Leighton [Thu, 30 Sep 2021 18:12:25 +0000 (19:12 +0100)]
partsig unit test tidyup

3 years agotest names to go under a different fileset
Luke Kenneth Casson Leighton [Thu, 30 Sep 2021 18:09:06 +0000 (19:09 +0100)]
test names to go under a different fileset

3 years agoadd scalar test of PartitionedSignal.__Assign__
Luke Kenneth Casson Leighton [Thu, 30 Sep 2021 17:50:41 +0000 (18:50 +0100)]
add scalar test of PartitionedSignal.__Assign__
completes all 12 permutations needed

3 years agoadd six combinations of PartitionedSignal.__Assign__ test:
Luke Kenneth Casson Leighton [Thu, 30 Sep 2021 17:23:28 +0000 (18:23 +0100)]
add six combinations of PartitionedSignal.__Assign__ test:
* input width less, equal or greater to output width
* output signed or unsigned

3 years agorework partsig TestAssign to cope with different types of input,
Luke Kenneth Casson Leighton [Thu, 30 Sep 2021 15:10:21 +0000 (16:10 +0100)]
rework partsig TestAssign to cope with different types of input,
scalar/partitioned, lengths equal/greater/less, signed/unsigned

3 years agofix PartitionedAssign, PAssign, and PartitionedSignal.__Assign__
Luke Kenneth Casson Leighton [Thu, 30 Sep 2021 14:42:34 +0000 (15:42 +0100)]
fix PartitionedAssign, PAssign, and PartitionedSignal.__Assign__

preliminary unit test showed wiring was incorrect, as was the return
result from PAssign, which has to return Statements

3 years agocorrect test_partsig name, remove redundant code
Luke Kenneth Casson Leighton [Thu, 30 Sep 2021 13:59:28 +0000 (14:59 +0100)]
correct test_partsig name, remove redundant code

3 years agoremove PartitionedSignal.eq, expectation is to use PartitionedSignal.__Assign__
Luke Kenneth Casson Leighton [Thu, 30 Sep 2021 13:55:41 +0000 (14:55 +0100)]
remove PartitionedSignal.eq, expectation is to use PartitionedSignal.__Assign__
due to eq being removed, access to the underlying ".sig" is now
done using PartitionedSignal.lower()

3 years agowhitespace / comments
Luke Kenneth Casson Leighton [Thu, 30 Sep 2021 13:40:15 +0000 (14:40 +0100)]
whitespace / comments

3 years agoadd use of PartitionedAssign in PartitionedSignal, behind __Assign__
Luke Kenneth Casson Leighton [Wed, 29 Sep 2021 18:35:23 +0000 (19:35 +0100)]
add use of PartitionedAssign in PartitionedSignal, behind __Assign__
move to separate module due to recursive import issues

3 years agoadd support in PartitionedAssign for scalar signals
Luke Kenneth Casson Leighton [Wed, 29 Sep 2021 18:28:11 +0000 (19:28 +0100)]
add support in PartitionedAssign for scalar signals

3 years agoadd PartitionedAssign class for use in PartitionedSignal
Luke Kenneth Casson Leighton [Wed, 29 Sep 2021 18:10:48 +0000 (19:10 +0100)]
add PartitionedAssign class for use in PartitionedSignal

3 years agoadd PartitionedSignal.shape function
Luke Kenneth Casson Leighton [Wed, 29 Sep 2021 18:10:23 +0000 (19:10 +0100)]
add PartitionedSignal.shape function
(simply returns underlying self.sig.shape())

3 years agoadd PartitionedSignal.__len__ override, redirects to self.sig len
Luke Kenneth Casson Leighton [Wed, 29 Sep 2021 17:25:45 +0000 (18:25 +0100)]
add PartitionedSignal.__len__ override, redirects to self.sig len

3 years agoreduce part_mask in partsig tests to 3 (actual number of break points
Luke Kenneth Casson Leighton [Wed, 29 Sep 2021 16:13:45 +0000 (17:13 +0100)]
reduce part_mask in partsig tests to 3 (actual number of break points
not actual number of partitions), fix PartitionedSignal.like(),
needed to pass in PartitionPoints(other.partpoints)

3 years agoadd assert to check partition jump point size
Luke Kenneth Casson Leighton [Wed, 29 Sep 2021 16:12:51 +0000 (17:12 +0100)]
add assert to check partition jump point size

3 years agounit test for PartitionedSignal.__Cat__
Luke Kenneth Casson Leighton [Wed, 29 Sep 2021 15:43:50 +0000 (16:43 +0100)]
unit test for PartitionedSignal.__Cat__
decided also to change the mask to be the number of partition points
(not waste one bit)

3 years agomove PCat to separate module
Luke Kenneth Casson Leighton [Tue, 28 Sep 2021 18:50:41 +0000 (19:50 +0100)]
move PCat to separate module
(didnt help but hey), solve recursive import by moving import of
PartitionedCat into the PCat function

3 years agoadd PartitionedSignal.__Cat__ override
Luke Kenneth Casson Leighton [Tue, 28 Sep 2021 18:41:20 +0000 (19:41 +0100)]
add PartitionedSignal.__Cat__ override
calls and creates PartitionedCat module

3 years agocorrections to PartitionedCat after corrections to PartitionedSignal,
Luke Kenneth Casson Leighton [Tue, 28 Sep 2021 18:36:31 +0000 (19:36 +0100)]
corrections to PartitionedCat after corrections to PartitionedSignal,
using make_partitions2, off-by-one error

3 years agoadd PartitionedSignal.__Mux__ unit test
Luke Kenneth Casson Leighton [Tue, 28 Sep 2021 16:00:40 +0000 (17:00 +0100)]
add PartitionedSignal.__Mux__ unit test
split out from TestPartitionedSignal to reduce time and make it clear
what is being tested

3 years agoadd PartitionedSignal.__Mux__ using existing PMux function
Luke Kenneth Casson Leighton [Tue, 28 Sep 2021 14:17:15 +0000 (15:17 +0100)]
add PartitionedSignal.__Mux__ using existing PMux function

3 years agoderive PartitionedSignal from UserValue (temporarily) and add lower()
Luke Kenneth Casson Leighton [Mon, 27 Sep 2021 18:29:26 +0000 (19:29 +0100)]
derive PartitionedSignal from UserValue (temporarily) and add lower()

3 years agowhitespace
Luke Kenneth Casson Leighton [Mon, 27 Sep 2021 18:28:57 +0000 (19:28 +0100)]
whitespace

3 years agofix chunking to get correct order for PartitionedCat
Luke Kenneth Casson Leighton [Fri, 24 Sep 2021 19:17:34 +0000 (20:17 +0100)]
fix chunking to get correct order for PartitionedCat

3 years agoadd first cut at PartitionedSignal "Cat"
Luke Kenneth Casson Leighton [Fri, 24 Sep 2021 13:59:01 +0000 (14:59 +0100)]
add first cut at PartitionedSignal "Cat"

3 years agoRemove comment sign and add correct path for nmigen intersphinx.
R Veera Kumar [Sat, 5 Jun 2021 02:31:29 +0000 (08:01 +0530)]
Remove comment sign and add correct path for nmigen intersphinx.

3 years agoAdd Makefile modified for sphinx.
R Veera Kumar [Sat, 5 Jun 2021 02:14:27 +0000 (07:44 +0530)]
Add Makefile modified for sphinx.

3 years ago Initial addition of sphinx documentation system.
R Veera Kumar [Sat, 5 Jun 2021 02:04:00 +0000 (07:34 +0530)]
Initial addition of sphinx documentation system.

    Add run of sphinx-quickstart and manual modifications of files.

3 years agocorrections to setup.py for classifier, for pypi upload
Luke Kenneth Casson Leighton [Mon, 12 Apr 2021 00:05:34 +0000 (01:05 +0100)]
corrections to setup.py for classifier, for pypi upload

3 years agoupdate for upload to pypi
Luke Kenneth Casson Leighton [Mon, 12 Apr 2021 00:03:16 +0000 (01:03 +0100)]
update for upload to pypi

3 years agoConvert add and sub to return PartitionedSignal
Cesar Strauss [Sat, 23 Jan 2021 22:33:44 +0000 (19:33 -0300)]
Convert add and sub to return PartitionedSignal

Adjust the test suite accordingly.

3 years agoRevert order of operations in PartitionedSignal.implies()
Cesar Strauss [Sat, 23 Jan 2021 21:16:04 +0000 (18:16 -0300)]
Revert order of operations in PartitionedSignal.implies()

Now that all bitwise logic operations return PartitionedSignal, the
original order of operations will work.

3 years agoClarify comment about operations returning plain Signals
Cesar Strauss [Sat, 23 Jan 2021 21:09:28 +0000 (18:09 -0300)]
Clarify comment about operations returning plain Signals

Possibly not all Signal results will be ported to PartitionedSignal. For
instance, comparison operations.

3 years agoConvert all bitwise logical ops to return PartitionedSignal
Cesar Strauss [Sat, 23 Jan 2021 20:58:41 +0000 (17:58 -0300)]
Convert all bitwise logical ops to return PartitionedSignal

3 years agoAlso copy the module in PartotionSignal.like()
Cesar Strauss [Sat, 23 Jan 2021 20:46:29 +0000 (17:46 -0300)]
Also copy the module in PartotionSignal.like()

3 years agoReturn a PartitionedSignal from the bitwise "not" operation
Cesar Strauss [Sat, 23 Jan 2021 20:39:49 +0000 (17:39 -0300)]
Return a PartitionedSignal from the bitwise "not" operation

Adjust the proof to accommodate such operations.

3 years agoImplement PartitionedSignal.like()
Cesar Strauss [Sat, 23 Jan 2021 20:31:39 +0000 (17:31 -0300)]
Implement PartitionedSignal.like()

3 years agoUse z3 solver instead of yices2 when convenient
Cesar Strauss [Sat, 23 Jan 2021 09:55:03 +0000 (06:55 -0300)]
Use z3 solver instead of yices2 when convenient

3 years agoAdd tests for bitwise logical operators
Cesar Strauss [Wed, 20 Jan 2021 10:35:01 +0000 (07:35 -0300)]
Add tests for bitwise logical operators

3 years agoReverse order of operations in implies()
Cesar Strauss [Wed, 20 Jan 2021 10:29:35 +0000 (07:29 -0300)]
Reverse order of operations in implies()

Put the negation last, since it returns a Signal, and then Signal OR
was being called instead of PartitionedSignal OR.

3 years agoDo not register carry-out on the PartitionedAdder
Cesar Strauss [Mon, 18 Jan 2021 08:59:44 +0000 (05:59 -0300)]
Do not register carry-out on the PartitionedAdder

The user of this module can register it if needed.

3 years agoFix PartitionedSignal.neg and its test case
Cesar Strauss [Sun, 17 Jan 2021 21:45:47 +0000 (18:45 -0300)]
Fix PartitionedSignal.neg and its test case

For some reason, neg(a) was returning (a - 1) instead of (-a).
Implemented it as (0 - a).
For the test case, shifted down the input, negated it and shifted it
back again. Could have done it also by (0 - a), but this way it is more
independent of the implementation.
Added a formal proof.