Luke Kenneth Casson Leighton [Sun, 31 May 2020 13:26:21 +0000 (14:26 +0100)]
OP_CMP is requesting a change of the output register (should not do that)
Luke Kenneth Casson Leighton [Sun, 31 May 2020 12:19:35 +0000 (13:19 +0100)]
still investigating
Luke Kenneth Casson Leighton [Sun, 31 May 2020 12:08:22 +0000 (13:08 +0100)]
start with zero, try not to compare against 9 bytes in a 64-bit value: cmpeqb test
Luke Kenneth Casson Leighton [Sun, 31 May 2020 12:04:13 +0000 (13:04 +0100)]
more debug statements
Luke Kenneth Casson Leighton [Sun, 31 May 2020 11:54:53 +0000 (12:54 +0100)]
add in more CR debug statements
Luke Kenneth Casson Leighton [Sun, 31 May 2020 11:54:29 +0000 (12:54 +0100)]
copy in cr0.data into cr0 temp, not whole of cr0 (including ok flag)
Luke Kenneth Casson Leighton [Sun, 31 May 2020 11:33:30 +0000 (12:33 +0100)]
remove commented-out vars from ALU input record
Luke Kenneth Casson Leighton [Sun, 31 May 2020 11:28:38 +0000 (12:28 +0100)]
write cr0 when op.write_cr.ok is set
Luke Kenneth Casson Leighton [Sun, 31 May 2020 11:27:45 +0000 (12:27 +0100)]
add write_cr to ALU record subset
Luke Kenneth Casson Leighton [Sun, 31 May 2020 10:21:31 +0000 (11:21 +0100)]
comment out xer ov/so for now
Luke Kenneth Casson Leighton [Sat, 30 May 2020 22:33:40 +0000 (23:33 +0100)]
get carry from cr write_cr
Luke Kenneth Casson Leighton [Sat, 30 May 2020 22:31:25 +0000 (23:31 +0100)]
select CR0 write out only when RC=1
Luke Kenneth Casson Leighton [Sat, 30 May 2020 20:28:13 +0000 (21:28 +0100)]
set CR0 output when OP_CMP or OP_CMPEQB need it
Luke Kenneth Casson Leighton [Sat, 30 May 2020 19:39:08 +0000 (20:39 +0100)]
add in use of "Settle"
Luke Kenneth Casson Leighton [Sat, 30 May 2020 19:37:10 +0000 (20:37 +0100)]
add in write-mask into MultiCompUnit and MCU-ALU unit test: bug detected in
RC handling
Tobias Platen [Sat, 30 May 2020 19:12:07 +0000 (21:12 +0200)]
Merge branch 'master' of ssh://git.libre-riscv.org:922/soc
Tobias Platen [Sat, 30 May 2020 19:11:02 +0000 (21:11 +0200)]
unit test for DataMerger
Luke Kenneth Casson Leighton [Sat, 30 May 2020 19:00:33 +0000 (20:00 +0100)]
create read-mask for ALU CompUnit: switches off optional operands
Luke Kenneth Casson Leighton [Sat, 30 May 2020 18:46:30 +0000 (19:46 +0100)]
create a write-mask, anything with an "ok" in the Record fields
Luke Kenneth Casson Leighton [Sat, 30 May 2020 18:39:11 +0000 (19:39 +0100)]
allow MultiCompUnit outputs to be Records, to capture Data.ok
Luke Kenneth Casson Leighton [Sat, 30 May 2020 18:34:08 +0000 (19:34 +0100)]
add read-mask to MultiCompUnit
Luke Kenneth Casson Leighton [Sat, 30 May 2020 18:29:51 +0000 (19:29 +0100)]
code-shuffle / comments
Luke Kenneth Casson Leighton [Sat, 30 May 2020 15:23:46 +0000 (16:23 +0100)]
mess - but a functional mess. ALU-MultiCompUnit semi-functional using pipeline
Luke Kenneth Casson Leighton [Sat, 30 May 2020 13:45:55 +0000 (14:45 +0100)]
grab other results from ALU pipeline in compunit test
Luke Kenneth Casson Leighton [Sat, 30 May 2020 13:27:06 +0000 (14:27 +0100)]
order of XER so/ca wrong way round from regspec
Luke Kenneth Casson Leighton [Sat, 30 May 2020 10:58:30 +0000 (11:58 +0100)]
still experimenting with ALU-CompUnit interaction
Luke Kenneth Casson Leighton [Fri, 29 May 2020 23:51:25 +0000 (00:51 +0100)]
interesting. use of Settle() works, showing that Regfile is combinatorial on read
Luke Kenneth Casson Leighton [Fri, 29 May 2020 21:38:28 +0000 (22:38 +0100)]
module comments for popcount
Luke Kenneth Casson Leighton [Fri, 29 May 2020 21:33:46 +0000 (22:33 +0100)]
comments on popcount
Luke Kenneth Casson Leighton [Fri, 29 May 2020 16:11:00 +0000 (17:11 +0100)]
trigger ALU ready when operands ready
Tobias Platen [Fri, 29 May 2020 16:06:35 +0000 (18:06 +0200)]
fixes for DataMerger
Luke Kenneth Casson Leighton [Fri, 29 May 2020 15:49:29 +0000 (16:49 +0100)]
trigger read ALU ready/valid from latch as well
Luke Kenneth Casson Leighton [Fri, 29 May 2020 15:30:35 +0000 (16:30 +0100)]
use a latch to communicate read/valid output from ALU
Tobias Platen [Fri, 29 May 2020 15:20:10 +0000 (17:20 +0200)]
DataMerger: rename addr_match_i to addr_array_i
Tobias Platen [Fri, 29 May 2020 14:43:07 +0000 (16:43 +0200)]
fixed 'return m is missing'
Tobias Platen [Fri, 29 May 2020 14:40:32 +0000 (16:40 +0200)]
whitespace fixes
Luke Kenneth Casson Leighton [Fri, 29 May 2020 13:13:07 +0000 (14:13 +0100)]
latch all output on ALU output valid
Luke Kenneth Casson Leighton [Fri, 29 May 2020 12:50:56 +0000 (13:50 +0100)]
create read-done pulse
Luke Kenneth Casson Leighton [Fri, 29 May 2020 12:35:40 +0000 (13:35 +0100)]
write-release moves out of "ALU valid" due to using alu_pulse
Luke Kenneth Casson Leighton [Fri, 29 May 2020 12:33:45 +0000 (13:33 +0100)]
signal start of request from when ALU triggers result ready
Luke Kenneth Casson Leighton [Fri, 29 May 2020 12:31:29 +0000 (13:31 +0100)]
create rising pulse from ALU valid
Luke Kenneth Casson Leighton [Fri, 29 May 2020 12:30:06 +0000 (13:30 +0100)]
names of attributes needs to be dest_o not dest_i
Luke Kenneth Casson Leighton [Fri, 29 May 2020 12:12:06 +0000 (13:12 +0100)]
rename output signals in Test ALU
Cesar Strauss [Fri, 29 May 2020 11:09:14 +0000 (08:09 -0300)]
Allow immediate assertion of go in the same cycle as rel
Cesar Strauss [Fri, 29 May 2020 09:30:14 +0000 (06:30 -0300)]
Correct typo
There is no "rd" signal. It's "rel".
Cesar Strauss [Thu, 28 May 2020 22:49:04 +0000 (19:49 -0300)]
Send a one-clock "go" pulse after a configurable number of cycles
Luke Kenneth Casson Leighton [Thu, 28 May 2020 23:39:27 +0000 (00:39 +0100)]
messing about with proof_regfile.py
Luke Kenneth Casson Leighton [Thu, 28 May 2020 23:23:05 +0000 (00:23 +0100)]
move simple_popcount out of class (does not use any class state)
colepoirier [Thu, 28 May 2020 21:58:03 +0000 (14:58 -0700)]
Added Initial() synchronous check with draft truth
table for rp.ren and wp.wen of Register() in proof_regfile
Luke Kenneth Casson Leighton [Thu, 28 May 2020 12:26:21 +0000 (13:26 +0100)]
extra check on rd.req in test_alu_compunit
Tobias Platen [Thu, 28 May 2020 18:58:39 +0000 (20:58 +0200)]
indention
Michael Nolan [Thu, 28 May 2020 15:36:41 +0000 (11:36 -0400)]
Add proof for OP_SETB
Michael Nolan [Thu, 28 May 2020 15:04:28 +0000 (11:04 -0400)]
Update to latest wiki version
Michael Nolan [Thu, 28 May 2020 15:03:21 +0000 (11:03 -0400)]
Add OP_SETB
Michael Nolan [Thu, 28 May 2020 14:51:31 +0000 (10:51 -0400)]
Fix test_isel to properly examine registers
Tobias Platen [Thu, 28 May 2020 13:05:38 +0000 (15:05 +0200)]
unittest for DataMerger
Tobias Platen [Thu, 28 May 2020 12:52:02 +0000 (14:52 +0200)]
more fixes for DataMerger
Tobias Platen [Thu, 28 May 2020 12:23:03 +0000 (14:23 +0200)]
Merge branch 'master' of ssh://git.libre-riscv.org:922/soc
Tobias Platen [Thu, 28 May 2020 12:22:45 +0000 (14:22 +0200)]
fixes for l0_cache.py
Luke Kenneth Casson Leighton [Thu, 28 May 2020 12:21:28 +0000 (13:21 +0100)]
debug-print rd/wr rel in test_alu_compunit
Luke Kenneth Casson Leighton [Thu, 28 May 2020 12:10:56 +0000 (13:10 +0100)]
add quick test of 3-operand DummyALU in MultiCompALU
Luke Kenneth Casson Leighton [Thu, 28 May 2020 12:03:38 +0000 (13:03 +0100)]
add 3rd parameter to DummyALU
Luke Kenneth Casson Leighton [Thu, 28 May 2020 11:55:58 +0000 (12:55 +0100)]
debugging test_alu_compunit.py
Luke Kenneth Casson Leighton [Thu, 28 May 2020 10:41:24 +0000 (11:41 +0100)]
start on a compunit ALU test
Luke Kenneth Casson Leighton [Thu, 28 May 2020 10:33:20 +0000 (11:33 +0100)]
update comment
Luke Kenneth Casson Leighton [Thu, 28 May 2020 10:27:20 +0000 (11:27 +0100)]
remove trick of not setting SO
Cesar Strauss [Thu, 28 May 2020 10:17:00 +0000 (07:17 -0300)]
Check that rd rises after issue_i, unless it's immediate
Luke Kenneth Casson Leighton [Thu, 28 May 2020 10:10:17 +0000 (11:10 +0100)]
hmm....
colepoirier [Thu, 28 May 2020 01:11:25 +0000 (18:11 -0700)]
Add sync Assert for _wrports 'wen' signal in proof_regfile.py, proof
still not working
Cesar Strauss [Thu, 28 May 2020 00:37:02 +0000 (21:37 -0300)]
Store and present parameters together with issue_i
Luke Kenneth Casson Leighton [Wed, 27 May 2020 19:26:32 +0000 (20:26 +0100)]
do not use range(0, x) - just range(x)
Luke Kenneth Casson Leighton [Wed, 27 May 2020 19:22:13 +0000 (20:22 +0100)]
remove write-block on register zero
Luke Kenneth Casson Leighton [Wed, 27 May 2020 19:19:27 +0000 (20:19 +0100)]
code-morph, add TODO on OP_RFID, OP_SC, OP_ADDPCIS
colepoirier [Wed, 27 May 2020 19:16:06 +0000 (12:16 -0700)]
Derive proof_regfile Driver from regfile.Register() so test actually
runs
colepoirier [Wed, 27 May 2020 18:25:53 +0000 (11:25 -0700)]
Fix indentation of regfile/formal/proof_regfile.py
colepoirier [Wed, 27 May 2020 17:25:31 +0000 (10:25 -0700)]
First commit of proof of regfile, not working yet
Luke Kenneth Casson Leighton [Wed, 27 May 2020 17:31:14 +0000 (18:31 +0100)]
add LD/ST pipe_data
Luke Kenneth Casson Leighton [Wed, 27 May 2020 16:12:03 +0000 (17:12 +0100)]
LogicalOutputData does not need XER.so
Luke Kenneth Casson Leighton [Wed, 27 May 2020 15:55:10 +0000 (16:55 +0100)]
comments
Luke Kenneth Casson Leighton [Wed, 27 May 2020 15:49:36 +0000 (16:49 +0100)]
remove XER.ca from logical Input Data - not needed
Luke Kenneth Casson Leighton [Wed, 27 May 2020 15:40:18 +0000 (16:40 +0100)]
cleanup logical main proof
Luke Kenneth Casson Leighton [Wed, 27 May 2020 15:27:51 +0000 (16:27 +0100)]
check cr0, ov and ca ok signals in ALU main_stage proof
Luke Kenneth Casson Leighton [Wed, 27 May 2020 15:19:31 +0000 (16:19 +0100)]
add carry-out, overflow and cr0 ok setting in ALU main_stage
Luke Kenneth Casson Leighton [Wed, 27 May 2020 14:48:40 +0000 (15:48 +0100)]
add SRR0 to TrapInputData
Luke Kenneth Casson Leighton [Wed, 27 May 2020 14:35:09 +0000 (15:35 +0100)]
add links to bugreports into ALu formal proof as well
Luke Kenneth Casson Leighton [Wed, 27 May 2020 14:34:01 +0000 (15:34 +0100)]
add links to bugreports into alu output stage proof
Luke Kenneth Casson Leighton [Wed, 27 May 2020 14:28:30 +0000 (15:28 +0100)]
check reg output Data.ok in shift_rot formal proof
Luke Kenneth Casson Leighton [Wed, 27 May 2020 14:16:43 +0000 (15:16 +0100)]
rename CROutputData.cr_o to just CROutputData.cr
Luke Kenneth Casson Leighton [Wed, 27 May 2020 14:15:14 +0000 (15:15 +0100)]
test Data.ok for cr output and full cr output
Luke Kenneth Casson Leighton [Wed, 27 May 2020 14:10:00 +0000 (15:10 +0100)]
assign and test on Data, TODO add Data.ok checking in CR proof
Michael Nolan [Wed, 27 May 2020 14:00:57 +0000 (10:00 -0400)]
Fix bug in alu main stage proof
Cesar Strauss [Wed, 27 May 2020 10:06:37 +0000 (07:06 -0300)]
Move test case parameters to an "operation" member function
This allows running several operation cases in succession, without needing
to restart the processes, losing state and trace history.
I expect the need to synchronize the processes for each new operation.
Tobias Platen [Wed, 27 May 2020 09:27:19 +0000 (11:27 +0200)]
Merge branch 'master' of ssh://git.libre-riscv.org:922/soc
Tobias Platen [Wed, 27 May 2020 09:27:06 +0000 (11:27 +0200)]
elaborate function for DataMerger
Cesar Strauss [Wed, 27 May 2020 09:23:58 +0000 (06:23 -0300)]
Remove the monitor process
It may be useful for debugging, but GTKWave is better.
It has served well its purpose, when first setting up the simulation.
Can be added back if needed.
Luke Kenneth Casson Leighton [Wed, 27 May 2020 02:45:40 +0000 (03:45 +0100)]
make power function unit enum bitmasked
Luke Kenneth Casson Leighton [Wed, 27 May 2020 00:40:34 +0000 (01:40 +0100)]
add extra INT regs port for now, add Fast Regfile
Luke Kenneth Casson Leighton [Wed, 27 May 2020 00:34:31 +0000 (01:34 +0100)]
added XER and CR regfiles, using new VirtualRegPort
Luke Kenneth Casson Leighton [Tue, 26 May 2020 23:47:53 +0000 (00:47 +0100)]
check assertions
Luke Kenneth Casson Leighton [Tue, 26 May 2020 23:40:02 +0000 (00:40 +0100)]
make read/write regs properly internal