soc.git
4 years agosplit out shadow into separate module
Luke Kenneth Casson Leighton [Thu, 23 May 2019 06:51:13 +0000 (07:51 +0100)]
split out shadow into separate module

4 years agosort out counter, rename data_o to data_r (register), document CompUnit
Luke Kenneth Casson Leighton [Wed, 22 May 2019 23:20:46 +0000 (00:20 +0100)]
sort out counter, rename data_o to data_r (register), document CompUnit

4 years agoinvert write pending before use
Luke Kenneth Casson Leighton [Wed, 22 May 2019 19:43:35 +0000 (20:43 +0100)]
invert write pending before use

4 years agotesting if hazard can be done in current cycle
Luke Kenneth Casson Leighton [Wed, 22 May 2019 19:18:08 +0000 (20:18 +0100)]
testing if hazard can be done in current cycle

4 years agouse global pending vectors for read/write pending accumulation
Luke Kenneth Casson Leighton [Wed, 22 May 2019 13:22:18 +0000 (14:22 +0100)]
use global pending vectors for read/write pending accumulation

4 years agoclean up names, also note that readable is true if no writes are pending
Luke Kenneth Casson Leighton [Wed, 22 May 2019 13:05:44 +0000 (14:05 +0100)]
clean up names, also note that readable is true if no writes are pending
and writable is true if no reads are pending

4 years agouse shifter opcode
Luke Kenneth Casson Leighton [Wed, 22 May 2019 12:36:39 +0000 (13:36 +0100)]
use shifter opcode

4 years agoignore self-to-self read and write pending hazards
Luke Kenneth Casson Leighton [Wed, 22 May 2019 12:24:01 +0000 (13:24 +0100)]
ignore self-to-self read and write pending hazards

4 years agoread-after-write self-referring hazard
Luke Kenneth Casson Leighton [Wed, 22 May 2019 12:09:49 +0000 (13:09 +0100)]
read-after-write self-referring hazard

4 years agoallow loops to run instruction batches more than once
Luke Kenneth Casson Leighton [Wed, 22 May 2019 10:56:56 +0000 (11:56 +0100)]
allow loops to run instruction batches more than once

4 years agoWaW needs to stall
Luke Kenneth Casson Leighton [Wed, 22 May 2019 10:10:13 +0000 (11:10 +0100)]
WaW needs to stall

4 years agowait for busy to go LOW before ending
Luke Kenneth Casson Leighton [Wed, 22 May 2019 09:43:43 +0000 (10:43 +0100)]
wait for busy to go LOW before ending

4 years agoexperiment with different completion times
Luke Kenneth Casson Leighton [Wed, 22 May 2019 09:43:20 +0000 (10:43 +0100)]
experiment with different completion times

4 years agoadd in 2 more ALUs, now 4x4 scoreboard
Luke Kenneth Casson Leighton [Wed, 22 May 2019 09:24:49 +0000 (10:24 +0100)]
add in 2 more ALUs, now 4x4 scoreboard

4 years agoadd mul and shift to simulation
Luke Kenneth Casson Leighton [Wed, 22 May 2019 09:00:50 +0000 (10:00 +0100)]
add mul and shift to simulation

4 years agoadd extra regression test
Luke Kenneth Casson Leighton [Wed, 22 May 2019 08:57:46 +0000 (09:57 +0100)]
add extra regression test

4 years agoadd div and shift (as experiment)
Luke Kenneth Casson Leighton [Wed, 22 May 2019 08:57:36 +0000 (09:57 +0100)]
add div and shift (as experiment)

4 years agohave to stop forward progress if issue is set
Luke Kenneth Casson Leighton [Wed, 22 May 2019 07:34:12 +0000 (08:34 +0100)]
have to stop forward progress if issue is set

4 years agorandom regression test shows an inter-dependency fail
Luke Kenneth Casson Leighton [Wed, 22 May 2019 06:27:37 +0000 (07:27 +0100)]
random regression test shows an inter-dependency fail

4 years agoworking on all cycles, RaW / WaR
Luke Kenneth Casson Leighton [Tue, 21 May 2019 22:59:53 +0000 (23:59 +0100)]
working on all cycles, RaW / WaR

4 years agogot working (sort-of) cscore6600
Luke Kenneth Casson Leighton [Tue, 21 May 2019 22:54:02 +0000 (23:54 +0100)]
got working (sort-of) cscore6600

4 years agogot working (sort-of) cscore6600
Luke Kenneth Casson Leighton [Tue, 21 May 2019 22:53:53 +0000 (23:53 +0100)]
got working (sort-of) cscore6600

4 years agoadd read/write reg select vectors, in and out, similar to FunctionUnit
Luke Kenneth Casson Leighton [Tue, 21 May 2019 09:32:23 +0000 (10:32 +0100)]
add read/write reg select vectors, in and out, similar to FunctionUnit

4 years agouse dep cell format
Luke Kenneth Casson Leighton [Mon, 20 May 2019 20:00:52 +0000 (21:00 +0100)]
use dep cell format

4 years agoinvert x/y in fu pending
Luke Kenneth Casson Leighton [Mon, 20 May 2019 11:11:30 +0000 (12:11 +0100)]
invert x/y in fu pending

4 years agonearly there with readable/writable on FU matrix
Luke Kenneth Casson Leighton [Mon, 20 May 2019 10:19:13 +0000 (11:19 +0100)]
nearly there with readable/writable on FU matrix

4 years agoattempting to work out FU-FU matrix connections
Luke Kenneth Casson Leighton [Mon, 20 May 2019 08:07:44 +0000 (09:07 +0100)]
attempting to work out FU-FU matrix connections

4 years agoinclude hazard line to swap rd/wr dependencies
Luke Kenneth Casson Leighton [Mon, 20 May 2019 07:49:48 +0000 (08:49 +0100)]
include hazard line to swap rd/wr dependencies

4 years agonon-overlapping instructions ok
Luke Kenneth Casson Leighton [Sun, 19 May 2019 16:43:05 +0000 (17:43 +0100)]
non-overlapping instructions ok

4 years agosync ok on simple add
Luke Kenneth Casson Leighton [Sun, 19 May 2019 15:34:50 +0000 (16:34 +0100)]
sync ok on simple add

4 years agoadd reg clearing and read-request release
Luke Kenneth Casson Leighton [Sun, 19 May 2019 15:11:51 +0000 (16:11 +0100)]
add reg clearing and read-request release

4 years agouse register-based DepCell
Luke Kenneth Casson Leighton [Sun, 19 May 2019 09:34:02 +0000 (10:34 +0100)]
use register-based DepCell

4 years agocreating separate dependency cell which can be used for all 3 src1/src2/dest
Luke Kenneth Casson Leighton [Sun, 19 May 2019 08:19:40 +0000 (09:19 +0100)]
creating separate dependency cell which can be used for all 3 src1/src2/dest

4 years agoexperiment switching over fwd and rsel in dependency cell
Luke Kenneth Casson Leighton [Sun, 19 May 2019 06:15:39 +0000 (07:15 +0100)]
experiment switching over fwd and rsel in dependency cell

4 years agoadd individual dependency cell (sync mode)
Luke Kenneth Casson Leighton [Sun, 19 May 2019 06:15:12 +0000 (07:15 +0100)]
add individual dependency cell (sync mode)

4 years agoscoreboard 6600 experimentation
Luke Kenneth Casson Leighton [Sun, 19 May 2019 06:14:31 +0000 (07:14 +0100)]
scoreboard 6600 experimentation

4 years agowhoops bug where rsel lists were being re-initialised to empty
Luke Kenneth Casson Leighton [Sat, 18 May 2019 14:53:57 +0000 (15:53 +0100)]
whoops bug where rsel lists were being re-initialised to empty

4 years agoreduce length of vectors (per-row only single bit)
Luke Kenneth Casson Leighton [Sat, 18 May 2019 11:38:56 +0000 (12:38 +0100)]
reduce length of vectors (per-row only single bit)

4 years agoconnect up vectors direct
Luke Kenneth Casson Leighton [Sat, 18 May 2019 09:12:23 +0000 (10:12 +0100)]
connect up vectors direct

4 years agoconnect dependency row outputs
Luke Kenneth Casson Leighton [Sat, 18 May 2019 09:03:46 +0000 (10:03 +0100)]
connect dependency row outputs

4 years agocompress dependency matrix outputs into a row
Luke Kenneth Casson Leighton [Sat, 18 May 2019 08:53:10 +0000 (09:53 +0100)]
compress dependency matrix outputs into a row

4 years agomove dependency cells to row class
Luke Kenneth Casson Leighton [Sat, 18 May 2019 08:43:27 +0000 (09:43 +0100)]
move dependency cells to row class

4 years agoRevert "whoops use global vector correctly"
Luke Kenneth Casson Leighton [Sat, 18 May 2019 08:19:54 +0000 (09:19 +0100)]
Revert "whoops use global vector correctly"

This reverts commit d6723d9007b9fb5b9f56290e26af3e6bfa4f69f1.

4 years agowhoops use global vector correctly
Luke Kenneth Casson Leighton [Sat, 18 May 2019 08:18:03 +0000 (09:18 +0100)]
whoops use global vector correctly

4 years agowhoops use global vector correctly
Luke Kenneth Casson Leighton [Sat, 18 May 2019 07:47:29 +0000 (08:47 +0100)]
whoops use global vector correctly

4 years agoreduce syncs, get FU-FU and FU on same clock cycle
Luke Kenneth Casson Leighton [Sat, 18 May 2019 07:00:03 +0000 (08:00 +0100)]
reduce syncs, get FU-FU and FU on same clock cycle

4 years agonow using readable/writable from fu-fu matrix, seems to be working
Luke Kenneth Casson Leighton [Sat, 18 May 2019 06:50:36 +0000 (07:50 +0100)]
now using readable/writable from fu-fu matrix, seems to be working

4 years agouse FU-FU matrix, seems to be working, still have to resolve dependencies
Luke Kenneth Casson Leighton [Sat, 18 May 2019 05:29:08 +0000 (06:29 +0100)]
use FU-FU matrix, seems to be working, still have to resolve dependencies

4 years agouse FU-FU matrix, seems to be working, still have to resolve dependencies
Luke Kenneth Casson Leighton [Sat, 18 May 2019 05:29:01 +0000 (06:29 +0100)]
use FU-FU matrix, seems to be working, still have to resolve dependencies

4 years agoreorg instr test issue
Luke Kenneth Casson Leighton [Thu, 16 May 2019 15:41:53 +0000 (16:41 +0100)]
reorg instr test issue

4 years agoadd back in rd-flag qualification into fn unit
Luke Kenneth Casson Leighton [Thu, 16 May 2019 11:34:31 +0000 (12:34 +0100)]
add back in rd-flag qualification into fn unit

4 years agobring in go_rd_i into 6600 scoreboard, on 1-clock delay
Luke Kenneth Casson Leighton [Thu, 16 May 2019 11:07:43 +0000 (12:07 +0100)]
bring in go_rd_i into 6600 scoreboard, on 1-clock delay

4 years agoand in go_rd_i into group picker read
Luke Kenneth Casson Leighton [Thu, 16 May 2019 11:07:02 +0000 (12:07 +0100)]
and in go_rd_i into group picker read

4 years agoremove & rd_l.q, is now in group picker
Luke Kenneth Casson Leighton [Thu, 16 May 2019 11:06:45 +0000 (12:06 +0100)]
remove & rd_l.q, is now in group picker

4 years agoadd in go_rd
Luke Kenneth Casson Leighton [Thu, 16 May 2019 11:02:36 +0000 (12:02 +0100)]
add in go_rd

4 years agoexperiment lock out of registers in read vector
Luke Kenneth Casson Leighton [Thu, 16 May 2019 06:58:48 +0000 (07:58 +0100)]
experiment lock out of registers in read vector

4 years agosync function unit src/dest
Luke Kenneth Casson Leighton [Thu, 16 May 2019 04:22:07 +0000 (05:22 +0100)]
sync function unit src/dest

4 years agogetting there with instruction overlapping
Luke Kenneth Casson Leighton [Thu, 16 May 2019 04:02:23 +0000 (05:02 +0100)]
getting there with instruction overlapping

4 years agotry random inputs
Luke Kenneth Casson Leighton [Wed, 15 May 2019 17:13:01 +0000 (18:13 +0100)]
try random inputs

4 years agowrite-after-read hazard working
Luke Kenneth Casson Leighton [Wed, 15 May 2019 15:23:43 +0000 (16:23 +0100)]
write-after-read hazard working

4 years agomake global pending sync-delayed
Luke Kenneth Casson Leighton [Wed, 15 May 2019 15:11:46 +0000 (16:11 +0100)]
make global pending sync-delayed

4 years agomake fn unit invert readable, however qualify with rd latch
Luke Kenneth Casson Leighton [Wed, 15 May 2019 15:06:47 +0000 (16:06 +0100)]
make fn unit invert readable, however qualify with rd latch

4 years agoincrease counter, experiment with longer completion times
Luke Kenneth Casson Leighton [Wed, 15 May 2019 07:29:00 +0000 (08:29 +0100)]
increase counter, experiment with longer completion times

4 years agovery weird: invert readable vector, cscore works
Luke Kenneth Casson Leighton [Wed, 15 May 2019 06:48:51 +0000 (07:48 +0100)]
very weird: invert readable vector, cscore works

5 years agoexperimenting with cscore, overlapping instructions
Luke Kenneth Casson Leighton [Tue, 14 May 2019 09:35:41 +0000 (10:35 +0100)]
experimenting with cscore, overlapping instructions

5 years agoinverted global write pend vector, on creation of readable signal,
Luke Kenneth Casson Leighton [Tue, 14 May 2019 09:02:54 +0000 (10:02 +0100)]
inverted global write pend vector, on creation of readable signal,
seems to work

5 years agoexperimenting with score6600
Luke Kenneth Casson Leighton [Tue, 14 May 2019 09:02:18 +0000 (10:02 +0100)]
experimenting with score6600

5 years agoexperimenting with cscore
Luke Kenneth Casson Leighton [Tue, 14 May 2019 04:37:09 +0000 (05:37 +0100)]
experimenting with cscore

5 years agolatch Function Unit registers based on "issue" signal
Luke Kenneth Casson Leighton [Tue, 14 May 2019 04:27:09 +0000 (05:27 +0100)]
latch Function Unit registers based on "issue" signal

5 years agocomb on intpick
Luke Kenneth Casson Leighton [Mon, 13 May 2019 22:24:07 +0000 (23:24 +0100)]
comb on intpick

5 years agoscore6600 working without FunctionUnit (using dep matrices)
Luke Kenneth Casson Leighton [Mon, 13 May 2019 22:08:16 +0000 (23:08 +0100)]
score6600 working without FunctionUnit (using dep matrices)

5 years agosync on req_rel
Luke Kenneth Casson Leighton [Mon, 13 May 2019 21:07:54 +0000 (22:07 +0100)]
sync on req_rel

5 years agoreturn to latch on src for oper
Luke Kenneth Casson Leighton [Mon, 13 May 2019 21:07:38 +0000 (22:07 +0100)]
return to latch on src for oper

5 years agorename intermediate signals to wr_wait/rd_wait
Luke Kenneth Casson Leighton [Mon, 13 May 2019 19:03:23 +0000 (20:03 +0100)]
rename intermediate signals to wr_wait/rd_wait

5 years agosplit out readable/writable setup
Luke Kenneth Casson Leighton [Mon, 13 May 2019 19:01:29 +0000 (20:01 +0100)]
split out readable/writable setup

5 years agogo_rd/go_wr not arrays any more
Luke Kenneth Casson Leighton [Mon, 13 May 2019 14:32:18 +0000 (15:32 +0100)]
go_rd/go_wr not arrays any more

5 years agouse operand latch, seems to work (6600 not cscore)
Luke Kenneth Casson Leighton [Mon, 13 May 2019 13:38:15 +0000 (14:38 +0100)]
use operand latch, seems to work (6600 not cscore)

5 years agoadd fn-unit src/dest latch registers
Luke Kenneth Casson Leighton [Mon, 13 May 2019 13:20:41 +0000 (14:20 +0100)]
add fn-unit src/dest latch registers

5 years agomake read/write-pending syncd
Luke Kenneth Casson Leighton [Mon, 13 May 2019 07:38:58 +0000 (08:38 +0100)]
make read/write-pending syncd

5 years agouse signals instead of arrays
Luke Kenneth Casson Leighton [Mon, 13 May 2019 07:30:01 +0000 (08:30 +0100)]
use signals instead of arrays

5 years agomake insn_i a signal of length n_insns instead of Array
Luke Kenneth Casson Leighton [Mon, 13 May 2019 06:30:10 +0000 (07:30 +0100)]
make insn_i a signal of length n_insns instead of Array

5 years agoscoreboard 6600 semi-working (sync/comb issue)
Luke Kenneth Casson Leighton [Sun, 12 May 2019 17:14:26 +0000 (18:14 +0100)]
scoreboard 6600 semi-working (sync/comb issue)

5 years agoremove unneeded imports
Luke Kenneth Casson Leighton [Sun, 12 May 2019 16:45:15 +0000 (17:45 +0100)]
remove unneeded imports

5 years agoexperimenting / debugging score6600
Luke Kenneth Casson Leighton [Sun, 12 May 2019 16:37:25 +0000 (17:37 +0100)]
experimenting / debugging score6600

5 years agosplit function units (and read/write pending vectors) to separate module
Luke Kenneth Casson Leighton [Sun, 12 May 2019 16:02:53 +0000 (17:02 +0100)]
split function units (and read/write pending vectors) to separate module

5 years agosplit computation units to separate class
Luke Kenneth Casson Leighton [Sun, 12 May 2019 14:55:18 +0000 (15:55 +0100)]
split computation units to separate class

5 years agoadd debug prints
Luke Kenneth Casson Leighton [Sun, 12 May 2019 14:23:01 +0000 (15:23 +0100)]
add debug prints

5 years agodebugging score6600 matrix
Luke Kenneth Casson Leighton [Sat, 11 May 2019 16:17:17 +0000 (17:17 +0100)]
debugging score6600 matrix

5 years agodebug score6600
Luke Kenneth Casson Leighton [Sat, 11 May 2019 11:50:41 +0000 (12:50 +0100)]
debug score6600

5 years agodependence cell, src2 is combinatorial (latch is already synchronous)
Luke Kenneth Casson Leighton [Sat, 11 May 2019 10:47:36 +0000 (11:47 +0100)]
dependence cell, src2 is combinatorial (latch is already synchronous)

5 years agotry removing some syncs
Luke Kenneth Casson Leighton [Sat, 11 May 2019 10:45:51 +0000 (11:45 +0100)]
try removing some syncs

5 years agoadd in function units to score6600
Luke Kenneth Casson Leighton [Sat, 11 May 2019 10:43:49 +0000 (11:43 +0100)]
add in function units to score6600

5 years agolink function units back in to score6600
Luke Kenneth Casson Leighton [Sat, 11 May 2019 09:51:56 +0000 (10:51 +0100)]
link function units back in to score6600

5 years agouse register latching in Computation Unit
Luke Kenneth Casson Leighton [Sat, 11 May 2019 07:18:42 +0000 (08:18 +0100)]
use register latching in Computation Unit

5 years agowhoops, readable/writable is inverted in fu picker vector
Luke Kenneth Casson Leighton [Sat, 11 May 2019 07:18:26 +0000 (08:18 +0100)]
whoops, readable/writable is inverted in fu picker vector

5 years agodependency cells enable on q not qn
Luke Kenneth Casson Leighton [Fri, 10 May 2019 12:19:04 +0000 (13:19 +0100)]
dependency cells enable on q not qn

5 years agostart connecting fu and reg dep matrices
Luke Kenneth Casson Leighton [Fri, 10 May 2019 11:47:51 +0000 (12:47 +0100)]
start connecting fu and reg dep matrices

5 years agoadd variant using original (ish) 6600 scoreboard
Luke Kenneth Casson Leighton [Fri, 10 May 2019 10:43:07 +0000 (11:43 +0100)]
add variant using original (ish) 6600 scoreboard

5 years agosplit out register decode from issue unit
Luke Kenneth Casson Leighton [Fri, 10 May 2019 05:43:01 +0000 (06:43 +0100)]
split out register decode from issue unit

5 years agoderive from Elaboratable
Luke Kenneth Casson Leighton [Fri, 10 May 2019 05:12:34 +0000 (06:12 +0100)]
derive from Elaboratable