soc.git
3 years agoFix detection of busy_o inside the monitor process
Cesar Strauss [Mon, 25 May 2020 15:07:15 +0000 (12:07 -0300)]
Fix detection of busy_o inside the monitor process

Found the bug literally seconds after pushing...

3 years agoProof of concept of a parallel test
Cesar Strauss [Mon, 25 May 2020 14:53:42 +0000 (11:53 -0300)]
Proof of concept of a parallel test

It doesn't work as expected.
For some reason, only the driver sees the rise of busy_o.

3 years agofix own copy/paste error
Tobias Platen [Mon, 25 May 2020 14:31:15 +0000 (16:31 +0200)]
fix own copy/paste error

3 years agowhitespace fix in docstring
Tobias Platen [Mon, 25 May 2020 14:29:39 +0000 (16:29 +0200)]
whitespace fix in docstring

3 years agocorrect links in regfile docstring
Luke Kenneth Casson Leighton [Mon, 25 May 2020 14:24:31 +0000 (15:24 +0100)]
correct links in regfile docstring

3 years agodocument regfiles
Luke Kenneth Casson Leighton [Mon, 25 May 2020 14:13:16 +0000 (15:13 +0100)]
document regfiles

3 years agoargh! frickin MACos terminal expanded out to 86x30 not 80x30
Luke Kenneth Casson Leighton [Mon, 25 May 2020 13:54:06 +0000 (14:54 +0100)]
argh!  frickin MACos terminal expanded out to 86x30 not 80x30

3 years agoadd docstring
Luke Kenneth Casson Leighton [Mon, 25 May 2020 13:52:40 +0000 (14:52 +0100)]
add docstring

3 years agoadd INT, SPR and CR regfiles
Luke Kenneth Casson Leighton [Mon, 25 May 2020 13:43:15 +0000 (14:43 +0100)]
add INT, SPR and CR regfiles

3 years agorefactoring (see #216 Comment 43)
Tobias Platen [Mon, 25 May 2020 13:41:49 +0000 (15:41 +0200)]
refactoring (see #216 Comment 43)

3 years agowhitespace changes
Tobias Platen [Mon, 25 May 2020 13:03:54 +0000 (15:03 +0200)]
whitespace changes

3 years agoquick addition of zero+immed test to LDSTCompUnit
Luke Kenneth Casson Leighton [Mon, 25 May 2020 11:44:38 +0000 (12:44 +0100)]
quick addition of zero+immed test to LDSTCompUnit

3 years agomust not do rd-req checking when both imm and zero mode are enabled
Luke Kenneth Casson Leighton [Mon, 25 May 2020 10:43:28 +0000 (11:43 +0100)]
must not do rd-req checking when both imm and zero mode are enabled

3 years agoimplement DataMerger interface
Tobias Platen [Mon, 25 May 2020 09:47:00 +0000 (11:47 +0200)]
implement DataMerger interface

3 years agoadd zero immed on LDST, untested
Luke Kenneth Casson Leighton [Mon, 25 May 2020 03:43:56 +0000 (04:43 +0100)]
add zero immed on LDST, untested

3 years agocomment out invalid test
Luke Kenneth Casson Leighton [Mon, 25 May 2020 02:26:46 +0000 (03:26 +0100)]
comment out invalid test

3 years agolots of greater than 80 chars
Luke Kenneth Casson Leighton [Mon, 25 May 2020 02:23:10 +0000 (03:23 +0100)]
lots of greater than 80 chars

3 years agoswitch out req rel if immediate enabled
Luke Kenneth Casson Leighton [Mon, 25 May 2020 02:19:20 +0000 (03:19 +0100)]
switch out req rel if immediate enabled

3 years agoShow oper_r and oper_i in the signal list, in simulation
Cesar Strauss [Mon, 25 May 2020 00:40:52 +0000 (21:40 -0300)]
Show oper_r and oper_i in the signal list, in simulation

3 years agomention zeroing
Luke Kenneth Casson Leighton [Mon, 25 May 2020 00:11:49 +0000 (01:11 +0100)]
mention zeroing

3 years agoadd links to pseudocode
Luke Kenneth Casson Leighton [Mon, 25 May 2020 00:09:54 +0000 (01:09 +0100)]
add links to pseudocode

3 years agospelling
Luke Kenneth Casson Leighton [Sun, 24 May 2020 23:58:19 +0000 (00:58 +0100)]
spelling

3 years agospelling
Luke Kenneth Casson Leighton [Sun, 24 May 2020 23:55:52 +0000 (00:55 +0100)]
spelling

3 years agoadd comments for SPR pipe_data
Luke Kenneth Casson Leighton [Sun, 24 May 2020 22:00:59 +0000 (23:00 +0100)]
add comments for SPR pipe_data

3 years agoadd SPR pipe_data.py
Luke Kenneth Casson Leighton [Sun, 24 May 2020 21:43:27 +0000 (22:43 +0100)]
add SPR pipe_data.py

3 years agoover 80 char limit
Luke Kenneth Casson Leighton [Sun, 24 May 2020 20:57:32 +0000 (21:57 +0100)]
over 80 char limit

3 years agoadd test of reg output, for MFCRF and ISEL
Luke Kenneth Casson Leighton [Sun, 24 May 2020 20:46:56 +0000 (21:46 +0100)]
add test of reg output, for MFCRF and ISEL

3 years agoAvoid overwriting the first vcd file with the second one
Cesar Strauss [Sun, 24 May 2020 19:48:46 +0000 (16:48 -0300)]
Avoid overwriting the first vcd file with the second one

3 years agoRename the internal DFF of latchregisters to avoid conflict
Cesar Strauss [Sun, 24 May 2020 19:44:12 +0000 (16:44 -0300)]
Rename the internal DFF of latchregisters to avoid conflict

3 years agoadd gitignore for branch fu formal
Luke Kenneth Casson Leighton [Sun, 24 May 2020 19:47:53 +0000 (20:47 +0100)]
add gitignore for branch fu formal

3 years agoadd OP_CMPB formal proof
Luke Kenneth Casson Leighton [Sun, 24 May 2020 19:23:54 +0000 (20:23 +0100)]
add OP_CMPB formal proof

3 years agoAssert that ctr is only written when needed
Michael Nolan [Sun, 24 May 2020 19:16:28 +0000 (15:16 -0400)]
Assert that ctr is only written when needed

3 years agosplit out Popcount into separate module: visually it interferes with readability...
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

3 years agocopy code for MTMSR from microwatt into comments
Luke Kenneth Casson Leighton [Sun, 24 May 2020 19:05:55 +0000 (20:05 +0100)]
copy code for MTMSR from microwatt into comments

3 years agoadd links for trap main stage
Luke Kenneth Casson Leighton [Sun, 24 May 2020 19:01:56 +0000 (20:01 +0100)]
add links for trap main stage

3 years agoadd untested OP_MTMSR and OP_MFMSR
Luke Kenneth Casson Leighton [Sun, 24 May 2020 19:00:07 +0000 (20:00 +0100)]
add untested OP_MTMSR and OP_MFMSR

3 years agoupdate to new CSV files in submodule
Luke Kenneth Casson Leighton [Sun, 24 May 2020 18:53:38 +0000 (19:53 +0100)]
update to new CSV files in submodule

3 years agoadd MFMSR and MTMSRD enums to Function
Luke Kenneth Casson Leighton [Sun, 24 May 2020 18:49:30 +0000 (19:49 +0100)]
add MFMSR and MTMSRD enums to Function

3 years agocomment and add links to branch formal proof
Luke Kenneth Casson Leighton [Sun, 24 May 2020 18:30:56 +0000 (19:30 +0100)]
comment and add links to branch formal proof

3 years agoadd copy of bpermd proof to logical formal proof (not nice but hey)
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)

3 years agotrack down overwrite of variable b
Luke Kenneth Casson Leighton [Sun, 24 May 2020 17:58:02 +0000 (18:58 +0100)]
track down overwrite of variable b

3 years agoFix proof of bpermd module
Michael Nolan [Sun, 24 May 2020 15:17:12 +0000 (11:17 -0400)]
Fix proof of bpermd module

3 years agoFix bpermd and make tests pass
Michael Nolan [Sun, 24 May 2020 15:15:54 +0000 (11:15 -0400)]
Fix bpermd and make tests pass

3 years agoFix test_pipe_caller to conform to new Data() interface on outputs
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

3 years agoadd stub regfiles.py
Luke Kenneth Casson Leighton [Sun, 24 May 2020 15:05:00 +0000 (16:05 +0100)]
add stub regfiles.py

3 years agohmm...
Luke Kenneth Casson Leighton [Sun, 24 May 2020 14:00:03 +0000 (15:00 +0100)]
hmm...

3 years agoadd very rapid DummyALU for test purposes in MultiCompUnit
Luke Kenneth Casson Leighton [Sun, 24 May 2020 13:54:41 +0000 (14:54 +0100)]
add very rapid DummyALU for test purposes in MultiCompUnit

3 years agocomments on branch pipeline
Luke Kenneth Casson Leighton [Sun, 24 May 2020 13:47:20 +0000 (14:47 +0100)]
comments on branch pipeline

3 years agoconvert CR pipeline to Data.ok
Luke Kenneth Casson Leighton [Sun, 24 May 2020 13:36:28 +0000 (14:36 +0100)]
convert CR pipeline to Data.ok

3 years agoconvert ALU to output Data on int reg
Luke Kenneth Casson Leighton [Sun, 24 May 2020 13:07:02 +0000 (14:07 +0100)]
convert ALU to output Data on int reg

3 years agoconvert logical 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

3 years agostart using Data in pipelines
Luke Kenneth Casson Leighton [Sun, 24 May 2020 12:47:12 +0000 (13:47 +0100)]
start using Data in pipelines

3 years agocleanup/code-munge on ALU main stage proof
Luke Kenneth Casson Leighton [Sun, 24 May 2020 12:09:54 +0000 (13:09 +0100)]
cleanup/code-munge on ALU main stage proof

3 years agoerror in alu output stage formal proof setup
Luke Kenneth Casson Leighton [Sun, 24 May 2020 12:03:53 +0000 (13:03 +0100)]
error in alu output stage formal proof setup

3 years agooutput registers need to be Data type (consistently)
Luke Kenneth Casson Leighton [Sun, 24 May 2020 12:01:50 +0000 (13:01 +0100)]
output registers need to be Data type (consistently)

3 years agospelling mistake in variable
Luke Kenneth Casson Leighton [Sun, 24 May 2020 11:59:37 +0000 (12:59 +0100)]
spelling mistake in variable

3 years agoTODO mention OP_MTMSR/OP_MFMSR
Luke Kenneth Casson Leighton [Sun, 24 May 2020 11:54:55 +0000 (12:54 +0100)]
TODO mention OP_MTMSR/OP_MFMSR

3 years agoadd RA to trap pipeline, for 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

3 years agomove docstring to wiki for compunit
Luke Kenneth Casson Leighton [Sun, 24 May 2020 04:33:57 +0000 (05:33 +0100)]
move docstring to wiki for compunit

3 years agoAdded branch and shift_rot imports to fu/compunits.py and created
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

3 years agoAdd a few test cases with zero_a set, in combination with imm_ok
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

3 years agoAllow zero_a to be set when simulating an operation
Cesar Strauss [Sat, 23 May 2020 22:39:29 +0000 (19:39 -0300)]
Allow zero_a to be set when simulating an operation

3 years agoadd input / output stage missing modules
Luke Kenneth Casson Leighton [Sat, 23 May 2020 22:24:07 +0000 (23:24 +0100)]
add input / output stage missing modules

3 years agocommon function for op zero and op immed
Luke Kenneth Casson Leighton [Sat, 23 May 2020 20:47:17 +0000 (21:47 +0100)]
common function for op zero and op immed

3 years agoChoose between RA (src1) and zero immediate, conditioned on zero_a
Cesar Strauss [Sat, 23 May 2020 17:22:54 +0000 (14:22 -0300)]
Choose between RA (src1) and zero immediate, conditioned on zero_a

3 years agoupdate docs on compunits
Luke Kenneth Casson Leighton [Sat, 23 May 2020 19:02:27 +0000 (20:02 +0100)]
update docs on compunits

3 years agoremove extraneous test_isel
Luke Kenneth Casson Leighton [Sat, 23 May 2020 18:44:13 +0000 (19:44 +0100)]
remove extraneous test_isel

3 years agoadd comments
Luke Kenneth Casson Leighton [Sat, 23 May 2020 18:22:47 +0000 (19:22 +0100)]
add comments

3 years agodocument purpose of regspec module
Luke Kenneth Casson Leighton [Sat, 23 May 2020 18:12:06 +0000 (19:12 +0100)]
document purpose of regspec module

3 years agosplit out RegSpecs into separate module
Luke Kenneth Casson Leighton [Sat, 23 May 2020 18:05:31 +0000 (19:05 +0100)]
split out RegSpecs into separate module

3 years agoadd TODO on multi-in multi-out Function Units
Luke Kenneth Casson Leighton [Sat, 23 May 2020 17:53:11 +0000 (18:53 +0100)]
add TODO on multi-in multi-out Function Units

3 years agosplit out RegSpec API into separate class (TODO: move to separate file)
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)

3 years agoadd notes on FunctionUnit API
Luke Kenneth Casson Leighton [Sat, 23 May 2020 17:40:49 +0000 (18:40 +0100)]
add notes on FunctionUnit API

3 years agomake MultiCompUnit and testing ALU use regspec API and nmutil pipeline 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

3 years agoremove unneeded imports
Luke Kenneth Casson Leighton [Sat, 23 May 2020 17:24:45 +0000 (18:24 +0100)]
remove unneeded imports

3 years agomake demo/test ALU look like nmigen pipeline API
Luke Kenneth Casson Leighton [Sat, 23 May 2020 17:08:08 +0000 (18:08 +0100)]
make demo/test ALU look like nmigen pipeline API

3 years agoadd stub DataMerger class
Luke Kenneth Casson Leighton [Sat, 23 May 2020 15:21:21 +0000 (16:21 +0100)]
add stub DataMerger class

3 years agoadd link to regspecs on wiki
Luke Kenneth Casson Leighton [Sat, 23 May 2020 14:57:25 +0000 (15:57 +0100)]
add link to regspecs on wiki

3 years agoadd regspec capability to MultiCompUnit
Luke Kenneth Casson Leighton [Sat, 23 May 2020 14:12:14 +0000 (15:12 +0100)]
add regspec capability to MultiCompUnit

3 years agoModify proof of isel to use full CR register
Michael Nolan [Sat, 23 May 2020 13:24:35 +0000 (09:24 -0400)]
Modify proof of isel to use full CR register

3 years agoAdd test_isel
Michael Nolan [Sat, 23 May 2020 13:16:23 +0000 (09:16 -0400)]
Add test_isel

3 years agomake immediate-or-RA selection optional based on awareness of operation subset
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

3 years agostart to morph MultiCompUnit to take "regspec" as the way to decide the latch and
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

3 years agoadd CR_ISEL formal proof to CR pipeline
Luke Kenneth Casson Leighton [Sat, 23 May 2020 10:58:43 +0000 (11:58 +0100)]
add CR_ISEL formal proof to CR pipeline

3 years agoadd CR_ISEL (and unit test) 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

3 years agoupdate to (corrected) csv files for CR_ISEL
Luke Kenneth Casson Leighton [Sat, 23 May 2020 10:20:34 +0000 (11:20 +0100)]
update to (corrected) csv files for CR_ISEL

3 years agoselect bits 2:5 from BC to get CR0 to 7 in DecodeCRin
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

3 years agoadd gitignore
Luke Kenneth Casson Leighton [Sat, 23 May 2020 02:19:49 +0000 (03:19 +0100)]
add gitignore

3 years agoCR field on Br input data is specd as 0:3 range
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

3 years agoadd b to CR pipe input data, for isel
Luke Kenneth Casson Leighton [Sat, 23 May 2020 02:15:08 +0000 (03:15 +0100)]
add b to CR pipe input data, for isel

3 years agoadd TODO and link to SHIFT_ROT formal bugreport
Luke Kenneth Casson Leighton [Fri, 22 May 2020 20:37:46 +0000 (21:37 +0100)]
add TODO and link to SHIFT_ROT formal bugreport

3 years agoremove xer.so from ShiftRot formal proof
Luke Kenneth Casson Leighton [Fri, 22 May 2020 20:30:56 +0000 (21:30 +0100)]
remove xer.so from ShiftRot formal proof

3 years agoremove sticky overflow from Shift Rot pipeline
Luke Kenneth Casson Leighton [Fri, 22 May 2020 19:06:41 +0000 (20:06 +0100)]
remove sticky overflow from Shift Rot pipeline

3 years agotest branch ctr ok flag
Luke Kenneth Casson Leighton [Fri, 22 May 2020 18:59:59 +0000 (19:59 +0100)]
test branch ctr ok flag

3 years agocleaner way to test link register ok
Luke Kenneth Casson Leighton [Fri, 22 May 2020 18:52:55 +0000 (19:52 +0100)]
cleaner way to test link register ok

3 years agowhitespace
Luke Kenneth Casson Leighton [Fri, 22 May 2020 18:49:12 +0000 (19:49 +0100)]
whitespace

3 years agoFix link handling in branch proof
Michael Nolan [Fri, 22 May 2020 18:43:32 +0000 (14:43 -0400)]
Fix link handling in branch proof

3 years agoUpdate to latest wiki version - fix cr0 input for OP_CNTZ
Michael Nolan [Fri, 22 May 2020 18:30:58 +0000 (14:30 -0400)]
Update to latest wiki version - fix cr0 input for OP_CNTZ

3 years agovariable-name munging for branch formal
Luke Kenneth Casson Leighton [Fri, 22 May 2020 18:29:26 +0000 (19:29 +0100)]
variable-name munging for branch formal

3 years agoAdd formal proof for branch unit, fix bug with bcreg
Michael Nolan [Fri, 22 May 2020 18:20:13 +0000 (14:20 -0400)]
Add formal proof for branch unit, fix bug with bcreg