soc.git
4 years agorename module, remove extraneous code and imports
Luke Kenneth Casson Leighton [Tue, 19 May 2020 20:38:51 +0000 (21:38 +0100)]
rename module, remove extraneous code and imports

4 years agohmmm, branch sets nia to Data as well and sets nia.ok if branch should occur
Luke Kenneth Casson Leighton [Tue, 19 May 2020 20:37:40 +0000 (21:37 +0100)]
hmmm, branch sets nia to Data as well and sets nia.ok if branch should occur
therefore do the same thing?

4 years agowhitespace
Luke Kenneth Casson Leighton [Tue, 19 May 2020 20:34:02 +0000 (21:34 +0100)]
whitespace

4 years agouse Data on SPRs in Trap InputData just like in BranchOutputData
Luke Kenneth Casson Leighton [Tue, 19 May 2020 20:33:38 +0000 (21:33 +0100)]
use Data on SPRs in Trap InputData just like in BranchOutputData

4 years agocode-munge
Luke Kenneth Casson Leighton [Tue, 19 May 2020 20:30:42 +0000 (21:30 +0100)]
code-munge

4 years agoupdate comments
Luke Kenneth Casson Leighton [Tue, 19 May 2020 20:22:38 +0000 (21:22 +0100)]
update comments

4 years agoAdd should_trap signal to trap output data
Michael Nolan [Tue, 19 May 2020 19:59:33 +0000 (15:59 -0400)]
Add should_trap signal to trap output data

4 years agoAdd trap main stage
Michael Nolan [Tue, 19 May 2020 19:52:52 +0000 (15:52 -0400)]
Add trap main stage

4 years agoUpdate to latest wiki version - fixing OP_TRAP
Michael Nolan [Tue, 19 May 2020 19:34:49 +0000 (15:34 -0400)]
Update to latest wiki version - fixing OP_TRAP

4 years agoChange OP_TWI/TDI/TW/TD to OP_TRAP
Michael Nolan [Tue, 19 May 2020 19:34:35 +0000 (15:34 -0400)]
Change OP_TWI/TDI/TW/TD to OP_TRAP

4 years agoBegin adding trap FU
Michael Nolan [Tue, 19 May 2020 19:26:48 +0000 (15:26 -0400)]
Begin adding trap FU

4 years agorename ALUPipeData to LogicalPipeData
Luke Kenneth Casson Leighton [Tue, 19 May 2020 17:33:48 +0000 (18:33 +0100)]
rename ALUPipeData to LogicalPipeData

4 years agoannoying syntax error
Luke Kenneth Casson Leighton [Tue, 19 May 2020 16:25:51 +0000 (17:25 +0100)]
annoying syntax error

4 years agocode-shuffle on OP_CNTZ
Luke Kenneth Casson Leighton [Tue, 19 May 2020 16:25:18 +0000 (17:25 +0100)]
code-shuffle on OP_CNTZ

4 years agoImplement 32 bit cntlz and cnttz
Michael Nolan [Tue, 19 May 2020 16:06:52 +0000 (12:06 -0400)]
Implement 32 bit cntlz and cnttz

4 years agoActually implement cntlzd
Michael Nolan [Tue, 19 May 2020 15:58:19 +0000 (11:58 -0400)]
Actually implement cntlzd

4 years agoFix weird edge cases with carry
Michael Nolan [Tue, 19 May 2020 15:35:54 +0000 (11:35 -0400)]
Fix weird edge cases with carry

4 years agoAdd ca32 to caller.py
Michael Nolan [Tue, 19 May 2020 15:20:04 +0000 (11:20 -0400)]
Add ca32 to caller.py

4 years agoHandle carry out in alu
Michael Nolan [Tue, 19 May 2020 15:06:04 +0000 (11:06 -0400)]
Handle carry out in alu

4 years agoHandle carry in caller.py
Michael Nolan [Tue, 19 May 2020 15:05:41 +0000 (11:05 -0400)]
Handle carry in caller.py

4 years agoadd TRAP FunctionUnit type
Luke Kenneth Casson Leighton [Tue, 19 May 2020 15:15:54 +0000 (16:15 +0100)]
add TRAP FunctionUnit type

4 years ago32-bit testing of output for CR0 conditions
Luke Kenneth Casson Leighton [Mon, 18 May 2020 10:30:50 +0000 (11:30 +0100)]
32-bit testing of output for CR0 conditions

4 years agoAdded luke's suggested code to cover all 3 assertions in proof_bperm.py
colepoirier [Tue, 19 May 2020 00:18:59 +0000 (17:18 -0700)]
Added luke's suggested code to cover all 3 assertions in proof_bperm.py

4 years agoAdded 2nd of 3 assertions for proof_bperm.py, currently not correct
colepoirier [Mon, 18 May 2020 22:25:37 +0000 (15:25 -0700)]
Added 2nd of 3 assertions for proof_bperm.py, currently not correct

4 years agoFix error with selecting a selectableint using a selectableint
Michael Nolan [Mon, 18 May 2020 17:53:48 +0000 (13:53 -0400)]
Fix error with selecting a selectableint using a selectableint

4 years agoUpdate to latest wiki version
Michael Nolan [Mon, 18 May 2020 17:53:32 +0000 (13:53 -0400)]
Update to latest wiki version

4 years agomove countzero to fu/logical
Luke Kenneth Casson Leighton [Mon, 18 May 2020 10:11:32 +0000 (11:11 +0100)]
move countzero to fu/logical

4 years agofix countzero import on test
Luke Kenneth Casson Leighton [Mon, 18 May 2020 03:59:19 +0000 (04:59 +0100)]
fix countzero import on test

4 years agocorrect import after soc.fu move
Luke Kenneth Casson Leighton [Mon, 18 May 2020 03:58:05 +0000 (04:58 +0100)]
correct import after soc.fu move

4 years agodumb syntax error
Luke Kenneth Casson Leighton [Mon, 18 May 2020 03:56:54 +0000 (04:56 +0100)]
dumb syntax error

4 years agomass-rename of modules to soc.fu.*
Luke Kenneth Casson Leighton [Mon, 18 May 2020 03:56:29 +0000 (04:56 +0100)]
mass-rename of modules to soc.fu.*

4 years agorename pipe to fu
Luke Kenneth Casson Leighton [Mon, 18 May 2020 03:52:43 +0000 (04:52 +0100)]
rename pipe to fu

4 years agomove pipelines to pipe dir
Luke Kenneth Casson Leighton [Mon, 18 May 2020 03:52:30 +0000 (04:52 +0100)]
move pipelines to pipe dir

4 years agoRemoved extraneous variable from 'ports=[..]' of main in bperm.py
colepoirier [Sun, 17 May 2020 18:49:16 +0000 (11:49 -0700)]
Removed extraneous variable from 'ports=[..]' of main in bperm.py

4 years agoApplied PEP8 formatting to bperm.py
colepoirier [Sun, 17 May 2020 18:41:52 +0000 (11:41 -0700)]
Applied PEP8 formatting to bperm.py

4 years agotest 32/64 bit mode CTR in branch
Luke Kenneth Casson Leighton [Sun, 17 May 2020 18:18:57 +0000 (19:18 +0100)]
test 32/64 bit mode CTR in branch

4 years agoadd comments from spec on branch
Luke Kenneth Casson Leighton [Sun, 17 May 2020 18:12:04 +0000 (19:12 +0100)]
add comments from spec on branch

4 years agoadd instruction to assert statement so if there is an error the failed
Luke Kenneth Casson Leighton [Sun, 17 May 2020 17:47:21 +0000 (18:47 +0100)]
add instruction to assert statement so if there is an error the failed
insn is displayed

4 years agorename nia_out to nia, clarify with variables in main_stage branch
Luke Kenneth Casson Leighton [Sun, 17 May 2020 17:45:09 +0000 (18:45 +0100)]
rename nia_out to nia, clarify with variables in main_stage branch

4 years agorename nia_out to just nia, we know it is an output
Luke Kenneth Casson Leighton [Sun, 17 May 2020 17:43:55 +0000 (18:43 +0100)]
rename nia_out to just nia, we know it is an output

4 years agoadd convenience name to branch main stage and branch output data
Luke Kenneth Casson Leighton [Sun, 17 May 2020 17:41:55 +0000 (18:41 +0100)]
add convenience name to branch main stage and branch output data

4 years agobit of code-munging in branch main stage
Luke Kenneth Casson Leighton [Sun, 17 May 2020 17:36:09 +0000 (18:36 +0100)]
bit of code-munging in branch main stage

4 years agofield cleanup
Luke Kenneth Casson Leighton [Sun, 17 May 2020 17:26:09 +0000 (18:26 +0100)]
field cleanup

4 years agowhitespace cleanup
Luke Kenneth Casson Leighton [Sun, 17 May 2020 17:17:24 +0000 (18:17 +0100)]
whitespace cleanup

4 years agosimplify field access
Luke Kenneth Casson Leighton [Sun, 17 May 2020 17:10:58 +0000 (18:10 +0100)]
simplify field access

4 years agoAdd incomplete proof_bperm.py with comments on how to finish the proof
Michael Nolan [Sun, 17 May 2020 17:12:32 +0000 (13:12 -0400)]
Add incomplete proof_bperm.py with comments on how to finish the proof

4 years agoMove perm inside Bpermd as it's not an input or output
Michael Nolan [Sun, 17 May 2020 16:50:02 +0000 (12:50 -0400)]
Move perm inside Bpermd as it's not an input or output

4 years agocode-shuffle
Luke Kenneth Casson Leighton [Sun, 17 May 2020 16:33:40 +0000 (17:33 +0100)]
code-shuffle

4 years agorealised that the instruction fields have a namedtuple thing going on
Luke Kenneth Casson Leighton [Sun, 17 May 2020 16:24:44 +0000 (17:24 +0100)]
realised that the instruction fields have a namedtuple thing going on

4 years agouse slightly more elegant way to access CR lookup table
Luke Kenneth Casson Leighton [Sun, 17 May 2020 16:15:58 +0000 (17:15 +0100)]
use slightly more elegant way to access CR lookup table

4 years agouse Cat(*list) on CR mask
Luke Kenneth Casson Leighton [Sun, 17 May 2020 16:08:22 +0000 (17:08 +0100)]
use Cat(*list) on CR mask

4 years agotry lbzu
Luke Kenneth Casson Leighton [Sun, 17 May 2020 14:21:06 +0000 (15:21 +0100)]
try lbzu

4 years agoremove condition stopping wr_reset from firing on LD
Luke Kenneth Casson Leighton [Sun, 17 May 2020 13:00:46 +0000 (14:00 +0100)]
remove condition stopping wr_reset from firing on LD

4 years agoswitch off LD/ST address when load activates
Luke Kenneth Casson Leighton [Sun, 17 May 2020 12:43:03 +0000 (13:43 +0100)]
switch off LD/ST address when load activates

4 years agofix address latching however LD is not working
Luke Kenneth Casson Leighton [Sun, 17 May 2020 11:02:19 +0000 (12:02 +0100)]
fix address latching however LD is not working

4 years agokeep address held sustained whilst valid
Luke Kenneth Casson Leighton [Sun, 17 May 2020 10:50:36 +0000 (11:50 +0100)]
keep address held sustained whilst valid

4 years agolatest not-quite-working LDSTCompUnit experimentation
Luke Kenneth Casson Leighton [Sun, 17 May 2020 10:04:11 +0000 (11:04 +0100)]
latest not-quite-working LDSTCompUnit experimentation

4 years agoupdate comments on condition register
Luke Kenneth Casson Leighton [Sun, 17 May 2020 09:56:28 +0000 (10:56 +0100)]
update comments on condition register

4 years agoRemoved from bperm.py extraneous creation of temporary Signal()
colepoirier [Sat, 16 May 2020 22:15:57 +0000 (15:15 -0700)]
Removed from bperm.py extraneous creation of temporary Signal()

4 years agoMade creation of Array of Signals in bperm.py more concise, changed
colepoirier [Sat, 16 May 2020 22:02:36 +0000 (15:02 -0700)]
Made creation of Array of Signals in bperm.py more concise, changed
string formatting to use python3 f"string{x}"

4 years agoAdd ilang output to test_maskgen.py
Michael Nolan [Sat, 16 May 2020 21:50:46 +0000 (17:50 -0400)]
Add ilang output to test_maskgen.py

4 years agowhitespace cleanup to PEP8-ish standards
Luke Kenneth Casson Leighton [Sat, 16 May 2020 21:44:23 +0000 (22:44 +0100)]
whitespace cleanup to PEP8-ish standards

4 years agoImplemented luke's TODOs by adding 'reset_less' to all Signal()'s,
colepoirier [Sat, 16 May 2020 21:08:48 +0000 (14:08 -0700)]
Implemented luke's TODOs by adding 'reset_less' to all Signal()'s,
assigning index to a Signal() instead of a python AST fragment, fixed
formatting

4 years agocomments / code-morph
Luke Kenneth Casson Leighton [Sat, 16 May 2020 20:04:04 +0000 (21:04 +0100)]
comments / code-morph

4 years agoImplement mfcr and mfocrf
Michael Nolan [Sat, 16 May 2020 18:36:39 +0000 (14:36 -0400)]
Implement mfcr and mfocrf

4 years agoadd debug info of what instruction was executed and Asserted
Luke Kenneth Casson Leighton [Sat, 16 May 2020 18:26:25 +0000 (19:26 +0100)]
add debug info of what instruction was executed and Asserted

4 years agocode-munge on CR pipeline
Luke Kenneth Casson Leighton [Sat, 16 May 2020 18:17:13 +0000 (19:17 +0100)]
code-munge on CR pipeline

4 years agoImplement mtocrf (which isn't different from mtcrf?)
Michael Nolan [Sat, 16 May 2020 18:05:55 +0000 (14:05 -0400)]
Implement mtocrf (which isn't different from mtcrf?)

4 years agoRemove noisy print statements in selectable_int.py
Michael Nolan [Sat, 16 May 2020 18:05:38 +0000 (14:05 -0400)]
Remove noisy print statements in selectable_int.py

4 years agoAdd sprset.patch
Michael Nolan [Sat, 16 May 2020 18:05:03 +0000 (14:05 -0400)]
Add sprset.patch

4 years agoAdd condition.patch
Michael Nolan [Sat, 16 May 2020 18:01:53 +0000 (14:01 -0400)]
Add condition.patch

4 years agoMinor cleanup
Michael Nolan [Sat, 16 May 2020 17:35:22 +0000 (13:35 -0400)]
Minor cleanup

4 years agoImplement mtcrf
Michael Nolan [Sat, 16 May 2020 17:34:16 +0000 (13:34 -0400)]
Implement mtcrf

4 years agoAdd comments on what CROP (crand, cror) do and how they work
Michael Nolan [Sat, 16 May 2020 17:07:35 +0000 (13:07 -0400)]
Add comments on what CROP (crand, cror) do and how they work

4 years agoAdd ports to ilang for test_caller.py
Michael Nolan [Sat, 16 May 2020 15:30:52 +0000 (11:30 -0400)]
Add ports to ilang for test_caller.py

4 years agoFix bug in branch's pipe_data
Michael Nolan [Sat, 16 May 2020 15:20:40 +0000 (11:20 -0400)]
Fix bug in branch's pipe_data

4 years agoConsolidate every pipe_data to use alu's integer data
Michael Nolan [Sat, 16 May 2020 15:19:21 +0000 (11:19 -0400)]
Consolidate every pipe_data to use alu's integer data

4 years agoOP_CROP fully working
Michael Nolan [Sat, 16 May 2020 14:02:48 +0000 (10:02 -0400)]
OP_CROP fully working

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