soc.git
4 years agoadd fu logical_input_record.py
Luke Kenneth Casson Leighton [Thu, 21 May 2020 20:44:39 +0000 (21:44 +0100)]
add fu logical_input_record.py

4 years agoupdate CROutputData to use Data()
Luke Kenneth Casson Leighton [Thu, 21 May 2020 20:08:10 +0000 (21:08 +0100)]
update CROutputData to use Data()

4 years agoupdate comments
Luke Kenneth Casson Leighton [Thu, 21 May 2020 19:58:26 +0000 (20:58 +0100)]
update comments

4 years agowhitespace cleanup
Luke Kenneth Casson Leighton [Thu, 21 May 2020 19:56:08 +0000 (20:56 +0100)]
whitespace cleanup

4 years agowhitespace cleanup
Luke Kenneth Casson Leighton [Thu, 21 May 2020 19:55:46 +0000 (20:55 +0100)]
whitespace cleanup

4 years agoremove input_cr, output_cr and is_32bit from CompCROpSubset
Luke Kenneth Casson Leighton [Thu, 21 May 2020 19:51:10 +0000 (20:51 +0100)]
remove input_cr, output_cr and is_32bit from CompCROpSubset

4 years agoadd read_cr_whole and write_cr_whole to CompCROpSubset
Luke Kenneth Casson Leighton [Thu, 21 May 2020 19:44:30 +0000 (20:44 +0100)]
add read_cr_whole and write_cr_whole to CompCROpSubset

4 years agoadd first cut at cr_input_record.py
Luke Kenneth Casson Leighton [Thu, 21 May 2020 19:40:54 +0000 (20:40 +0100)]
add first cut at cr_input_record.py

4 years agomove Logical over to use CompLogicalOpSubset
Luke Kenneth Casson Leighton [Thu, 21 May 2020 19:35:33 +0000 (20:35 +0100)]
move Logical over to use CompLogicalOpSubset

4 years agoPartial attempt at proving the new cr unit.
Michael Nolan [Thu, 21 May 2020 19:34:46 +0000 (15:34 -0400)]
Partial attempt at proving the new cr unit.

Shelving for a bit

4 years agoargh syntax error
Luke Kenneth Casson Leighton [Thu, 21 May 2020 19:27:12 +0000 (20:27 +0100)]
argh syntax error

4 years agoupdate and comment CR Input/Output Data specs
Luke Kenneth Casson Leighton [Thu, 21 May 2020 19:26:43 +0000 (20:26 +0100)]
update and comment CR Input/Output Data specs

4 years agoAll CR tests now working
Michael Nolan [Thu, 21 May 2020 19:04:06 +0000 (15:04 -0400)]
All CR tests now working

4 years agoadd CR out decoder debug
Luke Kenneth Casson Leighton [Thu, 21 May 2020 19:01:29 +0000 (20:01 +0100)]
add CR out decoder debug

4 years agoOP_CROP now working
Michael Nolan [Thu, 21 May 2020 18:59:49 +0000 (14:59 -0400)]
OP_CROP now working

4 years agoBegin porting cr pipeline to new interface
Michael Nolan [Thu, 21 May 2020 18:47:52 +0000 (14:47 -0400)]
Begin porting cr pipeline to new interface

4 years agoAdd third cr register select field to decoder
Michael Nolan [Thu, 21 May 2020 18:49:25 +0000 (14:49 -0400)]
Add third cr register select field to decoder

4 years agoUpdate to latest wiki version
Michael Nolan [Thu, 21 May 2020 18:49:14 +0000 (14:49 -0400)]
Update to latest wiki version

4 years agocomment CompALUOpSubset, data_len is actually used by OP_EXTS
Luke Kenneth Casson Leighton [Thu, 21 May 2020 18:41:09 +0000 (19:41 +0100)]
comment CompALUOpSubset, data_len is actually used by OP_EXTS

4 years agocomment DecodeCRIn and DecodeCROut, gratuitously
Luke Kenneth Casson Leighton [Thu, 21 May 2020 18:07:32 +0000 (19:07 +0100)]
comment DecodeCRIn and DecodeCROut, gratuitously

4 years agodocument subkls in CompUnitRecord
Luke Kenneth Casson Leighton [Thu, 21 May 2020 17:57:59 +0000 (18:57 +0100)]
document subkls in CompUnitRecord

4 years agoARSE! frickin git submodules!
Luke Kenneth Casson Leighton [Thu, 21 May 2020 17:54:12 +0000 (18:54 +0100)]
ARSE! frickin git submodules!

4 years agomove CompLDSTOpSubset to fu.ldst.ldst_input_record
Luke Kenneth Casson Leighton [Thu, 21 May 2020 17:52:43 +0000 (18:52 +0100)]
move CompLDSTOpSubset to fu.ldst.ldst_input_record

4 years 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

4 years 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

4 years 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

4 years 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

4 years 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

4 years 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

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

4 years 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

4 years 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

4 years 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

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

4 years 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

4 years 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

4 years 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

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

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

4 years 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

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

4 years 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

4 years 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

4 years 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

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

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

4 years 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

4 years 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

4 years 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

4 years 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

4 years 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

4 years 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.

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

4 years 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

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

4 years 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

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

4 years 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

4 years 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

4 years 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

4 years 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

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

4 years 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

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

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

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

4 years 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

4 years 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

4 years 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

4 years 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

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

4 years 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

4 years 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

4 years 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

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

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

4 years 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

4 years 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

4 years 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

4 years 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...

4 years 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

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

4 years 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

4 years 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

4 years 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

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

4 years 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

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

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

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

4 years 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

4 years 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

4 years 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()

4 years 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

4 years 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

4 years 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

4 years 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

4 years 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

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

4 years 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