soc.git
5 years agouse new ready/valid to ALU in CompLDST
Luke Kenneth Casson Leighton [Sat, 15 Jun 2019 04:58:13 +0000 (05:58 +0100)]
use new ready/valid to ALU in CompLDST

5 years agostart connecting memory function unit
Luke Kenneth Casson Leighton [Mon, 10 Jun 2019 12:07:05 +0000 (13:07 +0100)]
start connecting memory function unit

5 years agoonly set adr_rel_o on LD or ADD/SUB, must wait for go_ad_i
Luke Kenneth Casson Leighton [Mon, 10 Jun 2019 11:52:57 +0000 (12:52 +0100)]
only set adr_rel_o on LD or ADD/SUB, must wait for go_ad_i

5 years agostarting to run into things being broken in LD/ST Comp (yay)
Luke Kenneth Casson Leighton [Mon, 10 Jun 2019 10:34:14 +0000 (11:34 +0100)]
starting to run into things being broken in LD/ST Comp (yay)

5 years agoproperly set the number of integer ALUs (2 at the moment)
Luke Kenneth Casson Leighton [Mon, 10 Jun 2019 10:16:19 +0000 (11:16 +0100)]
properly set the number of integer ALUs (2 at the moment)

5 years agoset number of ALUs to 2
Luke Kenneth Casson Leighton [Mon, 10 Jun 2019 10:12:09 +0000 (11:12 +0100)]
set number of ALUs to 2

5 years agotest LD/ST issue
Luke Kenneth Casson Leighton [Mon, 10 Jun 2019 09:18:00 +0000 (10:18 +0100)]
test LD/ST issue

5 years agoadd in ld/st operand pseudo-opcode
Luke Kenneth Casson Leighton [Mon, 10 Jun 2019 08:03:38 +0000 (09:03 +0100)]
add in ld/st operand pseudo-opcode

5 years agoadd in a TestMemory class
Luke Kenneth Casson Leighton [Mon, 10 Jun 2019 07:41:36 +0000 (08:41 +0100)]
add in a TestMemory class

5 years agoadded in the LD/ST Comp Unit (not connected up yet) and the code didnt fall over
Luke Kenneth Casson Leighton [Mon, 10 Jun 2019 05:03:25 +0000 (06:03 +0100)]
added in the LD/ST Comp Unit (not connected up yet) and the code didnt fall over
amazing that the unit test still runs, first time.

particularly that the number of INT ALUs was reduced from 4 to 2

5 years agomove MemFunctionUnits to separate module
Luke Kenneth Casson Leighton [Mon, 10 Jun 2019 04:30:41 +0000 (05:30 +0100)]
move MemFunctionUnits to separate module

5 years agomove FUMemMatchMatrix to mdm module
Luke Kenneth Casson Leighton [Mon, 10 Jun 2019 04:24:55 +0000 (05:24 +0100)]
move FUMemMatchMatrix to mdm module

5 years agolink address matching inputs to outside MemMatrix, preliminary test works
Luke Kenneth Casson Leighton [Sun, 9 Jun 2019 11:25:51 +0000 (12:25 +0100)]
link address matching inputs to outside MemMatrix, preliminary test works

5 years agobring in cancel array into FURegDepMatrix
Luke Kenneth Casson Leighton [Sun, 9 Jun 2019 10:53:41 +0000 (11:53 +0100)]
bring in cancel array into FURegDepMatrix

use in class which merges Partial Addr Match with FURegDepMatrix to
create a MDM (Memory Dependency Matrix)

5 years agomake partialaddrmatch a matrix
Luke Kenneth Casson Leighton [Sun, 9 Jun 2019 08:48:43 +0000 (09:48 +0100)]
make partialaddrmatch a matrix

5 years agorename variables
Luke Kenneth Casson Leighton [Sat, 8 Jun 2019 23:41:24 +0000 (00:41 +0100)]
rename variables

5 years agoadd 2nd test for mem dependency, use FU-Regs and FU-FU matrices
Luke Kenneth Casson Leighton [Sat, 8 Jun 2019 13:50:59 +0000 (14:50 +0100)]
add 2nd test for mem dependency, use FU-Regs and FU-FU matrices

5 years agoconvert Reg_Rsv and rest of FU_Reg Matrix to variable n_src
Luke Kenneth Casson Leighton [Sat, 8 Jun 2019 13:39:09 +0000 (14:39 +0100)]
convert Reg_Rsv and rest of FU_Reg Matrix to variable n_src

5 years agouse loop around src nums in FU Reg Matrix
Luke Kenneth Casson Leighton [Sat, 8 Jun 2019 13:33:39 +0000 (14:33 +0100)]
use loop around src nums in FU Reg Matrix

5 years agoconvert FU_RW_Pend accumulator to src-vector
Luke Kenneth Casson Leighton [Sat, 8 Jun 2019 13:30:25 +0000 (14:30 +0100)]
convert FU_RW_Pend accumulator to src-vector

5 years agoremove unneeded signals
Luke Kenneth Casson Leighton [Sat, 8 Jun 2019 13:18:09 +0000 (14:18 +0100)]
remove unneeded signals

5 years agostart propagating arrays of src regs up through dependency matrix
Luke Kenneth Casson Leighton [Sat, 8 Jun 2019 12:12:25 +0000 (13:12 +0100)]
start propagating arrays of src regs up through dependency matrix

5 years agowhitespace
Luke Kenneth Casson Leighton [Sat, 8 Jun 2019 12:00:26 +0000 (13:00 +0100)]
whitespace

5 years agowhoops use reduce(or_) not bool to merge bitwise src in dep cells
Luke Kenneth Casson Leighton [Sat, 8 Jun 2019 11:59:54 +0000 (12:59 +0100)]
whoops use reduce(or_) not bool to merge bitwise src in dep cells

5 years agouse new array-based dep cell in dep matrix
Luke Kenneth Casson Leighton [Sat, 8 Jun 2019 11:51:23 +0000 (12:51 +0100)]
use new array-based dep cell in dep matrix

5 years agodependence cell to use arrays
Luke Kenneth Casson Leighton [Sat, 8 Jun 2019 11:44:59 +0000 (12:44 +0100)]
dependence cell to use arrays

5 years agoreordering connections on mem-dep matrices
Luke Kenneth Casson Leighton [Sat, 8 Jun 2019 11:33:17 +0000 (12:33 +0100)]
reordering connections on mem-dep matrices

5 years agoexperiment connecting ld/st matrix to fu/mem one
Luke Kenneth Casson Leighton [Sat, 8 Jun 2019 08:05:20 +0000 (09:05 +0100)]
experiment connecting ld/st matrix to fu/mem one

5 years agoadd fu-mem versions of fu-fu matrix and picker vec
Luke Kenneth Casson Leighton [Sat, 8 Jun 2019 06:46:29 +0000 (07:46 +0100)]
add fu-mem versions of fu-fu matrix and picker vec

5 years agorename rsel vectors in mem dep cell
Luke Kenneth Casson Leighton [Sat, 8 Jun 2019 06:38:17 +0000 (07:38 +0100)]
rename rsel vectors in mem dep cell

5 years agoadd fu-mem dependency cell based on fu_dep_cell.py
Luke Kenneth Casson Leighton [Sat, 8 Jun 2019 06:37:57 +0000 (07:37 +0100)]
add fu-mem dependency cell based on fu_dep_cell.py

5 years agorename v_rd_rsel_o in dependence cell as well
Luke Kenneth Casson Leighton [Fri, 7 Jun 2019 22:20:12 +0000 (23:20 +0100)]
rename v_rd_rsel_o in dependence cell as well

5 years agorename fu-regs rd/wr sel vector
Luke Kenneth Casson Leighton [Fri, 7 Jun 2019 22:17:52 +0000 (23:17 +0100)]
rename fu-regs rd/wr sel vector

5 years agoextend ld/st mem test
Luke Kenneth Casson Leighton [Fri, 7 Jun 2019 22:17:34 +0000 (23:17 +0100)]
extend ld/st mem test

5 years agostart preliminary test of load/store dependency matrices
Luke Kenneth Casson Leighton [Fri, 7 Jun 2019 09:32:00 +0000 (10:32 +0100)]
start preliminary test of load/store dependency matrices

5 years agocontinue miss_handler.py conversion
Luke Kenneth Casson Leighton [Fri, 7 Jun 2019 09:31:05 +0000 (10:31 +0100)]
continue miss_handler.py conversion

5 years agoadd first conversion of ariane miss handler, WIP
Luke Kenneth Casson Leighton [Thu, 6 Jun 2019 19:25:16 +0000 (20:25 +0100)]
add first conversion of ariane miss handler, WIP

5 years agorename load_i and stor_i to ld_pend_i / st_pend_i, match names in MemFUDepMatrix
Luke Kenneth Casson Leighton [Wed, 5 Jun 2019 07:58:26 +0000 (08:58 +0100)]
rename load_i and stor_i to ld_pend_i / st_pend_i, match names in MemFUDepMatrix

5 years agoadd mirror copy of FU_Regs Dep Matrix, names changed, adapted to LD/ST
Luke Kenneth Casson Leighton [Wed, 5 Jun 2019 05:43:14 +0000 (06:43 +0100)]
add mirror copy of FU_Regs Dep Matrix, names changed, adapted to LD/ST

wr -> ld
dest -> ld
rd -> st
src1 -> st

global search and replace.

5 years agoadd addrgen comment
Luke Kenneth Casson Leighton [Wed, 5 Jun 2019 05:22:55 +0000 (06:22 +0100)]
add addrgen comment

5 years agoadd docstring for address match comparator
Luke Kenneth Casson Leighton [Mon, 3 Jun 2019 14:03:30 +0000 (15:03 +0100)]
add docstring for address match comparator

5 years agoadd to docstring
Luke Kenneth Casson Leighton [Mon, 3 Jun 2019 09:36:27 +0000 (10:36 +0100)]
add to docstring

5 years agoconnect up LD/ST matrix properly
Luke Kenneth Casson Leighton [Mon, 3 Jun 2019 08:13:14 +0000 (09:13 +0100)]
connect up LD/ST matrix properly

5 years agoadd ldst_matrix.py back in, needs some work though
Luke Kenneth Casson Leighton [Mon, 3 Jun 2019 07:41:34 +0000 (08:41 +0100)]
add ldst_matrix.py back in, needs some work though

5 years agowhoops connect vector by y not x in FUFU matrix
Luke Kenneth Casson Leighton [Mon, 3 Jun 2019 04:53:42 +0000 (05:53 +0100)]
whoops connect vector by y not x in FUFU matrix

5 years agoallow branch immediate
Luke Kenneth Casson Leighton [Mon, 3 Jun 2019 00:38:38 +0000 (01:38 +0100)]
allow branch immediate

5 years agoreasonably sure that the pipelined ALU will work...
Luke Kenneth Casson Leighton [Mon, 3 Jun 2019 00:32:58 +0000 (01:32 +0100)]
reasonably sure that the pipelined ALU will work...

5 years agotry random instructions test with immediates, works ok
Luke Kenneth Casson Leighton [Sun, 2 Jun 2019 14:07:56 +0000 (15:07 +0100)]
try random instructions test with immediates, works ok

5 years agoadd immediate to ALU instructions
Luke Kenneth Casson Leighton [Sun, 2 Jun 2019 14:03:55 +0000 (15:03 +0100)]
add immediate to ALU instructions

5 years agoadd immediate arg to instr
Luke Kenneth Casson Leighton [Sun, 2 Jun 2019 13:47:24 +0000 (14:47 +0100)]
add immediate arg to instr

5 years agoremove unneeded code
Luke Kenneth Casson Leighton [Sun, 2 Jun 2019 13:29:25 +0000 (14:29 +0100)]
remove unneeded code

5 years agoadd operand-is-immediate to sim and instructions
Luke Kenneth Casson Leighton [Sun, 2 Jun 2019 13:28:24 +0000 (14:28 +0100)]
add operand-is-immediate to sim and instructions

5 years agoadd op is immediate to instruction q
Luke Kenneth Casson Leighton [Sun, 2 Jun 2019 13:24:10 +0000 (14:24 +0100)]
add op is immediate to instruction q

5 years agostart adding in immediates into CompUnit ALU
Luke Kenneth Casson Leighton [Sun, 2 Jun 2019 13:04:08 +0000 (14:04 +0100)]
start adding in immediates into CompUnit ALU

5 years agoremove unneeded code
Luke Kenneth Casson Leighton [Sun, 2 Jun 2019 12:43:31 +0000 (13:43 +0100)]
remove unneeded code

5 years agowhoops forgot to make CU decisions based on latched opcode
Luke Kenneth Casson Leighton [Sun, 2 Jun 2019 12:43:11 +0000 (13:43 +0100)]
whoops forgot to make CU decisions based on latched opcode

5 years agowhoops search/replace error
Luke Kenneth Casson Leighton [Sun, 2 Jun 2019 12:37:08 +0000 (13:37 +0100)]
whoops search/replace error

5 years agoadd MemSim, remove redundant signal
Luke Kenneth Casson Leighton [Sun, 2 Jun 2019 12:24:46 +0000 (13:24 +0100)]
add MemSim, remove redundant signal

5 years agoLDSTDepCell can act as a matrix
Luke Kenneth Casson Leighton [Sun, 2 Jun 2019 00:47:01 +0000 (01:47 +0100)]
LDSTDepCell can act as a matrix

5 years agoshorten by adding temp comb = m.d.comb
Luke Kenneth Casson Leighton [Sat, 1 Jun 2019 14:29:43 +0000 (15:29 +0100)]
shorten by adding temp comb = m.d.comb

5 years agoaddr release only on op_ldst
Luke Kenneth Casson Leighton [Sat, 1 Jun 2019 14:28:12 +0000 (15:28 +0100)]
addr release only on op_ldst

5 years agodebug comp_ldst
Luke Kenneth Casson Leighton [Sat, 1 Jun 2019 14:18:50 +0000 (15:18 +0100)]
debug comp_ldst

5 years agomake use of busy_o clearer
Luke Kenneth Casson Leighton [Sat, 1 Jun 2019 13:14:29 +0000 (14:14 +0100)]
make use of busy_o clearer

5 years agoadd LDST Computation Unit (in progress)
Luke Kenneth Casson Leighton [Sat, 1 Jun 2019 13:09:53 +0000 (14:09 +0100)]
add LDST Computation Unit (in progress)

5 years agomulti-bit LD?ST and add go_die
Luke Kenneth Casson Leighton [Sat, 1 Jun 2019 13:08:53 +0000 (14:08 +0100)]
multi-bit LD?ST and add go_die

5 years agoissue from q is combinatorial so do not need set to zer0
Luke Kenneth Casson Leighton [Fri, 31 May 2019 21:05:25 +0000 (22:05 +0100)]
issue from q is combinatorial so do not need set to zer0

5 years agouse instruction issue queue to get instructions into engine
Luke Kenneth Casson Leighton [Fri, 31 May 2019 20:37:52 +0000 (21:37 +0100)]
use instruction issue queue to get instructions into engine

5 years agogot instruction queue working
Luke Kenneth Casson Leighton [Fri, 31 May 2019 07:10:07 +0000 (08:10 +0100)]
got instruction queue working

5 years agoleave off number being subtracted from "ready_o" calculation
Luke Kenneth Casson Leighton [Thu, 30 May 2019 21:31:53 +0000 (22:31 +0100)]
leave off number being subtracted from "ready_o" calculation

5 years agoadd instruction queue test
Luke Kenneth Casson Leighton [Thu, 30 May 2019 21:19:40 +0000 (22:19 +0100)]
add instruction queue test

5 years agodo instruction q as array of (flat) Signals, add in and out data
Luke Kenneth Casson Leighton [Thu, 30 May 2019 03:08:35 +0000 (04:08 +0100)]
do instruction q as array of (flat) Signals, add in and out data

5 years agoflatten instruction queue using a shift register
Luke Kenneth Casson Leighton [Thu, 30 May 2019 01:01:17 +0000 (02:01 +0100)]
flatten instruction queue using a shift register

5 years agoremove unneeded imports
Luke Kenneth Casson Leighton [Wed, 29 May 2019 23:41:04 +0000 (00:41 +0100)]
remove unneeded imports

5 years agoremove Shadow class, replace with ShadowFn, use multi-bit SRLatch
Luke Kenneth Casson Leighton [Wed, 29 May 2019 23:39:51 +0000 (00:39 +0100)]
remove Shadow class, replace with ShadowFn, use multi-bit SRLatch

5 years agoreturn to SRLatches for DependencyRow, simplifies (speeds up)
Luke Kenneth Casson Leighton [Wed, 29 May 2019 23:23:36 +0000 (00:23 +0100)]
return to SRLatches for DependencyRow, simplifies (speeds up)

5 years agoremove FU Dep Cell, go back to SRLatch direct
Luke Kenneth Casson Leighton [Wed, 29 May 2019 22:57:19 +0000 (23:57 +0100)]
remove FU Dep Cell, go back to SRLatch direct

5 years agowire up FU-FU matrix using inverted row/col
Luke Kenneth Casson Leighton [Wed, 29 May 2019 21:35:34 +0000 (22:35 +0100)]
wire up FU-FU matrix using inverted row/col

5 years agomake FU-FU DepCell a row
Luke Kenneth Casson Leighton [Wed, 29 May 2019 21:28:09 +0000 (22:28 +0100)]
make FU-FU DepCell a row

5 years agodo dependency row as multi-bit SRLatch
Luke Kenneth Casson Leighton [Wed, 29 May 2019 20:46:40 +0000 (21:46 +0100)]
do dependency row as multi-bit SRLatch

5 years agoadd start of instruction queue
Luke Kenneth Casson Leighton [Wed, 29 May 2019 15:11:32 +0000 (16:11 +0100)]
add start of instruction queue

5 years agowait for individual batch-units rather than the global signal
Luke Kenneth Casson Leighton [Wed, 29 May 2019 12:02:51 +0000 (13:02 +0100)]
wait for individual batch-units rather than the global signal

5 years agowhoops wrong mask for branch instruction decode
Luke Kenneth Casson Leighton [Wed, 29 May 2019 10:13:35 +0000 (11:13 +0100)]
whoops wrong mask for branch instruction decode

5 years agoget issue logic working for issue unit array
Luke Kenneth Casson Leighton [Wed, 29 May 2019 10:10:22 +0000 (11:10 +0100)]
get issue logic working for issue unit array

5 years agolatch opcode on instruction issue
Luke Kenneth Casson Leighton [Wed, 29 May 2019 09:41:25 +0000 (10:41 +0100)]
latch opcode on instruction issue

5 years agouse opcode-base issue units, parallel units
Luke Kenneth Casson Leighton [Wed, 29 May 2019 03:21:04 +0000 (04:21 +0100)]
use opcode-base issue units, parallel units

5 years agoadd docstring
Luke Kenneth Casson Leighton [Wed, 29 May 2019 00:24:01 +0000 (01:24 +0100)]
add docstring

5 years agogroup computation units together
Luke Kenneth Casson Leighton [Wed, 29 May 2019 00:10:49 +0000 (01:10 +0100)]
group computation units together

5 years agoremove waw stall from issue unit
Luke Kenneth Casson Leighton [Mon, 27 May 2019 12:02:23 +0000 (13:02 +0100)]
remove waw stall from issue unit

5 years agoadd an IssueUnitGroup which has a priority picker
Luke Kenneth Casson Leighton [Mon, 27 May 2019 10:58:09 +0000 (11:58 +0100)]
add an IssueUnitGroup which has a priority picker

5 years agostop on shadow for the moment
Luke Kenneth Casson Leighton [Mon, 27 May 2019 09:51:17 +0000 (10:51 +0100)]
stop on shadow for the moment

5 years agohave to bring in a reset signal into the shadow units to get them to go to
Luke Kenneth Casson Leighton [Sun, 26 May 2019 01:03:07 +0000 (02:03 +0100)]
have to bring in a reset signal into the shadow units to get them to go to
a known state, after a branch result is known

5 years agoseparate out go_die from go_rd/go_wr to stop reg read/write triggering
Luke Kenneth Casson Leighton [Sat, 25 May 2019 22:48:40 +0000 (23:48 +0100)]
separate out go_die from go_rd/go_wr to stop reg read/write triggering

5 years agoget fake branch delay time working
Luke Kenneth Casson Leighton [Sat, 25 May 2019 22:21:14 +0000 (23:21 +0100)]
get fake branch delay time working

5 years agowhoops, operation supposed to be tested, not counter
Luke Kenneth Casson Leighton [Sat, 25 May 2019 22:16:49 +0000 (23:16 +0100)]
whoops, operation supposed to be tested, not counter

5 years agobranch success/fail nearly there
Luke Kenneth Casson Leighton [Sat, 25 May 2019 17:21:20 +0000 (18:21 +0100)]
branch success/fail nearly there

5 years agoexperimenting with branch shadowing
Luke Kenneth Casson Leighton [Sat, 25 May 2019 12:34:11 +0000 (13:34 +0100)]
experimenting with branch shadowing

5 years agoadd branch speculation using shadows
Luke Kenneth Casson Leighton [Sat, 25 May 2019 07:55:47 +0000 (08:55 +0100)]
add branch speculation using shadows

5 years agouse internal latch qlq value instead of creating a separate sync register
Luke Kenneth Casson Leighton [Fri, 24 May 2019 16:54:43 +0000 (17:54 +0100)]
use internal latch qlq value instead of creating a separate sync register

5 years agoremove dummy values for branch setup
Luke Kenneth Casson Leighton [Fri, 24 May 2019 16:38:58 +0000 (17:38 +0100)]
remove dummy values for branch setup

5 years agoreplace m.d.comb += with comb += etc. increases readability
Luke Kenneth Casson Leighton [Fri, 24 May 2019 16:37:32 +0000 (17:37 +0100)]
replace m.d.comb += with comb += etc. increases readability