soc.git
3 years agomissing maybe_tlb_plrus
Luke Kenneth Casson Leighton [Fri, 11 Sep 2020 15:22:07 +0000 (16:22 +0100)]
missing maybe_tlb_plrus

3 years agoWAY_BITS not TLB_WAY_BITS
Luke Kenneth Casson Leighton [Fri, 11 Sep 2020 14:23:57 +0000 (15:23 +0100)]
WAY_BITS not TLB_WAY_BITS

3 years agowhoops new node not to be calculated at end
Luke Kenneth Casson Leighton [Fri, 11 Sep 2020 14:21:05 +0000 (15:21 +0100)]
whoops new node not to be calculated at end

3 years agotry to get better DTLBUpdate
Luke Kenneth Casson Leighton [Fri, 11 Sep 2020 14:14:21 +0000 (15:14 +0100)]
try to get better DTLBUpdate

3 years agosimplify dcache pending
Luke Kenneth Casson Leighton [Fri, 11 Sep 2020 13:36:13 +0000 (14:36 +0100)]
simplify dcache pending

3 years agomove dcache pending test to separate module
Luke Kenneth Casson Leighton [Fri, 11 Sep 2020 13:28:47 +0000 (14:28 +0100)]
move dcache pending test to separate module

3 years agomore error correction in dcache
Luke Kenneth Casson Leighton [Fri, 11 Sep 2020 12:55:51 +0000 (13:55 +0100)]
more error correction in dcache

3 years agouse module for TLBUpdate
Luke Kenneth Casson Leighton [Fri, 11 Sep 2020 11:36:47 +0000 (12:36 +0100)]
use module for TLBUpdate

3 years agoadd brackets round if & in dcache
Luke Kenneth Casson Leighton [Fri, 11 Sep 2020 10:26:23 +0000 (11:26 +0100)]
add brackets round if & in dcache

3 years agoicache.py add test_icache and icache_sim derived from icache_tb.vhdl
Cole Poirier [Fri, 11 Sep 2020 00:46:49 +0000 (17:46 -0700)]
icache.py add test_icache and icache_sim derived from icache_tb.vhdl

3 years agoMerge branch 'master' of git.libre-soc.org:soc
Cole Poirier [Fri, 11 Sep 2020 00:15:50 +0000 (17:15 -0700)]
Merge branch 'master' of git.libre-soc.org:soc

3 years agoicache.py fix spelling, syntax
Cole Poirier [Fri, 11 Sep 2020 00:15:20 +0000 (17:15 -0700)]
icache.py fix spelling, syntax

3 years agosimplify read/write pte
Luke Kenneth Casson Leighton [Thu, 10 Sep 2020 23:48:51 +0000 (00:48 +0100)]
simplify read/write pte

3 years agoeek, big sort-out of syntax errors in dcache.py, now generates .il
Luke Kenneth Casson Leighton [Thu, 10 Sep 2020 23:38:22 +0000 (00:38 +0100)]
eek, big sort-out of syntax errors in dcache.py, now generates .il

3 years agoicache.py rearrange the code within the base class ICache
Cole Poirier [Thu, 10 Sep 2020 23:30:23 +0000 (16:30 -0700)]
icache.py rearrange the code within the base class ICache

3 years agostarting on dcache syntax errors
Luke Kenneth Casson Leighton [Thu, 10 Sep 2020 22:49:19 +0000 (23:49 +0100)]
starting on dcache syntax errors

3 years agoadd PLRU microwatt conversion
Luke Kenneth Casson Leighton [Thu, 10 Sep 2020 22:21:47 +0000 (23:21 +0100)]
add PLRU microwatt conversion

3 years agoadd function calls to construct dcache
Luke Kenneth Casson Leighton [Thu, 10 Sep 2020 16:34:38 +0000 (17:34 +0100)]
add function calls to construct dcache

3 years agocorrect some errors introduced in dcache.py
Luke Kenneth Casson Leighton [Thu, 10 Sep 2020 16:13:13 +0000 (17:13 +0100)]
correct some errors introduced in dcache.py

3 years agoadd docstring for PowerOp class
Luke Kenneth Casson Leighton [Thu, 10 Sep 2020 15:50:43 +0000 (16:50 +0100)]
add docstring for PowerOp class

3 years agomore laborious line-by-line checking of dcache.py conversion
Luke Kenneth Casson Leighton [Wed, 9 Sep 2020 19:40:27 +0000 (20:40 +0100)]
more laborious line-by-line checking of dcache.py conversion
a subtype integer range 0 to NNN needs a Signal to be declared of
*log2_int(NNN)* not Signal(NNN)

3 years agoicache.py complete first translation pass of icache.vhdl
Cole Poirier [Wed, 9 Sep 2020 15:05:59 +0000 (08:05 -0700)]
icache.py complete first translation pass of icache.vhdl

3 years agoadd PowerDecoder explanation
Luke Kenneth Casson Leighton [Tue, 8 Sep 2020 20:10:27 +0000 (21:10 +0100)]
add PowerDecoder explanation

3 years agobit of a mess, trying to get PowerDecode to not create empty subdecoders
Luke Kenneth Casson Leighton [Tue, 8 Sep 2020 18:12:26 +0000 (19:12 +0100)]
bit of a mess, trying to get PowerDecode to not create empty subdecoders

3 years agosubset columns for PowerDecoder - bit of a mess (done by hand)
Luke Kenneth Casson Leighton [Tue, 8 Sep 2020 15:02:03 +0000 (16:02 +0100)]
subset columns for PowerDecoder - bit of a mess (done by hand)

3 years agocreate a special subset of Decoder Record for storing "main" decoder info
Luke Kenneth Casson Leighton [Tue, 8 Sep 2020 13:46:14 +0000 (14:46 +0100)]
create a special subset of Decoder Record for storing "main" decoder info
this has to store Trap info however everything else is optional

3 years agopass in state into PowerDecode2, save on eqs and wires
Luke Kenneth Casson Leighton [Tue, 8 Sep 2020 13:09:35 +0000 (14:09 +0100)]
pass in state into PowerDecode2, save on eqs and wires

3 years agogive Decode2Execute1Type in core a name
Luke Kenneth Casson Leighton [Tue, 8 Sep 2020 13:09:06 +0000 (14:09 +0100)]
give Decode2Execute1Type in core a name

3 years agoargh, somehow EINT check got moved out of if/elif block
Luke Kenneth Casson Leighton [Tue, 8 Sep 2020 13:05:13 +0000 (14:05 +0100)]
argh, somehow EINT check got moved out of if/elif block

3 years agocapture trap / irq conditions in flags for debug purposes
Luke Kenneth Casson Leighton [Tue, 8 Sep 2020 12:37:27 +0000 (13:37 +0100)]
capture trap / irq conditions in flags for debug purposes

3 years agopass in CoreState to PowerDecoder rather than eq a copy of it
Luke Kenneth Casson Leighton [Tue, 8 Sep 2020 12:16:21 +0000 (13:16 +0100)]
pass in CoreState to PowerDecoder rather than eq a copy of it

3 years agowhoops trap address being set in wrong Decode2ExecuteType object
Luke Kenneth Casson Leighton [Tue, 8 Sep 2020 09:52:37 +0000 (10:52 +0100)]
whoops trap address being set in wrong Decode2ExecuteType object

3 years agoadd cxxsim option
Luke Kenneth Casson Leighton [Tue, 8 Sep 2020 08:06:11 +0000 (09:06 +0100)]
add cxxsim option

3 years agouse PowerDecoderSubsets for FUs, except for TRAP which uses the main one
Luke Kenneth Casson Leighton [Mon, 7 Sep 2020 21:31:34 +0000 (22:31 +0100)]
use PowerDecoderSubsets for FUs, except for TRAP which uses the main one
this because the TRAP gets rewritten

3 years agoadd per-FU PowerDecoders. should now be subsettable
Luke Kenneth Casson Leighton [Mon, 7 Sep 2020 21:14:36 +0000 (22:14 +0100)]
add per-FU PowerDecoders.  should now be subsettable

3 years agocreate eq_from function based on eq_from_execute1
Luke Kenneth Casson Leighton [Mon, 7 Sep 2020 21:01:01 +0000 (22:01 +0100)]
create eq_from function based on eq_from_execute1

3 years agodebug print statement in eq_from_execute
Luke Kenneth Casson Leighton [Mon, 7 Sep 2020 18:24:53 +0000 (19:24 +0100)]
debug print statement in eq_from_execute

3 years agooe_ok renamed to oe, needed in regspec_decode_read
Luke Kenneth Casson Leighton [Mon, 7 Sep 2020 18:24:34 +0000 (19:24 +0100)]
oe_ok renamed to oe, needed in regspec_decode_read

3 years agoadd insn and fn_unit to CompLDSTOpSubset
Luke Kenneth Casson Leighton [Mon, 7 Sep 2020 18:24:08 +0000 (19:24 +0100)]
add insn and fn_unit to CompLDSTOpSubset

3 years agoadd pspec and opsubsetkls to CompUnits
Luke Kenneth Casson Leighton [Mon, 7 Sep 2020 18:23:50 +0000 (19:23 +0100)]
add pspec and opsubsetkls to CompUnits

3 years agoicache.py commit translation progress, about one third left
Cole Poirier [Mon, 7 Sep 2020 19:38:56 +0000 (12:38 -0700)]
icache.py commit translation progress, about one third left

3 years agomake immediate decoding optional on-demand
Luke Kenneth Casson Leighton [Mon, 7 Sep 2020 17:14:25 +0000 (18:14 +0100)]
make immediate decoding optional on-demand

3 years agowhoops spelling mistake outOut_carry not outPut_carry
Luke Kenneth Casson Leighton [Mon, 7 Sep 2020 17:13:33 +0000 (18:13 +0100)]
whoops spelling mistake outOut_carry not outPut_carry

3 years agoconvert mul test to use Power Decode subset
Luke Kenneth Casson Leighton [Mon, 7 Sep 2020 16:22:52 +0000 (17:22 +0100)]
convert mul test to use Power Decode subset

3 years agoconvert shift_rot to subset decoder
Luke Kenneth Casson Leighton [Mon, 7 Sep 2020 16:18:25 +0000 (17:18 +0100)]
convert shift_rot to subset decoder

3 years agoconvert branch test to PowerDecodeSubset form
Luke Kenneth Casson Leighton [Mon, 7 Sep 2020 16:16:27 +0000 (17:16 +0100)]
convert branch test to PowerDecodeSubset form

3 years agoconvert CR to PowerDecodeSubset format
Luke Kenneth Casson Leighton [Mon, 7 Sep 2020 16:13:09 +0000 (17:13 +0100)]
convert CR to PowerDecodeSubset format

3 years agobit of a big reorg of data structures
Luke Kenneth Casson Leighton [Mon, 7 Sep 2020 15:59:40 +0000 (16:59 +0100)]
bit of a big reorg of data structures

ALU test_pipe_caller.py is now testing with a subset PowerDecoder2
and the field names need to change to match up.

3 years agosplit out PowerDecode2 into PowerDecodeSubset
Luke Kenneth Casson Leighton [Mon, 7 Sep 2020 15:14:11 +0000 (16:14 +0100)]
split out PowerDecode2 into PowerDecodeSubset

3 years agolarge stack of moving stuff around in dcache
Luke Kenneth Casson Leighton [Mon, 7 Sep 2020 13:40:25 +0000 (14:40 +0100)]
large stack of moving stuff around in dcache

3 years agoadjust indentation of dcache_slow
Luke Kenneth Casson Leighton [Mon, 7 Sep 2020 13:11:32 +0000 (14:11 +0100)]
adjust indentation of dcache_slow

3 years agomore dcache translation
Luke Kenneth Casson Leighton [Mon, 7 Sep 2020 13:01:22 +0000 (14:01 +0100)]
more dcache translation

3 years agoadd start on cache_ram.vhdl to nmigen conversion
Luke Kenneth Casson Leighton [Mon, 7 Sep 2020 12:24:42 +0000 (13:24 +0100)]
add start on cache_ram.vhdl to nmigen conversion

3 years agomore dcache translation
Luke Kenneth Casson Leighton [Mon, 7 Sep 2020 12:22:45 +0000 (13:22 +0100)]
more dcache translation

3 years agoallow Decode2ToExecute1Type to take an opkls argument
Luke Kenneth Casson Leighton [Mon, 7 Sep 2020 11:00:36 +0000 (12:00 +0100)]
allow Decode2ToExecute1Type to take an opkls argument

3 years agowhoops truncated the mb and me fields
Luke Kenneth Casson Leighton [Mon, 7 Sep 2020 10:58:30 +0000 (11:58 +0100)]
whoops truncated the mb and me fields

3 years agominor reorg on PowerDecoder
Luke Kenneth Casson Leighton [Mon, 7 Sep 2020 00:01:39 +0000 (01:01 +0100)]
minor reorg on PowerDecoder

3 years agocomment, nothing unusual when Trap Type is DEC
Luke Kenneth Casson Leighton [Sun, 6 Sep 2020 21:31:17 +0000 (22:31 +0100)]
comment, nothing unusual when Trap Type is DEC

3 years agodecoder immediate b split out to DecodeBImm
Luke Kenneth Casson Leighton [Sun, 6 Sep 2020 21:21:09 +0000 (22:21 +0100)]
decoder immediate b split out to DecodeBImm

3 years agodecoder immediate a split out to DecodeAImm
Luke Kenneth Casson Leighton [Sun, 6 Sep 2020 21:16:00 +0000 (22:16 +0100)]
decoder immediate a split out to DecodeAImm

3 years agoadd row subset selector for PowerDecode.
Luke Kenneth Casson Leighton [Sun, 6 Sep 2020 20:42:51 +0000 (21:42 +0100)]
add row subset selector for PowerDecode.
allows functions to be used to create subset decoders

3 years agoadd row_subset (doesnt do anything yet)
Luke Kenneth Casson Leighton [Sun, 6 Sep 2020 20:22:09 +0000 (21:22 +0100)]
add row_subset (doesnt do anything yet)

3 years agopass col_subset throughout PowerDecoder
Luke Kenneth Casson Leighton [Sun, 6 Sep 2020 20:15:32 +0000 (21:15 +0100)]
pass col_subset throughout PowerDecoder

3 years agoreorganise PowerOp to be dynamic
Luke Kenneth Casson Leighton [Sun, 6 Sep 2020 19:59:48 +0000 (20:59 +0100)]
reorganise PowerOp to be dynamic

3 years agoreorg of PowerOp to be able to dynamically subset it
Luke Kenneth Casson Leighton [Sun, 6 Sep 2020 19:33:16 +0000 (20:33 +0100)]
reorg of PowerOp to be able to dynamically subset it

3 years agogrr, autopep8 messing up
Luke Kenneth Casson Leighton [Sun, 6 Sep 2020 19:19:03 +0000 (20:19 +0100)]
grr, autopep8 messing up

3 years agocopy dec SPR into decoder cur_state
Luke Kenneth Casson Leighton [Sun, 6 Sep 2020 18:46:41 +0000 (19:46 +0100)]
copy dec SPR into decoder cur_state

3 years agoadd reset option to Register
Luke Kenneth Casson Leighton [Sun, 6 Sep 2020 18:43:40 +0000 (19:43 +0100)]
add reset option to Register

3 years agowark-wark, fast regs is binary-addressed
Luke Kenneth Casson Leighton [Sun, 6 Sep 2020 17:00:31 +0000 (18:00 +0100)]
wark-wark, fast regs is binary-addressed

3 years agoadd unit test for slow SPRs (SPRG0/1)
Luke Kenneth Casson Leighton [Sun, 6 Sep 2020 16:49:20 +0000 (17:49 +0100)]
add unit test for slow SPRs (SPRG0/1)
add test mapping for slow SPR numbers

3 years agominor code-munge on SPR-to-FAST mapping
Luke Kenneth Casson Leighton [Sun, 6 Sep 2020 16:35:02 +0000 (17:35 +0100)]
minor code-munge on SPR-to-FAST mapping

3 years agouse with subTest in spr unit test
Luke Kenneth Casson Leighton [Sun, 6 Sep 2020 16:34:13 +0000 (17:34 +0100)]
use with subTest in spr unit test

3 years agoredo generation of microwatt.v from litex
Luke Kenneth Casson Leighton [Sun, 6 Sep 2020 16:33:48 +0000 (17:33 +0100)]
redo generation of microwatt.v from litex

3 years agoadd comments for DEC / TB
Luke Kenneth Casson Leighton [Sun, 6 Sep 2020 12:08:57 +0000 (13:08 +0100)]
add comments for DEC / TB

3 years agoadd a DEC/TB FSM to TestIssuer
Luke Kenneth Casson Leighton [Sun, 6 Sep 2020 11:56:48 +0000 (12:56 +0100)]
add a DEC/TB FSM to TestIssuer

this operates on alternative cycles, because it reads/writes from the
Fast Regfile directly

3 years agomove DEC and TB from StateRegs to FastRegs for several reasons
Luke Kenneth Casson Leighton [Sun, 6 Sep 2020 11:50:47 +0000 (12:50 +0100)]
move DEC and TB from StateRegs to FastRegs for several reasons
first: SPR pipeline already has fast1 read/write
second: a new DecodeStateIn/Out object would be needed
        instead just add FastRegs.DEC/TB to DecodeA/Out
third: there is probably a third somewhere

3 years agoadd DEC SPR to CoreState and PowerDecoder, activate 0x900 interrupt
Luke Kenneth Casson Leighton [Sun, 6 Sep 2020 11:13:16 +0000 (12:13 +0100)]
add DEC SPR to CoreState and PowerDecoder, activate 0x900 interrupt

3 years agoadd DEC and TB to State regfile
Luke Kenneth Casson Leighton [Sun, 6 Sep 2020 11:11:45 +0000 (12:11 +0100)]
add DEC and TB to State regfile

3 years agoadd DEC/TB SPRs to spr pipeline
Luke Kenneth Casson Leighton [Sun, 6 Sep 2020 11:11:25 +0000 (12:11 +0100)]
add DEC/TB SPRs to spr pipeline

3 years agoadd comments on MSR read
Luke Kenneth Casson Leighton [Sat, 5 Sep 2020 20:43:04 +0000 (21:43 +0100)]
add comments on MSR read

3 years agomove GPIO IRQ to 15 to match microwatt modifications
Luke Kenneth Casson Leighton [Sat, 5 Sep 2020 20:25:56 +0000 (21:25 +0100)]
move GPIO IRQ to 15 to match microwatt modifications

3 years agohmmm XICS data being asserted on wb bus for too long
Luke Kenneth Casson Leighton [Sat, 5 Sep 2020 19:52:35 +0000 (20:52 +0100)]
hmmm XICS data being asserted on wb bus for too long

3 years agoargh missed a VHDL "&" translating to Cat
Luke Kenneth Casson Leighton [Sat, 5 Sep 2020 19:44:49 +0000 (20:44 +0100)]
argh missed a VHDL "&" translating to Cat

3 years agoreduce XICS address lookup by 2 bits
Luke Kenneth Casson Leighton [Sat, 5 Sep 2020 18:06:37 +0000 (19:06 +0100)]
reduce XICS address lookup by 2 bits

3 years agoMSR read in INSN_READ only occurs for 1 cycle
Luke Kenneth Casson Leighton [Sat, 5 Sep 2020 17:15:36 +0000 (18:15 +0100)]
MSR read in INSN_READ only occurs for 1 cycle

3 years agosync on ICP eint
Luke Kenneth Casson Leighton [Sat, 5 Sep 2020 16:58:00 +0000 (17:58 +0100)]
sync on ICP eint

3 years agoconnect XICS core irq to Decode2 eint
Luke Kenneth Casson Leighton [Sat, 5 Sep 2020 16:35:17 +0000 (17:35 +0100)]
connect XICS core irq to Decode2 eint

3 years agowhoops, combinatorial loop on pending_priority
Luke Kenneth Casson Leighton [Sat, 5 Sep 2020 16:20:15 +0000 (17:20 +0100)]
whoops, combinatorial loop on pending_priority

3 years agouse stbcix in test
Luke Kenneth Casson Leighton [Sat, 5 Sep 2020 16:10:26 +0000 (17:10 +0100)]
use stbcix in test

3 years agoXICS addresses in words: divide by 4
Luke Kenneth Casson Leighton [Sat, 5 Sep 2020 16:07:04 +0000 (17:07 +0100)]
XICS addresses in words: divide by 4

3 years agowhoops, ICS in litex sim needs to be 0x1000 size region
Luke Kenneth Casson Leighton [Sat, 5 Sep 2020 15:38:56 +0000 (16:38 +0100)]
whoops, ICS in litex sim needs to be 0x1000 size region

3 years agoadd lwzcix unit test
Luke Kenneth Casson Leighton [Sat, 5 Sep 2020 15:38:40 +0000 (16:38 +0100)]
add lwzcix unit test

3 years agoincrease wishbone address width to 29 for xics and gpio
Luke Kenneth Casson Leighton [Sat, 5 Sep 2020 15:32:23 +0000 (16:32 +0100)]
increase wishbone address width to 29 for xics and gpio
this may not be exactly correct, have to see how it goes

3 years agosubmodule update
Luke Kenneth Casson Leighton [Sat, 5 Sep 2020 14:17:24 +0000 (15:17 +0100)]
submodule update

3 years agoadd simple GPIO wishbone bus to litex sim.py
Luke Kenneth Casson Leighton [Sat, 5 Sep 2020 14:03:21 +0000 (15:03 +0100)]
add simple GPIO wishbone bus to litex sim.py

3 years agoadd stbcix and lwzcix to power_enum list
Luke Kenneth Casson Leighton [Sat, 5 Sep 2020 14:02:53 +0000 (15:02 +0100)]
add stbcix and lwzcix to power_enum list

3 years agoadd simple GPIO peripheral to verilog TestIssuer
Luke Kenneth Casson Leighton [Sat, 5 Sep 2020 13:38:08 +0000 (14:38 +0100)]
add simple GPIO peripheral to verilog TestIssuer

3 years agomove wb read/write to separate util test library and use them
Luke Kenneth Casson Leighton [Sat, 5 Sep 2020 13:30:46 +0000 (14:30 +0100)]
move wb read/write to separate util test library and use them

3 years agoadd simple wishbone GPIO peripheral
Luke Kenneth Casson Leighton [Sat, 5 Sep 2020 13:27:30 +0000 (14:27 +0100)]
add simple wishbone GPIO peripheral

3 years agoAdd unit test replicating failing proof case
Samuel A. Falvo II [Sat, 5 Sep 2020 00:23:06 +0000 (17:23 -0700)]
Add unit test replicating failing proof case