soc.git
17 months agoFix broken unit tests in test_caller
Michael Nolan [Thu, 21 May 2020 17:20:01 +0000 (13:20 -0400)]
Fix broken unit tests in test_caller

17 months agoAdd cr output decoder to power_decoder2.py
Michael Nolan [Thu, 21 May 2020 17:13:57 +0000 (13:13 -0400)]
Add cr output decoder to power_decoder2.py

17 months agoAdd CR In decoder to power_decoder2.py
Michael Nolan [Thu, 21 May 2020 16:22:16 +0000 (12:22 -0400)]
Add CR In decoder to power_decoder2.py

17 months agoConvert CR out to enum in power_decoder
Michael Nolan [Thu, 21 May 2020 15:59:54 +0000 (11:59 -0400)]
Convert CR out to enum in power_decoder

17 months agoUpdate to latest wiki version - convert CR out to enum
Michael Nolan [Thu, 21 May 2020 15:59:34 +0000 (11:59 -0400)]
Update to latest wiki version - convert CR out to enum

17 months agoConvert CR In field to enum instead of single bit
Michael Nolan [Thu, 21 May 2020 15:38:04 +0000 (11:38 -0400)]
Convert CR In field to enum instead of single bit

17 months agoUpdate to latest wiki version
Michael Nolan [Thu, 21 May 2020 15:37:54 +0000 (11:37 -0400)]
Update to latest wiki version

17 months agoadd zero_a flag to CompALUOpSubset
Luke Kenneth Casson Leighton [Thu, 21 May 2020 16:48:20 +0000 (17:48 +0100)]
add zero_a flag to CompALUOpSubset

17 months agoadd zero_a flag to Decode2ExecuteType
Luke Kenneth Casson Leighton [Thu, 21 May 2020 16:44:21 +0000 (17:44 +0100)]
add zero_a flag to Decode2ExecuteType

17 months agoFix broken test_adde/add overflow handling to caller.py
Michael Nolan [Thu, 21 May 2020 13:48:44 +0000 (09:48 -0400)]
Fix broken test_adde/add overflow handling to caller.py

17 months agowhitespace/shuffle
Luke Kenneth Casson Leighton [Thu, 21 May 2020 12:02:42 +0000 (13:02 +0100)]
whitespace/shuffle

17 months agomove common functionality between PipeSpecs to soc.fu.pipe_data
Luke Kenneth Casson Leighton [Thu, 21 May 2020 11:57:20 +0000 (12:57 +0100)]
move common functionality between PipeSpecs to soc.fu.pipe_data

17 months agomove FU IntegerData to directory below
Luke Kenneth Casson Leighton [Thu, 21 May 2020 11:45:33 +0000 (12:45 +0100)]
move FU IntegerData to directory below

17 months agobranch output spec nia not cia
Luke Kenneth Casson Leighton [Thu, 21 May 2020 10:43:02 +0000 (11:43 +0100)]
branch output spec nia not cia

17 months agoadd dedicated TrapPipeSpec
Luke Kenneth Casson Leighton [Thu, 21 May 2020 10:42:36 +0000 (11:42 +0100)]
add dedicated TrapPipeSpec

17 months agocreate and use ShiftRotPipeSpec
Luke Kenneth Casson Leighton [Thu, 21 May 2020 10:39:01 +0000 (11:39 +0100)]
create and use ShiftRotPipeSpec

17 months agoconvert to individual PipeSpecs for each pipeline
Luke Kenneth Casson Leighton [Thu, 21 May 2020 10:33:58 +0000 (11:33 +0100)]
convert to individual PipeSpecs for each pipeline

17 months agoadd regspec to ALUPipeSpec
Luke Kenneth Casson Leighton [Thu, 21 May 2020 10:15:25 +0000 (11:15 +0100)]
add regspec to ALUPipeSpec

17 months agouse branch-specific data structures, add "regspecs" to branch pspec
Luke Kenneth Casson Leighton [Thu, 21 May 2020 10:14:52 +0000 (11:14 +0100)]
use branch-specific data structures, add "regspecs" to branch pspec

17 months agocode-morph LDSTCompUnit to use RecordObject structure, like CompUnitALU
Luke Kenneth Casson Leighton [Thu, 21 May 2020 09:50:12 +0000 (10:50 +0100)]
code-morph LDSTCompUnit to use RecordObject structure, like CompUnitALU

17 months agoFixed typo and left-over from refactoring
Cesar Strauss [Thu, 21 May 2020 09:05:57 +0000 (06:05 -0300)]
Fixed typo and left-over from refactoring

17 months agoAdd proof for OP_MCRF
Michael Nolan [Wed, 20 May 2020 20:33:02 +0000 (16:33 -0400)]
Add proof for OP_MCRF

17 months agoAdd proof for OP_MFCR
Michael Nolan [Wed, 20 May 2020 20:21:15 +0000 (16:21 -0400)]
Add proof for OP_MFCR

17 months agoMake test for bpermd exercise the module a bit more
Michael Nolan [Wed, 20 May 2020 19:47:08 +0000 (15:47 -0400)]
Make test for bpermd exercise the module a bit more

17 months agoRevert "*technically* don't use a full crossbar"
Michael Nolan [Wed, 20 May 2020 19:32:36 +0000 (15:32 -0400)]
Revert "*technically* don't use a full crossbar"

This reverts commit e49a0608e702ed60db62fd36ff450828b567db42.
Doesn't reduce logic usage

17 months agoadd link to bugreport in CR pipe formal test
Luke Kenneth Casson Leighton [Wed, 20 May 2020 19:31:32 +0000 (20:31 +0100)]
add link to bugreport in CR pipe formal test

17 months ago*technically* don't use a full crossbar
Michael Nolan [Wed, 20 May 2020 19:29:07 +0000 (15:29 -0400)]
*technically* don't use a full crossbar

17 months agoAdded OP_BPERMD to fu/logical pipeline, with test
colepoirier [Wed, 20 May 2020 19:19:40 +0000 (12:19 -0700)]
Added OP_BPERMD to fu/logical pipeline, with test

17 months agoRevert "assign index to temporary"
Michael Nolan [Wed, 20 May 2020 19:17:55 +0000 (15:17 -0400)]
Revert "assign index to temporary"

This reverts commit e0e859f73a3e38365f8a5fef20628d6a0aae4c1f.

17 months agoAdd proof for OP_CROP
Michael Nolan [Wed, 20 May 2020 18:51:17 +0000 (14:51 -0400)]
Add proof for OP_CROP

17 months agogo back to not using LUT in CR pipe
Luke Kenneth Casson Leighton [Wed, 20 May 2020 18:56:08 +0000 (19:56 +0100)]
go back to not using LUT in CR pipe

17 months agoassign index to temporary
Luke Kenneth Casson Leighton [Wed, 20 May 2020 18:49:36 +0000 (19:49 +0100)]
assign index to temporary

17 months agostore CR lut result in temporary
Luke Kenneth Casson Leighton [Wed, 20 May 2020 18:45:12 +0000 (19:45 +0100)]
store CR lut result in temporary

17 months agoBegin adding CR proof
Michael Nolan [Wed, 20 May 2020 18:32:29 +0000 (14:32 -0400)]
Begin adding CR proof

17 months agoFix small bug in op_crop
Michael Nolan [Wed, 20 May 2020 18:33:15 +0000 (14:33 -0400)]
Fix small bug in op_crop

17 months agoadd register specs to pipeline in/out so that they can be used to connect up
Luke Kenneth Casson Leighton [Wed, 20 May 2020 18:10:53 +0000 (19:10 +0100)]
add register specs to pipeline in/out so that they can be used to connect up
Function Units to regfiles

17 months agodamn. assigning to temporary signals may turn out to be crucial. it could
Luke Kenneth Casson Leighton [Wed, 20 May 2020 17:41:05 +0000 (18:41 +0100)]
damn.  assigning to temporary signals may turn out to be crucial.  it could
just be something that affects Arrays: generating the ilang for CR pipeline
went mental.  100% CPU for several minutes.  bad sign

17 months agoehn? moo? CR test_pipe_caller locks up 100% CPU on writing ilang file
Luke Kenneth Casson Leighton [Wed, 20 May 2020 17:31:51 +0000 (18:31 +0100)]
ehn? moo? CR test_pipe_caller locks up 100% CPU on writing ilang file

17 months agocorrect XER variable names
Luke Kenneth Casson Leighton [Wed, 20 May 2020 17:24:33 +0000 (18:24 +0100)]
correct XER variable names

17 months agocorrect import on shift_rot maskgen
Luke Kenneth Casson Leighton [Wed, 20 May 2020 17:24:16 +0000 (18:24 +0100)]
correct import on shift_rot maskgen

17 months agoUse overflow definition from microwatt
Michael Nolan [Wed, 20 May 2020 17:04:43 +0000 (13:04 -0400)]
Use overflow definition from microwatt

17 months agoAdd overflow handling and proof
Michael Nolan [Wed, 20 May 2020 16:44:46 +0000 (12:44 -0400)]
Add overflow handling and proof

17 months agoFix bug introduced in rebase
Michael Nolan [Wed, 20 May 2020 17:11:18 +0000 (13:11 -0400)]
Fix bug introduced in rebase

17 months agofixup XER names in shift_rot pipe tests
Luke Kenneth Casson Leighton [Wed, 20 May 2020 17:00:56 +0000 (18:00 +0100)]
fixup XER names in shift_rot pipe tests

17 months agoformal proof rename on XER flags
Luke Kenneth Casson Leighton [Wed, 20 May 2020 16:54:34 +0000 (17:54 +0100)]
formal proof rename on XER flags

17 months agoupdate to new names for XER fields
Luke Kenneth Casson Leighton [Wed, 20 May 2020 16:50:32 +0000 (17:50 +0100)]
update to new names for XER fields

17 months agonormalise XER regs carry/32 and SO
Luke Kenneth Casson Leighton [Wed, 20 May 2020 16:47:41 +0000 (17:47 +0100)]
normalise XER regs carry/32 and SO

17 months agoAdd proof for OP_CNTZ
Michael Nolan [Wed, 20 May 2020 15:29:59 +0000 (11:29 -0400)]
Add proof for OP_CNTZ

17 months agoadd cross-reference to bugtracker and wiki
Luke Kenneth Casson Leighton [Wed, 20 May 2020 15:27:26 +0000 (16:27 +0100)]
add cross-reference to bugtracker and wiki

17 months agoAdd test for edge cases that were previously buggy
Michael Nolan [Wed, 20 May 2020 15:15:10 +0000 (11:15 -0400)]
Add test for edge cases that were previously buggy

17 months agoDelete assume left over from testing
Michael Nolan [Wed, 20 May 2020 15:12:14 +0000 (11:12 -0400)]
Delete assume left over from testing

17 months agoAdd proof for OP_PRTY
Michael Nolan [Wed, 20 May 2020 15:10:18 +0000 (11:10 -0400)]
Add proof for OP_PRTY

17 months agoFormally verify OP_POPCNT
Michael Nolan [Wed, 20 May 2020 15:04:57 +0000 (11:04 -0400)]
Formally verify OP_POPCNT

17 months agoFix bug with popcntd
Michael Nolan [Wed, 20 May 2020 14:49:54 +0000 (10:49 -0400)]
Fix bug with popcntd

Popcount on -1 (64 ones) would overflow the signal holding the sum,
giving 0 instead of 64

17 months agoconvert CompUnit to use CompUnitRecord
Luke Kenneth Casson Leighton [Wed, 20 May 2020 14:38:27 +0000 (15:38 +0100)]
convert CompUnit to use CompUnitRecord

17 months agowhitespace, rename ilang to alu_main_stage.il
Luke Kenneth Casson Leighton [Wed, 20 May 2020 14:23:42 +0000 (15:23 +0100)]
whitespace, rename ilang to alu_main_stage.il

17 months agoi seem to like short names that happen to make things fit onto one line
Luke Kenneth Casson Leighton [Wed, 20 May 2020 14:22:22 +0000 (15:22 +0100)]
i seem to like short names that happen to make things fit onto one line
under 80 chars...

17 months agoAdd proof for OP_CMP and OP_CMPEQB
Michael Nolan [Wed, 20 May 2020 14:07:16 +0000 (10:07 -0400)]
Add proof for OP_CMP and OP_CMPEQB

17 months agoAdd proof for OP_EXTS
Michael Nolan [Wed, 20 May 2020 14:01:29 +0000 (10:01 -0400)]
Add proof for OP_EXTS

17 months agoAdd 32 bit carry handling to alu
Michael Nolan [Wed, 20 May 2020 13:52:05 +0000 (09:52 -0400)]
Add 32 bit carry handling to alu

17 months agooutput ilang for ALU to unique file
Luke Kenneth Casson Leighton [Wed, 20 May 2020 13:50:39 +0000 (14:50 +0100)]
output ilang for ALU to unique file

17 months agouse nmutil exts helper in ALU OP_EXTS
Luke Kenneth Casson Leighton [Wed, 20 May 2020 13:46:45 +0000 (14:46 +0100)]
use nmutil exts helper in ALU OP_EXTS

17 months agouse nmutil exts helper
Luke Kenneth Casson Leighton [Wed, 20 May 2020 13:34:11 +0000 (14:34 +0100)]
use nmutil exts helper

17 months agofix imports in fu matrix tests
Luke Kenneth Casson Leighton [Wed, 20 May 2020 13:30:23 +0000 (14:30 +0100)]
fix imports in fu matrix tests

17 months agouse nmutil exts helper
Luke Kenneth Casson Leighton [Wed, 20 May 2020 13:30:01 +0000 (14:30 +0100)]
use nmutil exts helper

17 months agoFix broken test_caller.py
Michael Nolan [Wed, 20 May 2020 13:28:40 +0000 (09:28 -0400)]
Fix broken test_caller.py

17 months agomunge / simplify code
Luke Kenneth Casson Leighton [Wed, 20 May 2020 05:07:16 +0000 (06:07 +0100)]
munge / simplify code

17 months agominor code-munge, use shorter names
Luke Kenneth Casson Leighton [Wed, 20 May 2020 05:00:47 +0000 (06:00 +0100)]
minor code-munge, use shorter names

17 months agoconvert shift_rot to use XER Data
Luke Kenneth Casson Leighton [Wed, 20 May 2020 04:46:17 +0000 (05:46 +0100)]
convert shift_rot to use XER Data

17 months agoconvert Logical to use new XER use of Data()
Luke Kenneth Casson Leighton [Wed, 20 May 2020 04:44:52 +0000 (05:44 +0100)]
convert Logical to use new XER use of Data()

17 months agoconvert alu output to use Data for XER and CR0
Luke Kenneth Casson Leighton [Wed, 20 May 2020 04:42:45 +0000 (05:42 +0100)]
convert alu output to use Data for XER and CR0

17 months agowhoops changed name of ALUInputData to LogicalInputData
Luke Kenneth Casson Leighton [Wed, 20 May 2020 01:01:19 +0000 (02:01 +0100)]
whoops changed name of ALUInputData to LogicalInputData

17 months agofix a series of random imports
Luke Kenneth Casson Leighton [Wed, 20 May 2020 00:58:38 +0000 (01:58 +0100)]
fix a series of random imports

17 months agoadd DIV and MUL to POWER Function enum
Luke Kenneth Casson Leighton [Wed, 20 May 2020 00:23:00 +0000 (01:23 +0100)]
add DIV and MUL to POWER Function enum

17 months agooutput ilang to branch_pipeline.il for branch
Luke Kenneth Casson Leighton [Tue, 19 May 2020 21:55:54 +0000 (22:55 +0100)]
output ilang to branch_pipeline.il for branch

17 months agouse field AA directly
Luke Kenneth Casson Leighton [Tue, 19 May 2020 21:54:44 +0000 (22:54 +0100)]
use field AA directly

17 months agoadd OP_RFID to enums
Luke Kenneth Casson Leighton [Tue, 19 May 2020 21:14:00 +0000 (22:14 +0100)]
add OP_RFID to enums

17 months agoupdate submodule to latest (including OP_TDI/OP_TRAP
Luke Kenneth Casson Leighton [Tue, 19 May 2020 21:11:54 +0000 (22:11 +0100)]
update submodule to latest (including OP_TDI/OP_TRAP

17 months agoremove SPR3 from Branch Data, rename lr and spr to SPR1 and SPR2
Luke Kenneth Casson Leighton [Tue, 19 May 2020 20:58:13 +0000 (21:58 +0100)]
remove SPR3 from Branch Data, rename lr and spr to SPR1 and SPR2

17 months agoRenamed bperm files in fu/logical and fu/logical formal to correct name
colepoirier [Tue, 19 May 2020 20:43:13 +0000 (13:43 -0700)]
Renamed bperm files in fu/logical and fu/logical formal to correct name
of operation 'bpermd', added up-to-date docstring from spec v3.1

17 months 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

17 months 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?

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

17 months 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

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

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

17 months 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

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

17 months 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

17 months 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

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

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

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

17 months 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

17 months 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

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

17 months 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

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

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

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