soc.git
4 years agoUpdate to latest wiki version - fix bug with crxor
Michael Nolan [Sat, 16 May 2020 14:02:27 +0000 (10:02 -0400)]
Update to latest wiki version - fix bug with crxor

4 years agoImplement mcrf in CR FU
Michael Nolan [Sat, 16 May 2020 13:38:02 +0000 (09:38 -0400)]
Implement mcrf in CR FU

4 years agoGet working mcrf in caller.py
Michael Nolan [Sat, 16 May 2020 13:37:39 +0000 (09:37 -0400)]
Get working mcrf in caller.py

4 years agoUpdate to latest wiki version - move crand to own opcode
Michael Nolan [Sat, 16 May 2020 13:16:34 +0000 (09:16 -0400)]
Update to latest wiki version - move crand to own opcode

4 years agoupdate with TODO comments
Luke Kenneth Casson Leighton [Sat, 16 May 2020 04:48:20 +0000 (05:48 +0100)]
update with TODO comments

4 years agono need to else continue
Luke Kenneth Casson Leighton [Sat, 16 May 2020 04:23:36 +0000 (05:23 +0100)]
no need to else continue

4 years agomissing m.d.comb +=
Luke Kenneth Casson Leighton [Sat, 16 May 2020 04:20:26 +0000 (05:20 +0100)]
missing m.d.comb +=

4 years agoAdded working bperm.py, but is too gate heavy, as well as dummy unit
colepoirier [Sat, 16 May 2020 01:12:53 +0000 (18:12 -0700)]
Added working bperm.py, but is too gate heavy, as well as dummy unit
test file to be implemented tomorrow

4 years agoadd comment in branch test_pipe_caller.py about decoding needed of op
Luke Kenneth Casson Leighton [Sat, 16 May 2020 01:10:30 +0000 (02:10 +0100)]
add comment in branch test_pipe_caller.py about decoding needed of op
to set spr1/2/3 correctly

4 years agorename branch input data regs to spr1/2/3 according to FU Operand table
Luke Kenneth Casson Leighton [Sat, 16 May 2020 00:13:02 +0000 (01:13 +0100)]
rename branch input data regs to spr1/2/3 according to FU Operand table

4 years agoMake opcode for crand and friends
Michael Nolan [Fri, 15 May 2020 23:15:35 +0000 (19:15 -0400)]
Make opcode for crand and friends

4 years agoBegin adding CR pipeline
Michael Nolan [Fri, 15 May 2020 23:04:06 +0000 (19:04 -0400)]
Begin adding CR pipeline

4 years agoUpdate to latest wiki version - Add CR FU
Michael Nolan [Fri, 15 May 2020 23:02:48 +0000 (19:02 -0400)]
Update to latest wiki version - Add CR FU

4 years agoAdd CR function unit
Michael Nolan [Fri, 15 May 2020 22:59:51 +0000 (18:59 -0400)]
Add CR function unit

4 years agoUpdate wiki to latest version.
Michael Nolan [Fri, 15 May 2020 22:56:38 +0000 (18:56 -0400)]
Update wiki to latest version.

4 years agoFix bug introduced when I made it possible to set the initial state of CR
Michael Nolan [Fri, 15 May 2020 22:55:55 +0000 (18:55 -0400)]
Fix bug introduced when I made it possible to set the initial state of CR

4 years agocorrect branch pipe spr allocation table
Luke Kenneth Casson Leighton [Fri, 15 May 2020 22:36:38 +0000 (23:36 +0100)]
correct branch pipe spr allocation table

4 years agoupdate reg allocation table for branch
Luke Kenneth Casson Leighton [Fri, 15 May 2020 21:08:15 +0000 (22:08 +0100)]
update reg allocation table for branch

4 years agoadd reg allocation table
Luke Kenneth Casson Leighton [Fri, 15 May 2020 21:00:50 +0000 (22:00 +0100)]
add reg allocation table

4 years agoadd system calls
Luke Kenneth Casson Leighton [Fri, 15 May 2020 20:53:57 +0000 (21:53 +0100)]
add system calls

4 years agoadd reg allocation requirements
Luke Kenneth Casson Leighton [Fri, 15 May 2020 20:48:43 +0000 (21:48 +0100)]
add reg allocation requirements

4 years agoImplement op_bcreg
Michael Nolan [Fri, 15 May 2020 20:12:16 +0000 (16:12 -0400)]
Implement op_bcreg

4 years agoRemove TAR input, create fixed input for CTR and input for other
Michael Nolan [Fri, 15 May 2020 20:08:00 +0000 (16:08 -0400)]
Remove TAR input, create fixed input for CTR and input for other

Other SPR input will be used for CTR, LR, or TAR for op_bcreg

4 years agore-enable assert for correct function unit
Michael Nolan [Fri, 15 May 2020 20:03:37 +0000 (16:03 -0400)]
re-enable assert for correct function unit

4 years agoUpdate to latest wiki version - add branch FU to branch instructions
Michael Nolan [Fri, 15 May 2020 20:03:11 +0000 (16:03 -0400)]
Update to latest wiki version - add branch FU to branch instructions

4 years agoFix a couple of bugs with conditional branch with counter
Michael Nolan [Fri, 15 May 2020 20:01:17 +0000 (16:01 -0400)]
Fix a couple of bugs with conditional branch with counter

4 years agoImplement ctr decrementing
Michael Nolan [Fri, 15 May 2020 19:36:35 +0000 (15:36 -0400)]
Implement ctr decrementing

4 years agoadd TAR and comment BranchInputData fields
Luke Kenneth Casson Leighton [Fri, 15 May 2020 19:49:07 +0000 (20:49 +0100)]
add TAR and comment BranchInputData fields

4 years agowhoops spr copied from i.lr not i.spr
Luke Kenneth Casson Leighton [Fri, 15 May 2020 19:46:53 +0000 (20:46 +0100)]
whoops spr copied from i.lr not i.spr

4 years agoadd TODO
Luke Kenneth Casson Leighton [Fri, 15 May 2020 19:40:15 +0000 (20:40 +0100)]
add TODO

4 years agonope - remove cia from CompBROpSubset
Luke Kenneth Casson Leighton [Fri, 15 May 2020 19:36:33 +0000 (20:36 +0100)]
nope - remove cia from CompBROpSubset

4 years agoadd cia to CompBROpSubset, remove data_len
Luke Kenneth Casson Leighton [Fri, 15 May 2020 19:33:15 +0000 (20:33 +0100)]
add cia to CompBROpSubset, remove data_len

4 years agomore minor shuffle
Luke Kenneth Casson Leighton [Fri, 15 May 2020 19:27:35 +0000 (20:27 +0100)]
more minor shuffle

4 years agobit more major shuffle
Luke Kenneth Casson Leighton [Fri, 15 May 2020 19:25:05 +0000 (20:25 +0100)]
bit more major shuffle

4 years agouse small br_ext function to morph branch address
Luke Kenneth Casson Leighton [Fri, 15 May 2020 19:19:03 +0000 (20:19 +0100)]
use small br_ext function to morph branch address

4 years agomissed some variables in the cleanup
Luke Kenneth Casson Leighton [Fri, 15 May 2020 19:15:06 +0000 (20:15 +0100)]
missed some variables in the cleanup

4 years agominor cleanup
Luke Kenneth Casson Leighton [Fri, 15 May 2020 19:13:55 +0000 (20:13 +0100)]
minor cleanup

4 years agoOops, looks like I forgot to push the wiki update
Michael Nolan [Fri, 15 May 2020 19:06:34 +0000 (15:06 -0400)]
Oops, looks like I forgot to push the wiki update

4 years agoBegin implementing conditional branch
Michael Nolan [Fri, 15 May 2020 19:04:22 +0000 (15:04 -0400)]
Begin implementing conditional branch

4 years agoflip over to CompBROpSubset
Luke Kenneth Casson Leighton [Fri, 15 May 2020 19:04:47 +0000 (20:04 +0100)]
flip over to CompBROpSubset

4 years agoadd branch input record
Luke Kenneth Casson Leighton [Fri, 15 May 2020 18:58:47 +0000 (19:58 +0100)]
add branch input record

4 years agoAdd ability to specify initial CR state
Michael Nolan [Fri, 15 May 2020 18:51:00 +0000 (14:51 -0400)]
Add ability to specify initial CR state

4 years agoImplement signed branch immediates
Michael Nolan [Fri, 15 May 2020 18:38:52 +0000 (14:38 -0400)]
Implement signed branch immediates

4 years agoChange nia input to cia, implement linking
Michael Nolan [Fri, 15 May 2020 18:33:42 +0000 (14:33 -0400)]
Change nia input to cia, implement linking

4 years agoSimplify main_stage.py
Michael Nolan [Fri, 15 May 2020 18:25:24 +0000 (14:25 -0400)]
Simplify main_stage.py

4 years agoFix broken test_ba
Michael Nolan [Fri, 15 May 2020 18:25:17 +0000 (14:25 -0400)]
Fix broken test_ba

4 years agoImplement relative branches, add explicit NIA input to pipe_data
Michael Nolan [Fri, 15 May 2020 18:20:14 +0000 (14:20 -0400)]
Implement relative branches, add explicit NIA input to pipe_data

4 years agoadd branch to absolute address
Michael Nolan [Fri, 15 May 2020 18:01:12 +0000 (14:01 -0400)]
add branch to absolute address

4 years agoAdd rudimentary branch unit test bench
Michael Nolan [Fri, 15 May 2020 17:40:08 +0000 (13:40 -0400)]
Add rudimentary branch unit test bench

4 years agoUpdate to latest wiki - add branch unit for branch instructions
Michael Nolan [Fri, 15 May 2020 17:39:41 +0000 (13:39 -0400)]
Update to latest wiki - add branch unit for branch instructions

4 years agoImplement OP_CMPEQB
Michael Nolan [Fri, 15 May 2020 16:59:16 +0000 (12:59 -0400)]
Implement OP_CMPEQB

4 years agoUpdate to latest wiki version - add definition for cmpeqb
Michael Nolan [Fri, 15 May 2020 16:59:01 +0000 (12:59 -0400)]
Update to latest wiki version - add definition for cmpeqb

4 years agoOoops, actually assert during cmpeqb
Michael Nolan [Fri, 15 May 2020 16:52:33 +0000 (12:52 -0400)]
Ooops, actually assert during cmpeqb

4 years agoAdd test for cmpeqb
Michael Nolan [Fri, 15 May 2020 16:33:39 +0000 (12:33 -0400)]
Add test for cmpeqb

4 years agoAdd test for cntlz to test_caller
Michael Nolan [Fri, 15 May 2020 15:27:42 +0000 (11:27 -0400)]
Add test for cntlz to test_caller

4 years agoadd cookie-cut version of branch, copied from Logical, name changes TODO
Luke Kenneth Casson Leighton [Fri, 15 May 2020 16:29:57 +0000 (17:29 +0100)]
add cookie-cut version of branch, copied from Logical, name changes TODO

4 years agoAdd gitignore to shift_rot and logical formal folders
Michael Nolan [Fri, 15 May 2020 15:16:48 +0000 (11:16 -0400)]
Add gitignore to shift_rot and logical formal folders

4 years agoRe-enable popcnt in test_pipe_caller.py
Michael Nolan [Fri, 15 May 2020 15:15:54 +0000 (11:15 -0400)]
Re-enable popcnt in test_pipe_caller.py

4 years agoAdd test for popcnt to test_caller.py
Michael Nolan [Fri, 15 May 2020 15:11:41 +0000 (11:11 -0400)]
Add test for popcnt to test_caller.py

4 years agoFix prty implementation
Michael Nolan [Fri, 15 May 2020 14:22:28 +0000 (10:22 -0400)]
Fix prty implementation

4 years agoAdd test for prtyw pseudocode
Michael Nolan [Fri, 15 May 2020 14:21:52 +0000 (10:21 -0400)]
Add test for prtyw pseudocode

4 years agoUpdate to latest wiki version, fix bug in prty pseudocode
Michael Nolan [Fri, 15 May 2020 14:21:30 +0000 (10:21 -0400)]
Update to latest wiki version, fix bug in prty pseudocode

4 years agoadd count leading zero test into logical test_pipe_caller.py
Luke Kenneth Casson Leighton [Fri, 15 May 2020 13:19:53 +0000 (14:19 +0100)]
add count leading zero test into logical test_pipe_caller.py

4 years agolink countzero in to Logical pipeline
Luke Kenneth Casson Leighton [Fri, 15 May 2020 13:15:41 +0000 (14:15 +0100)]
link countzero in to Logical pipeline

4 years agooutput countzero ilang
Luke Kenneth Casson Leighton [Fri, 15 May 2020 12:58:57 +0000 (13:58 +0100)]
output countzero ilang

4 years agoremove countzero vhdl tb code
Luke Kenneth Casson Leighton [Fri, 15 May 2020 12:54:20 +0000 (13:54 +0100)]
remove countzero vhdl tb code

4 years agoswap encode responses, 3210 not 0123 for left mode
Luke Kenneth Casson Leighton [Fri, 15 May 2020 11:43:30 +0000 (12:43 +0100)]
swap encode responses, 3210 not 0123 for left mode

4 years agoadd some more tests to countzero
Luke Kenneth Casson Leighton [Fri, 15 May 2020 11:28:15 +0000 (12:28 +0100)]
add some more tests to countzero

4 years agocool! countzero unit test works!
Luke Kenneth Casson Leighton [Fri, 15 May 2020 11:18:25 +0000 (12:18 +0100)]
cool!  countzero unit test works!

4 years agocode-munging
Luke Kenneth Casson Leighton [Fri, 15 May 2020 11:13:26 +0000 (12:13 +0100)]
code-munging

4 years agobit of code-morphing of countzero.py
Luke Kenneth Casson Leighton [Fri, 15 May 2020 11:08:20 +0000 (12:08 +0100)]
bit of code-morphing of countzero.py

4 years agomake module combinatorial
Luke Kenneth Casson Leighton [Fri, 15 May 2020 10:54:35 +0000 (11:54 +0100)]
make module combinatorial

4 years agoconverted countzero from microwatt
Tobias Platen [Fri, 15 May 2020 09:03:37 +0000 (11:03 +0200)]
converted countzero from microwatt

4 years agominor cleanup
Luke Kenneth Casson Leighton [Thu, 14 May 2020 21:27:30 +0000 (22:27 +0100)]
minor cleanup

4 years agomore code-munging
Luke Kenneth Casson Leighton [Thu, 14 May 2020 21:12:37 +0000 (22:12 +0100)]
more code-munging

4 years agorandom commenting and code-morph of Logical
Luke Kenneth Casson Leighton [Thu, 14 May 2020 21:02:59 +0000 (22:02 +0100)]
random commenting and code-morph of Logical

4 years agotidy up rotator main stage
Luke Kenneth Casson Leighton [Thu, 14 May 2020 20:54:48 +0000 (21:54 +0100)]
tidy up rotator main stage

4 years agosmall code-shuffle
Luke Kenneth Casson Leighton [Thu, 14 May 2020 20:47:50 +0000 (21:47 +0100)]
small code-shuffle

4 years agoupdate submodule for parity
Luke Kenneth Casson Leighton [Thu, 14 May 2020 19:48:22 +0000 (20:48 +0100)]
update submodule for parity

4 years agoAdd patch for cmpb
Michael Nolan [Thu, 14 May 2020 19:19:58 +0000 (15:19 -0400)]
Add patch for cmpb

4 years agoupdate submodule isa tables to match OP_CMPB moving to Logical
Luke Kenneth Casson Leighton [Thu, 14 May 2020 19:07:18 +0000 (20:07 +0100)]
update submodule isa tables to match OP_CMPB moving to Logical

4 years agoadd parity test
Luke Kenneth Casson Leighton [Thu, 14 May 2020 19:04:46 +0000 (20:04 +0100)]
add parity test

4 years agoadd the ever-weird parity instruction
Luke Kenneth Casson Leighton [Thu, 14 May 2020 19:03:18 +0000 (20:03 +0100)]
add the ever-weird parity instruction

4 years agoclarify code, use temporary
Luke Kenneth Casson Leighton [Thu, 14 May 2020 18:40:03 +0000 (19:40 +0100)]
clarify code, use temporary

4 years agosimplify popcount
Luke Kenneth Casson Leighton [Thu, 14 May 2020 18:38:48 +0000 (19:38 +0100)]
simplify popcount

4 years agoadd popcount test
Luke Kenneth Casson Leighton [Thu, 14 May 2020 18:18:15 +0000 (19:18 +0100)]
add popcount test

4 years agoadd (untested) popcount
Luke Kenneth Casson Leighton [Thu, 14 May 2020 18:13:32 +0000 (19:13 +0100)]
add (untested) popcount

4 years agodebug info on assertion
Luke Kenneth Casson Leighton [Thu, 14 May 2020 17:16:28 +0000 (18:16 +0100)]
debug info on assertion

4 years agoadd comment about CMP swapping
Luke Kenneth Casson Leighton [Thu, 14 May 2020 17:13:38 +0000 (18:13 +0100)]
add comment about CMP swapping

4 years agocleanup Logical
Luke Kenneth Casson Leighton [Thu, 14 May 2020 16:57:34 +0000 (17:57 +0100)]
cleanup Logical

4 years agoinvert test condition in formal proof of ALU output stage
Luke Kenneth Casson Leighton [Thu, 14 May 2020 16:39:45 +0000 (17:39 +0100)]
invert test condition in formal proof of ALU output stage

4 years agomove inversion of cmp into output stage by inverting the is +ve and is -ve test
Luke Kenneth Casson Leighton [Thu, 14 May 2020 16:34:39 +0000 (17:34 +0100)]
move inversion of cmp into output stage by inverting the is +ve and is -ve test
this saves on 2x 64-bit MUXes if the actual operands A and B were swapped
instead

4 years agoidea: invert pos/neg test in output stage, uses an XOR instead of QTY 2 64-bit
Luke Kenneth Casson Leighton [Thu, 14 May 2020 16:20:53 +0000 (17:20 +0100)]
idea: invert pos/neg test in output stage, uses an XOR instead of QTY 2 64-bit
MUXes and a mess/morass of code

4 years agoImplement OP_CMP
Michael Nolan [Thu, 14 May 2020 15:40:22 +0000 (11:40 -0400)]
Implement OP_CMP

Had to reverse the a and b inputs if a cmp is detected though. Ugh

4 years agoAdd OP_CMPB
Michael Nolan [Thu, 14 May 2020 15:06:43 +0000 (11:06 -0400)]
Add OP_CMPB

4 years agoUpdate to latest wiki version
Michael Nolan [Thu, 14 May 2020 15:06:32 +0000 (11:06 -0400)]
Update to latest wiki version

4 years agoFix bug in shift_rot, update proof to handle new interface
Michael Nolan [Thu, 14 May 2020 14:35:44 +0000 (10:35 -0400)]
Fix bug in shift_rot, update proof to handle new interface

4 years agominor experimental rework of LDSTCompUnit to suit score6600 integration
Luke Kenneth Casson Leighton [Thu, 14 May 2020 13:04:22 +0000 (14:04 +0100)]
minor experimental rework of LDSTCompUnit to suit score6600 integration

4 years agoadd TODO comments on Logical pipeline
Luke Kenneth Casson Leighton [Thu, 14 May 2020 10:04:04 +0000 (11:04 +0100)]
add TODO comments on Logical pipeline

4 years agowhoops assertion that the Logical pipeline Function Unit is... um... LOGICAL
Luke Kenneth Casson Leighton [Thu, 14 May 2020 09:51:56 +0000 (10:51 +0100)]
whoops assertion that the Logical pipeline Function Unit is... um... LOGICAL