nmigen-gf.git
6 months agohdl/test/test_gfbmadd: add formal proof of gfbmadd bug_785_gfb_insns
Jacob Lifshay [Sat, 18 May 2024 00:41:07 +0000 (17:41 -0700)]
hdl/test/test_gfbmadd: add formal proof of gfbmadd

6 months agohdl/test/test_gfbinv: add formal proof for gfbinv
Jacob Lifshay [Fri, 17 May 2024 08:16:04 +0000 (01:16 -0700)]
hdl/test/test_gfbinv: add formal proof for gfbinv

6 months agotest DecodeReducingPolynomial exhaustively for small XLEN
Jacob Lifshay [Fri, 17 May 2024 08:15:12 +0000 (01:15 -0700)]
test DecodeReducingPolynomial exhaustively for small XLEN

6 months agochange decode_reducing_polynomial definition so it can encode x^XLEN + x + 1
Jacob Lifshay [Fri, 17 May 2024 08:10:57 +0000 (01:10 -0700)]
change decode_reducing_polynomial definition so it can encode x^XLEN + x + 1

also adds a test that all degree <= XLEN irreducible polynomials can be encoded

6 months agogf_reference/is_irreducible.py: move is_irreducible() to a separate file
Jacob Lifshay [Fri, 17 May 2024 08:09:11 +0000 (01:09 -0700)]
gf_reference/is_irreducible.py: move is_irreducible() to a separate file

6 months agohdl/clmul: split clmuladd hdl out into separate function for ease of use in formal...
Jacob Lifshay [Fri, 17 May 2024 05:02:45 +0000 (22:02 -0700)]
hdl/clmul: split clmuladd hdl out into separate function for ease of use in formal proofs

6 months agohdl/gfbinv: add gfbinv implementation, all tests pass!
Jacob Lifshay [Thu, 16 May 2024 06:21:04 +0000 (23:21 -0700)]
hdl/gfbinv: add gfbinv implementation, all tests pass!

6 months agohdl/gfbmadd: fix doc comment
Jacob Lifshay [Thu, 16 May 2024 06:20:10 +0000 (23:20 -0700)]
hdl/gfbmadd: fix doc comment

6 months agoskip extremely slow tests -- >2hr last I checked
Jacob Lifshay [Thu, 16 May 2024 01:59:43 +0000 (18:59 -0700)]
skip extremely slow tests -- >2hr last I checked

6 months agohdl/gfbmadd: GFBMAddFSMStage works!
Jacob Lifshay [Wed, 15 May 2024 08:03:12 +0000 (01:03 -0700)]
hdl/gfbmadd: GFBMAddFSMStage works!

6 months agohdl/gfbmadd.py: add FSM-based reference python code
Jacob Lifshay [Wed, 15 May 2024 06:23:09 +0000 (23:23 -0700)]
hdl/gfbmadd.py: add FSM-based reference python code

6 months agoadd HDL implementation of decode_reducing_polynomial
Jacob Lifshay [Wed, 15 May 2024 04:04:49 +0000 (21:04 -0700)]
add HDL implementation of decode_reducing_polynomial

6 months agoreference/test_cl_gfb_gfp.py: test reducing polynomial that is XLEN+1 bits
Jacob Lifshay [Wed, 15 May 2024 06:32:00 +0000 (23:32 -0700)]
reference/test_cl_gfb_gfp.py: test reducing polynomial that is XLEN+1 bits

6 months agoreference/gfbm[ul/add].py: fix truncation bugs
Jacob Lifshay [Wed, 15 May 2024 06:21:16 +0000 (23:21 -0700)]
reference/gfbm[ul/add].py: fix truncation bugs

6 months agoformat code
Jacob Lifshay [Wed, 15 May 2024 06:24:31 +0000 (23:24 -0700)]
format code

2 years agochange to use plain_data.fields master
Jacob Lifshay [Tue, 16 Aug 2022 05:43:31 +0000 (22:43 -0700)]
change to use plain_data.fields

2 years agoswitch dataclass to plain_data
Jacob Lifshay [Fri, 12 Aug 2022 07:38:20 +0000 (00:38 -0700)]
switch dataclass to plain_data

2 years agopin some dependency versions
Jacob Lifshay [Thu, 12 May 2022 01:32:06 +0000 (18:32 -0700)]
pin some dependency versions

2 years agosplit step counter into clock and substep
Jacob Lifshay [Fri, 6 May 2022 03:10:32 +0000 (20:10 -0700)]
split step counter into clock and substep

this allows substep to be completely optimized away by yosys for CLDivRemFSMStage

2 years agoremove now-unused EqualLeadingZeroCount
Jacob Lifshay [Thu, 5 May 2022 07:45:33 +0000 (00:45 -0700)]
remove now-unused EqualLeadingZeroCount

2 years agoswitch to better CLDivRem algorithm
Jacob Lifshay [Thu, 5 May 2022 07:33:05 +0000 (00:33 -0700)]
switch to better CLDivRem algorithm

2 years agoshrink signal widths
Jacob Lifshay [Thu, 5 May 2022 06:23:21 +0000 (23:23 -0700)]
shrink signal widths

2 years agoadd cldivrem_shifting as a more efficient algorithm
Jacob Lifshay [Thu, 5 May 2022 06:02:11 +0000 (23:02 -0700)]
add cldivrem_shifting as a more efficient algorithm

2 years agochange test_cldivrem to check all input values for each width
Jacob Lifshay [Thu, 5 May 2022 05:16:45 +0000 (22:16 -0700)]
change test_cldivrem to check all input values for each width

2 years agoimplement CLDivRemFSMStage
Jacob Lifshay [Wed, 4 May 2022 06:30:59 +0000 (23:30 -0700)]
implement CLDivRemFSMStage

2 years agoclean up EqualLeadingZeroCount.elaborate
Jacob Lifshay [Fri, 8 Apr 2022 22:49:37 +0000 (15:49 -0700)]
clean up EqualLeadingZeroCount.elaborate

2 years agoclean up CLMulAdd.elaborate
Jacob Lifshay [Fri, 8 Apr 2022 22:41:22 +0000 (15:41 -0700)]
clean up CLMulAdd.elaborate

2 years agomove NOT into carrysum so that variable name
Luke Kenneth Casson Leighton [Fri, 8 Apr 2022 08:15:43 +0000 (09:15 +0100)]
move NOT into carrysum so that variable name
"different" preserves its meaning compared to the reference code

2 years agoremove addend1 and addend2 just add bothones and different.
Luke Kenneth Casson Leighton [Thu, 7 Apr 2022 14:44:17 +0000 (15:44 +0100)]
remove addend1 and addend2 just add bothones and different.

2 years agosigh
Luke Kenneth Casson Leighton [Thu, 7 Apr 2022 13:44:26 +0000 (14:44 +0100)]
sigh

2 years agoadd TODO comment-notes and rename part_prods to just parts,
Luke Kenneth Casson Leighton [Thu, 7 Apr 2022 13:43:43 +0000 (14:43 +0100)]
add TODO comment-notes and rename part_prods to just parts,
starting it from self.terms

2 years agocode-comments
Luke Kenneth Casson Leighton [Thu, 7 Apr 2022 10:56:48 +0000 (11:56 +0100)]
code-comments

2 years agodoh
Luke Kenneth Casson Leighton [Thu, 7 Apr 2022 10:29:14 +0000 (11:29 +0100)]
doh

2 years agosimplify code by removing for-loop and commenting why it was removed
Luke Kenneth Casson Leighton [Thu, 7 Apr 2022 10:27:43 +0000 (11:27 +0100)]
simplify code by removing for-loop and commenting why it was removed

2 years agoremove unused imports
Jacob Lifshay [Thu, 7 Apr 2022 04:21:03 +0000 (21:21 -0700)]
remove unused imports

2 years agoswitch EqualLeadingZeroCount to use bitwise logic rather than Switch
Jacob Lifshay [Thu, 7 Apr 2022 03:26:41 +0000 (20:26 -0700)]
switch EqualLeadingZeroCount to use bitwise logic rather than Switch

2 years agochange reference algorithm to be more amenable to bitwise operations
Jacob Lifshay [Thu, 7 Apr 2022 02:59:03 +0000 (19:59 -0700)]
change reference algorithm to be more amenable to bitwise operations

2 years agowork around yosys bug with Switch() over high-bit-width Value instances
Jacob Lifshay [Thu, 7 Apr 2022 02:48:57 +0000 (19:48 -0700)]
work around yosys bug with Switch() over high-bit-width Value instances

https://github.com/YosysHQ/yosys/issues/3268

2 years agoclean up code
Jacob Lifshay [Thu, 7 Apr 2022 02:35:29 +0000 (19:35 -0700)]
clean up code

2 years agoremove BitwiseXorReduce
Jacob Lifshay [Thu, 7 Apr 2022 02:33:10 +0000 (19:33 -0700)]
remove BitwiseXorReduce

2 years agoremove uses of BitwiseXorReduce
Jacob Lifshay [Thu, 7 Apr 2022 02:29:38 +0000 (19:29 -0700)]
remove uses of BitwiseXorReduce

2 years agoremove relative imports, use explicit. requires installation
Luke Kenneth Casson Leighton [Tue, 5 Apr 2022 20:10:11 +0000 (21:10 +0100)]
remove relative imports, use explicit. requires installation
with "python3 setup.py develop|install" but thats ok

2 years agofix code luke broke
Jacob Lifshay [Tue, 5 Apr 2022 18:29:45 +0000 (11:29 -0700)]
fix code luke broke

2 years agoformat code
Jacob Lifshay [Tue, 5 Apr 2022 18:27:22 +0000 (11:27 -0700)]
format code

2 years agocode-comments, restructure gfpinv slightly
Luke Kenneth Casson Leighton [Tue, 5 Apr 2022 15:12:17 +0000 (16:12 +0100)]
code-comments, restructure gfpinv slightly

2 years agointriguing small tidyup on gfpinv making it more symmetrical
Luke Kenneth Casson Leighton [Tue, 5 Apr 2022 15:04:57 +0000 (16:04 +0100)]
intriguing small tidyup on gfpinv making it more symmetrical

2 years agoupdate code-comments from
Luke Kenneth Casson Leighton [Tue, 5 Apr 2022 14:46:34 +0000 (15:46 +0100)]
update code-comments from
https://bugs.libre-soc.org/show_bug.cgi?id=784

2 years agoadd github issue number
Jacob Lifshay [Tue, 5 Apr 2022 04:55:58 +0000 (21:55 -0700)]
add github issue number

2 years agoworking on adding CLDivRem
Jacob Lifshay [Tue, 5 Apr 2022 03:52:21 +0000 (20:52 -0700)]
working on adding CLDivRem

2 years agoremove unneeded dependencies to avoid dragging in systemd and gui junk
Jacob Lifshay [Mon, 4 Apr 2022 23:33:35 +0000 (16:33 -0700)]
remove unneeded dependencies to avoid dragging in systemd and gui junk

2 years agofix pytest invocation
Jacob Lifshay [Mon, 4 Apr 2022 07:02:06 +0000 (00:02 -0700)]
fix pytest invocation

2 years agomake gitlab cache always be saved
Jacob Lifshay [Mon, 4 Apr 2022 06:57:56 +0000 (23:57 -0700)]
make gitlab cache always be saved

syntax described in top comment in:
https://gitlab.com/gitlab-org/gitlab-runner/-/issues/27172

found here:
https://gitlab.com/gitlab-org/gitlab/-/issues/18969#note_811311064

2 years agoremove unnecessary after_script section
Jacob Lifshay [Mon, 4 Apr 2022 06:26:50 +0000 (23:26 -0700)]
remove unnecessary after_script section

2 years agofix PATH
Jacob Lifshay [Mon, 4 Apr 2022 06:26:11 +0000 (23:26 -0700)]
fix PATH

2 years agoadd .gitlab-ci.yml
Jacob Lifshay [Mon, 4 Apr 2022 06:14:58 +0000 (23:14 -0700)]
add .gitlab-ci.yml

2 years agofix after move
Jacob Lifshay [Mon, 4 Apr 2022 05:46:31 +0000 (22:46 -0700)]
fix after move

2 years agofix tests
Jacob Lifshay [Mon, 4 Apr 2022 05:41:12 +0000 (22:41 -0700)]
fix tests

2 years agomove clmul files from nmutil.git
Jacob Lifshay [Mon, 4 Apr 2022 05:37:46 +0000 (22:37 -0700)]
move clmul files from nmutil.git

https://git.libre-soc.org/?p=nmutil.git;a=commit;h=2ef87c06d25b692ede35aa6340a108ba410b440a
nmutil.git/src/nmutil/clmul.py => src/nmigen_gf/hdl/clmul.py
nmutil.git/src/nmutil/test/test_clmul.py => src/nmigen_gf/hdl/test/test_clmul.py

2 years agosetup python project structure
Jacob Lifshay [Mon, 4 Apr 2022 05:22:12 +0000 (22:22 -0700)]
setup python project structure

2 years agoupdate link
Luke Kenneth Casson Leighton [Sun, 3 Apr 2022 22:31:14 +0000 (23:31 +0100)]
update link

2 years agogratuitous change to trigger ikiwiki underlay update
Luke Kenneth Casson Leighton [Sun, 3 Apr 2022 22:01:25 +0000 (23:01 +0100)]
gratuitous change to trigger ikiwiki underlay update

2 years agotry updating again
Jacob Lifshay [Sun, 3 Apr 2022 21:28:23 +0000 (14:28 -0700)]
try updating again

2 years agomove gf_reference readme to proper location for ikiwiki
Jacob Lifshay [Sun, 3 Apr 2022 21:12:50 +0000 (14:12 -0700)]
move gf_reference readme to proper location for ikiwiki

2 years agoRevert "temporarily remove COPYING.LGPLv3"
Jacob Lifshay [Sun, 3 Apr 2022 21:08:11 +0000 (14:08 -0700)]
Revert "temporarily remove COPYING.LGPLv3"

This reverts commit af05a233a7c72a42287b4f267d1a5bc3c8a76603.

2 years agotemporarily remove COPYING.LGPLv3
Jacob Lifshay [Sun, 3 Apr 2022 21:07:23 +0000 (14:07 -0700)]
temporarily remove COPYING.LGPLv3

2 years agoupdate again
Jacob Lifshay [Sun, 3 Apr 2022 20:56:24 +0000 (13:56 -0700)]
update again

2 years agohopefully trigger underlay to update
Jacob Lifshay [Sun, 3 Apr 2022 20:27:22 +0000 (13:27 -0700)]
hopefully trigger underlay to update

2 years agoMove files from libreriscv.git/openpower/sv/bitmanip/
Jacob Lifshay [Sun, 3 Apr 2022 20:20:30 +0000 (13:20 -0700)]
Move files from libreriscv.git/openpower/sv/bitmanip/

https://git.libre-soc.org/?p=libreriscv.git;a=tree;f=openpower/sv/bitmanip;hb=633d57457d98b8c6ab7803fe72050f8918bba87f

2 years agoextra gratuitous edit to re-trigger underlay
Luke Kenneth Casson Leighton [Sun, 3 Apr 2022 10:02:56 +0000 (11:02 +0100)]
extra gratuitous edit to re-trigger underlay

2 years agochange to trigger underlay update
Luke Kenneth Casson Leighton [Sun, 3 Apr 2022 09:53:19 +0000 (10:53 +0100)]
change to trigger underlay update

2 years agoto fit with ikiwiki underlays there has to be a directory structure
Luke Kenneth Casson Leighton [Sun, 3 Apr 2022 09:20:56 +0000 (10:20 +0100)]
to fit with ikiwiki underlays there has to be a directory structure
that matches from top-level

2 years agoadd readme for reference dir
Jacob Lifshay [Sun, 3 Apr 2022 08:16:44 +0000 (01:16 -0700)]
add readme for reference dir

2 years agoinitial commit
Jacob Lifshay [Sun, 3 Apr 2022 07:36:52 +0000 (00:36 -0700)]
initial commit