Luke Kenneth Casson Leighton [Sun, 24 May 2020 19:47:53 +0000 (20:47 +0100)]
add gitignore for branch fu formal
Luke Kenneth Casson Leighton [Sun, 24 May 2020 19:23:54 +0000 (20:23 +0100)]
add OP_CMPB formal proof
Michael Nolan [Sun, 24 May 2020 19:16:28 +0000 (15:16 -0400)]
Assert that ctr is only written when needed
Luke Kenneth Casson Leighton [Sun, 24 May 2020 19:17:36 +0000 (20:17 +0100)]
split out Popcount into separate module: visually it interferes with readability of the fu logical main stage graphviz
Luke Kenneth Casson Leighton [Sun, 24 May 2020 19:05:55 +0000 (20:05 +0100)]
copy code for MTMSR from microwatt into comments
Luke Kenneth Casson Leighton [Sun, 24 May 2020 19:01:56 +0000 (20:01 +0100)]
add links for trap main stage
Luke Kenneth Casson Leighton [Sun, 24 May 2020 19:00:07 +0000 (20:00 +0100)]
add untested OP_MTMSR and OP_MFMSR
Luke Kenneth Casson Leighton [Sun, 24 May 2020 18:53:38 +0000 (19:53 +0100)]
update to new CSV files in submodule
Luke Kenneth Casson Leighton [Sun, 24 May 2020 18:49:30 +0000 (19:49 +0100)]
add MFMSR and MTMSRD enums to Function
Luke Kenneth Casson Leighton [Sun, 24 May 2020 18:30:56 +0000 (19:30 +0100)]
comment and add links to branch formal proof
Luke Kenneth Casson Leighton [Sun, 24 May 2020 18:20:18 +0000 (19:20 +0100)]
add copy of bpermd proof to logical formal proof (not nice but hey)
Luke Kenneth Casson Leighton [Sun, 24 May 2020 17:58:02 +0000 (18:58 +0100)]
track down overwrite of variable b
Michael Nolan [Sun, 24 May 2020 15:17:12 +0000 (11:17 -0400)]
Fix proof of bpermd module
Michael Nolan [Sun, 24 May 2020 15:15:54 +0000 (11:15 -0400)]
Fix bpermd and make tests pass
Michael Nolan [Sun, 24 May 2020 15:15:14 +0000 (11:15 -0400)]
Fix test_pipe_caller to conform to new Data() interface on outputs
Luke Kenneth Casson Leighton [Sun, 24 May 2020 15:05:00 +0000 (16:05 +0100)]
add stub regfiles.py
Luke Kenneth Casson Leighton [Sun, 24 May 2020 14:00:03 +0000 (15:00 +0100)]
hmm...
Luke Kenneth Casson Leighton [Sun, 24 May 2020 13:54:41 +0000 (14:54 +0100)]
add very rapid DummyALU for test purposes in MultiCompUnit
Luke Kenneth Casson Leighton [Sun, 24 May 2020 13:47:20 +0000 (14:47 +0100)]
comments on branch pipeline
Luke Kenneth Casson Leighton [Sun, 24 May 2020 13:36:28 +0000 (14:36 +0100)]
convert CR pipeline to Data.ok
Luke Kenneth Casson Leighton [Sun, 24 May 2020 13:07:02 +0000 (14:07 +0100)]
convert ALU to output Data on int reg
Luke Kenneth Casson Leighton [Sun, 24 May 2020 13:01:28 +0000 (14:01 +0100)]
convert logical to output Data on int reg
Luke Kenneth Casson Leighton [Sun, 24 May 2020 12:47:12 +0000 (13:47 +0100)]
start using Data in pipelines
Luke Kenneth Casson Leighton [Sun, 24 May 2020 12:09:54 +0000 (13:09 +0100)]
cleanup/code-munge on ALU main stage proof
Luke Kenneth Casson Leighton [Sun, 24 May 2020 12:03:53 +0000 (13:03 +0100)]
error in alu output stage formal proof setup
Luke Kenneth Casson Leighton [Sun, 24 May 2020 12:01:50 +0000 (13:01 +0100)]
output registers need to be Data type (consistently)
Luke Kenneth Casson Leighton [Sun, 24 May 2020 11:59:37 +0000 (12:59 +0100)]
spelling mistake in variable
Luke Kenneth Casson Leighton [Sun, 24 May 2020 11:54:55 +0000 (12:54 +0100)]
TODO mention OP_MTMSR/OP_MFMSR
Luke Kenneth Casson Leighton [Sun, 24 May 2020 11:51:56 +0000 (12:51 +0100)]
add RA to trap pipeline, for OP_MTMSR/OP_MFMSR
Luke Kenneth Casson Leighton [Sun, 24 May 2020 04:33:57 +0000 (05:33 +0100)]
move docstring to wiki for compunit
colepoirier [Sat, 23 May 2020 22:55:31 +0000 (15:55 -0700)]
Added branch and shift_rot imports to fu/compunits.py and created
BranchFunctionUnit and ShiftRotPipeSpec classes
Cesar Strauss [Sat, 23 May 2020 22:52:08 +0000 (19:52 -0300)]
Add a few test cases with zero_a set, in combination with imm_ok
Cesar Strauss [Sat, 23 May 2020 22:39:29 +0000 (19:39 -0300)]
Allow zero_a to be set when simulating an operation
Luke Kenneth Casson Leighton [Sat, 23 May 2020 22:24:07 +0000 (23:24 +0100)]
add input / output stage missing modules
Luke Kenneth Casson Leighton [Sat, 23 May 2020 20:47:17 +0000 (21:47 +0100)]
common function for op zero and op immed
Cesar Strauss [Sat, 23 May 2020 17:22:54 +0000 (14:22 -0300)]
Choose between RA (src1) and zero immediate, conditioned on zero_a
Luke Kenneth Casson Leighton [Sat, 23 May 2020 19:02:27 +0000 (20:02 +0100)]
update docs on compunits
Luke Kenneth Casson Leighton [Sat, 23 May 2020 18:44:13 +0000 (19:44 +0100)]
remove extraneous test_isel
Luke Kenneth Casson Leighton [Sat, 23 May 2020 18:22:47 +0000 (19:22 +0100)]
add comments
Luke Kenneth Casson Leighton [Sat, 23 May 2020 18:12:06 +0000 (19:12 +0100)]
document purpose of regspec module
Luke Kenneth Casson Leighton [Sat, 23 May 2020 18:05:31 +0000 (19:05 +0100)]
split out RegSpecs into separate module
Luke Kenneth Casson Leighton [Sat, 23 May 2020 17:53:11 +0000 (18:53 +0100)]
add TODO on multi-in multi-out Function Units
Luke Kenneth Casson Leighton [Sat, 23 May 2020 17:50:57 +0000 (18:50 +0100)]
split out RegSpec API into separate class (TODO: move to separate file)
Luke Kenneth Casson Leighton [Sat, 23 May 2020 17:40:49 +0000 (18:40 +0100)]
add notes on FunctionUnit API
Luke Kenneth Casson Leighton [Sat, 23 May 2020 17:25:47 +0000 (18:25 +0100)]
make MultiCompUnit and testing ALU use regspec API and nmutil pipeline API
Luke Kenneth Casson Leighton [Sat, 23 May 2020 17:24:45 +0000 (18:24 +0100)]
remove unneeded imports
Luke Kenneth Casson Leighton [Sat, 23 May 2020 17:08:08 +0000 (18:08 +0100)]
make demo/test ALU look like nmigen pipeline API
Luke Kenneth Casson Leighton [Sat, 23 May 2020 15:21:21 +0000 (16:21 +0100)]
add stub DataMerger class
Luke Kenneth Casson Leighton [Sat, 23 May 2020 14:57:25 +0000 (15:57 +0100)]
add link to regspecs on wiki
Luke Kenneth Casson Leighton [Sat, 23 May 2020 14:12:14 +0000 (15:12 +0100)]
add regspec capability to MultiCompUnit
Michael Nolan [Sat, 23 May 2020 13:24:35 +0000 (09:24 -0400)]
Modify proof of isel to use full CR register
Michael Nolan [Sat, 23 May 2020 13:16:23 +0000 (09:16 -0400)]
Add test_isel
Luke Kenneth Casson Leighton [Sat, 23 May 2020 13:04:06 +0000 (14:04 +0100)]
make immediate-or-RA selection optional based on awareness of operation subset
in MultiCompUnit
Luke Kenneth Casson Leighton [Sat, 23 May 2020 12:39:48 +0000 (13:39 +0100)]
start to morph MultiCompUnit to take "regspec" as the way to decide the latch and
oper_i configuration
Luke Kenneth Casson Leighton [Sat, 23 May 2020 10:58:43 +0000 (11:58 +0100)]
add CR_ISEL formal proof to CR pipeline
Luke Kenneth Casson Leighton [Sat, 23 May 2020 10:35:24 +0000 (11:35 +0100)]
add CR_ISEL (and unit test) to CR pipeline
Luke Kenneth Casson Leighton [Sat, 23 May 2020 10:20:34 +0000 (11:20 +0100)]
update to (corrected) csv files for CR_ISEL
Luke Kenneth Casson Leighton [Sat, 23 May 2020 03:13:22 +0000 (04:13 +0100)]
select bits 2:5 from BC to get CR0 to 7 in DecodeCRin
Luke Kenneth Casson Leighton [Sat, 23 May 2020 02:19:49 +0000 (03:19 +0100)]
add gitignore
Luke Kenneth Casson Leighton [Sat, 23 May 2020 02:18:10 +0000 (03:18 +0100)]
CR field on Br input data is specd as 0:3 range
Luke Kenneth Casson Leighton [Sat, 23 May 2020 02:15:08 +0000 (03:15 +0100)]
add b to CR pipe input data, for isel
Luke Kenneth Casson Leighton [Fri, 22 May 2020 20:37:46 +0000 (21:37 +0100)]
add TODO and link to SHIFT_ROT formal bugreport
Luke Kenneth Casson Leighton [Fri, 22 May 2020 20:30:56 +0000 (21:30 +0100)]
remove xer.so from ShiftRot formal proof
Luke Kenneth Casson Leighton [Fri, 22 May 2020 19:06:41 +0000 (20:06 +0100)]
remove sticky overflow from Shift Rot pipeline
Luke Kenneth Casson Leighton [Fri, 22 May 2020 18:59:59 +0000 (19:59 +0100)]
test branch ctr ok flag
Luke Kenneth Casson Leighton [Fri, 22 May 2020 18:52:55 +0000 (19:52 +0100)]
cleaner way to test link register ok
Luke Kenneth Casson Leighton [Fri, 22 May 2020 18:49:12 +0000 (19:49 +0100)]
whitespace
Michael Nolan [Fri, 22 May 2020 18:43:32 +0000 (14:43 -0400)]
Fix link handling in branch proof
Michael Nolan [Fri, 22 May 2020 18:30:58 +0000 (14:30 -0400)]
Update to latest wiki version - fix cr0 input for OP_CNTZ
Luke Kenneth Casson Leighton [Fri, 22 May 2020 18:29:26 +0000 (19:29 +0100)]
variable-name munging for branch formal
Michael Nolan [Fri, 22 May 2020 18:20:13 +0000 (14:20 -0400)]
Add formal proof for branch unit, fix bug with bcreg
Luke Kenneth Casson Leighton [Fri, 22 May 2020 18:20:26 +0000 (19:20 +0100)]
cleanup logical pipe formal proof
Luke Kenneth Casson Leighton [Fri, 22 May 2020 18:19:16 +0000 (19:19 +0100)]
split out Logical Input and Output stages to common code, allows removal
of XER.SO from Logical pipeline
Luke Kenneth Casson Leighton [Fri, 22 May 2020 17:51:08 +0000 (18:51 +0100)]
div probably uses ALU not Logical, needs double-checking though
Luke Kenneth Casson Leighton [Fri, 22 May 2020 16:08:15 +0000 (17:08 +0100)]
update comments for ALUCompUnit
Luke Kenneth Casson Leighton [Fri, 22 May 2020 15:37:15 +0000 (16:37 +0100)]
soc.fu.logical.input_stage no different from ALU: delete
Luke Kenneth Casson Leighton [Fri, 22 May 2020 15:35:32 +0000 (16:35 +0100)]
covert ALU FU to CommonInputStage
Luke Kenneth Casson Leighton [Fri, 22 May 2020 15:32:44 +0000 (16:32 +0100)]
create common input pipe spec to avoid code-duplication
Luke Kenneth Casson Leighton [Fri, 22 May 2020 15:15:16 +0000 (16:15 +0100)]
move CR over to CompCROpSubset
Michael Nolan [Fri, 22 May 2020 14:49:26 +0000 (10:49 -0400)]
Convert branch unit to new CR interface
Michael Nolan [Fri, 22 May 2020 13:31:35 +0000 (09:31 -0400)]
Complete CR proof
Luke Kenneth Casson Leighton [Fri, 22 May 2020 13:47:37 +0000 (14:47 +0100)]
increase fu-fu test matrix size
Luke Kenneth Casson Leighton [Fri, 22 May 2020 10:15:17 +0000 (11:15 +0100)]
remove unneeded code
Luke Kenneth Casson Leighton [Fri, 22 May 2020 10:14:04 +0000 (11:14 +0100)]
rename ShiftRot to Mul in fu mul test
Luke Kenneth Casson Leighton [Fri, 22 May 2020 10:12:28 +0000 (11:12 +0100)]
rename Logical to Div in fu div test
Luke Kenneth Casson Leighton [Fri, 22 May 2020 10:10:35 +0000 (11:10 +0100)]
cookie-cut start on div pipe
Luke Kenneth Casson Leighton [Fri, 22 May 2020 10:03:22 +0000 (11:03 +0100)]
add cookie-cut mul pipeline template
Luke Kenneth Casson Leighton [Fri, 22 May 2020 09:55:17 +0000 (10:55 +0100)]
whitespace
Luke Kenneth Casson Leighton [Fri, 22 May 2020 09:48:29 +0000 (10:48 +0100)]
over 80 chars
Luke Kenneth Casson Leighton [Fri, 22 May 2020 09:46:45 +0000 (10:46 +0100)]
comment tidyup
Luke Kenneth Casson Leighton [Fri, 22 May 2020 09:34:52 +0000 (10:34 +0100)]
use CompBROpSubset and reduce it down in size (remove unneeded fields)
Luke Kenneth Casson Leighton [Fri, 22 May 2020 09:30:37 +0000 (10:30 +0100)]
code-shuffle
Luke Kenneth Casson Leighton [Fri, 22 May 2020 09:26:27 +0000 (10:26 +0100)]
remove accidentally added branch input stage
Tobias Platen [Fri, 22 May 2020 06:38:22 +0000 (08:38 +0200)]
fix ModuleNotFoundError
Luke Kenneth Casson Leighton [Thu, 21 May 2020 20:44:39 +0000 (21:44 +0100)]
add fu logical_input_record.py
Luke Kenneth Casson Leighton [Thu, 21 May 2020 20:08:10 +0000 (21:08 +0100)]
update CROutputData to use Data()
Luke Kenneth Casson Leighton [Thu, 21 May 2020 19:58:26 +0000 (20:58 +0100)]
update comments
Luke Kenneth Casson Leighton [Thu, 21 May 2020 19:56:08 +0000 (20:56 +0100)]
whitespace cleanup
Luke Kenneth Casson Leighton [Thu, 21 May 2020 19:55:46 +0000 (20:55 +0100)]
whitespace cleanup
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