soc.git
4 years agoadd __init__.py files to decoder
Luke Kenneth Casson Leighton [Mon, 9 Mar 2020 13:47:41 +0000 (13:47 +0000)]
add __init__.py files to decoder

4 years agoadd __init__.py to soc
Luke Kenneth Casson Leighton [Mon, 9 Mar 2020 13:43:07 +0000 (13:43 +0000)]
add __init__.py to soc

4 years agomove all source directories to soc so that "import soc.scoreboard" etc is used
Luke Kenneth Casson Leighton [Mon, 9 Mar 2020 13:42:31 +0000 (13:42 +0000)]
move all source directories to soc so that "import soc.scoreboard" etc is used

4 years agoconvert SPRs and others to Data.data/ok
Luke Kenneth Casson Leighton [Sun, 8 Mar 2020 20:18:34 +0000 (20:18 +0000)]
convert SPRs and others to Data.data/ok

4 years agoconvert to output reg/imm data plus "ok" flag
Luke Kenneth Casson Leighton [Sun, 8 Mar 2020 19:11:03 +0000 (19:11 +0000)]
convert to output reg/imm data plus "ok" flag

4 years agolikewise comment out CR from decode, it is from the CR SPR regfile
Luke Kenneth Casson Leighton [Sun, 8 Mar 2020 18:29:23 +0000 (18:29 +0000)]
likewise comment out CR from decode, it is from the CR SPR regfile

4 years agotake XER out of decode, it is from the CR regfile
Luke Kenneth Casson Leighton [Sun, 8 Mar 2020 18:27:15 +0000 (18:27 +0000)]
take XER out of decode, it is from the CR regfile

4 years agoadd test conversion to ilang to PowerDecoder2, fix resultant errors
Luke Kenneth Casson Leighton [Sun, 8 Mar 2020 18:13:40 +0000 (18:13 +0000)]
add test conversion to ilang to PowerDecoder2, fix resultant errors

4 years agoadd class comments, add rtlil creator for PowerDecode2
Luke Kenneth Casson Leighton [Sun, 8 Mar 2020 17:51:57 +0000 (17:51 +0000)]
add class comments, add rtlil creator for PowerDecode2

4 years agoadd combined instruction and register decoder
Luke Kenneth Casson Leighton [Sun, 8 Mar 2020 17:33:38 +0000 (17:33 +0000)]
add combined instruction and register decoder

4 years agowhitespace
Luke Kenneth Casson Leighton [Sun, 8 Mar 2020 15:25:59 +0000 (15:25 +0000)]
whitespace

4 years agodecode b, c, out, rc and oe
Luke Kenneth Casson Leighton [Sun, 8 Mar 2020 15:25:38 +0000 (15:25 +0000)]
decode b, c, out, rc and oe

4 years agoadd spr decode to A
Luke Kenneth Casson Leighton [Sun, 8 Mar 2020 13:17:31 +0000 (13:17 +0000)]
add spr decode to A

4 years agoadd SPR enum
Luke Kenneth Casson Leighton [Sun, 8 Mar 2020 12:53:38 +0000 (12:53 +0000)]
add SPR enum

4 years agostart adding DecodeA
Luke Kenneth Casson Leighton [Sun, 8 Mar 2020 12:33:34 +0000 (12:33 +0000)]
start adding DecodeA

4 years agoadd start on power decoder2
Luke Kenneth Casson Leighton [Sun, 8 Mar 2020 11:42:46 +0000 (11:42 +0000)]
add start on power decoder2

4 years agoadd extra field-register sh
Luke Kenneth Casson Leighton [Sat, 7 Mar 2020 22:27:20 +0000 (22:27 +0000)]
add extra field-register sh

4 years agoadd shortcuts to opcode fields from insn_helpes.vhdl
Luke Kenneth Casson Leighton [Sat, 7 Mar 2020 21:34:39 +0000 (21:34 +0000)]
add shortcuts to opcode fields from insn_helpes.vhdl

4 years agolink in power field decoder
Luke Kenneth Casson Leighton [Sat, 7 Mar 2020 21:07:54 +0000 (21:07 +0000)]
link in power field decoder

4 years agoadd example usage of power_fields to get at named parts of opcode
Luke Kenneth Casson Leighton [Sat, 7 Mar 2020 15:58:47 +0000 (15:58 +0000)]
add example usage of power_fields to get at named parts of opcode

4 years agoadd class which creates useable (named) representation of fields
Luke Kenneth Casson Leighton [Sat, 7 Mar 2020 14:50:12 +0000 (14:50 +0000)]
add class which creates useable (named) representation of fields

4 years agouniquify names
Luke Kenneth Casson Leighton [Sat, 7 Mar 2020 13:21:38 +0000 (13:21 +0000)]
uniquify names

4 years agoadd decoder on power fields
Luke Kenneth Casson Leighton [Fri, 6 Mar 2020 19:28:11 +0000 (19:28 +0000)]
add decoder on power fields

4 years agoadd field decoder
Luke Kenneth Casson Leighton [Fri, 6 Mar 2020 18:37:43 +0000 (18:37 +0000)]
add field decoder

4 years agoprocess fields to get positions associated with format
Luke Kenneth Casson Leighton [Thu, 5 Mar 2020 23:08:22 +0000 (23:08 +0000)]
process fields to get positions associated with format

4 years agodecode power fields from Forms, section 1.6 of 2.07B ISA
Luke Kenneth Casson Leighton [Thu, 5 Mar 2020 21:56:02 +0000 (21:56 +0000)]
decode power fields from Forms, section 1.6 of 2.07B ISA

4 years agocorrections on Form PowerDecoder
Luke Kenneth Casson Leighton [Thu, 5 Mar 2020 18:42:14 +0000 (18:42 +0000)]
corrections on Form PowerDecoder

4 years agowhoops wrong numbering
Luke Kenneth Casson Leighton [Thu, 5 Mar 2020 18:36:42 +0000 (18:36 +0000)]
whoops wrong numbering

4 years agoadd "form" to power decode
Luke Kenneth Casson Leighton [Thu, 5 Mar 2020 18:35:55 +0000 (18:35 +0000)]
add "form" to power decode

4 years agoadd more comments
Luke Kenneth Casson Leighton [Thu, 5 Mar 2020 12:30:05 +0000 (12:30 +0000)]
add more comments

4 years agoadd comment docstring explaining power decoder
Luke Kenneth Casson Leighton [Thu, 5 Mar 2020 12:14:35 +0000 (12:14 +0000)]
add comment docstring explaining power decoder

4 years agowhitespace
Luke Kenneth Casson Leighton [Thu, 5 Mar 2020 03:55:48 +0000 (03:55 +0000)]
whitespace

4 years agoadd minor_19 patterns and extra/major
Luke Kenneth Casson Leighton [Thu, 5 Mar 2020 03:51:53 +0000 (03:51 +0000)]
add minor_19 patterns and extra/major

4 years ago3am coding. sigh. converted PowerDecoder to take list of namedtuples
Luke Kenneth Casson Leighton [Thu, 5 Mar 2020 03:35:17 +0000 (03:35 +0000)]
3am coding. sigh.  converted PowerDecoder to take list of namedtuples
can now pass in extra.csv and major.csv in setup

4 years agoadd idea of Decoder namedtuple
Luke Kenneth Casson Leighton [Wed, 4 Mar 2020 19:12:36 +0000 (19:12 +0000)]
add idea of Decoder namedtuple

4 years agowhoops realised that it is *PowerDecoder* args that need to become a list
Luke Kenneth Casson Leighton [Wed, 4 Mar 2020 17:32:00 +0000 (17:32 +0000)]
whoops realised that it is *PowerDecoder* args that need to become a list

4 years agomove default case out of switch, to make room for multiple switches
Luke Kenneth Casson Leighton [Wed, 4 Mar 2020 16:49:01 +0000 (16:49 +0000)]
move default case out of switch, to make room for multiple switches
and a *list* of subdecoders

4 years agoAdd suffix handling back in
Michael Nolan [Wed, 4 Mar 2020 16:09:20 +0000 (11:09 -0500)]
Add suffix handling back in

4 years agoGenerate ilang for whole decoder
Michael Nolan [Wed, 4 Mar 2020 16:09:06 +0000 (11:09 -0500)]
Generate ilang for whole decoder

4 years agoAdd tests for minor_58 and minor_62
Michael Nolan [Wed, 4 Mar 2020 15:42:47 +0000 (10:42 -0500)]
Add tests for minor_58 and minor_62

4 years agoHierarchial decoder semi-working
Michael Nolan [Wed, 4 Mar 2020 15:31:15 +0000 (10:31 -0500)]
Hierarchial decoder semi-working

4 years agoAdd bit selectors for most of the tests
Michael Nolan [Wed, 4 Mar 2020 14:40:23 +0000 (09:40 -0500)]
Add bit selectors for most of the tests

4 years agoChange decoder to take the bits to select of the opcode as parameter
Michael Nolan [Wed, 4 Mar 2020 14:36:33 +0000 (09:36 -0500)]
Change decoder to take the bits to select of the opcode as parameter

4 years agorename run_test so that nosetests3 doesnt complain
Luke Kenneth Casson Leighton [Tue, 3 Mar 2020 19:26:11 +0000 (19:26 +0000)]
rename run_test so that nosetests3 doesnt complain

4 years agomove default values to power_enums.py
Luke Kenneth Casson Leighton [Tue, 3 Mar 2020 19:25:52 +0000 (19:25 +0000)]
move default values to power_enums.py

4 years agoexperimenting getting power decoder into shape
Luke Kenneth Casson Leighton [Tue, 3 Mar 2020 18:41:35 +0000 (18:41 +0000)]
experimenting getting power decoder into shape

4 years agoAdd recursive decoding
Michael Nolan [Mon, 2 Mar 2020 15:40:28 +0000 (10:40 -0500)]
Add recursive decoding

4 years agoAdd support for hierarchical decoding
Michael Nolan [Mon, 2 Mar 2020 15:24:16 +0000 (10:24 -0500)]
Add support for hierarchical decoding

4 years agoidea for sub-decoder
Luke Kenneth Casson Leighton [Sun, 1 Mar 2020 20:21:54 +0000 (20:21 +0000)]
idea for sub-decoder

4 years agosort out hacking of PowerDecoder to suit extra.csv
Luke Kenneth Casson Leighton [Sun, 1 Mar 2020 15:51:57 +0000 (15:51 +0000)]
sort out hacking of PowerDecoder to suit extra.csv

4 years agocorrection on single bit flags
Luke Kenneth Casson Leighton [Sun, 1 Mar 2020 15:40:02 +0000 (15:40 +0000)]
correction on single bit flags

4 years agofix up syntax errors in power_decoder
Luke Kenneth Casson Leighton [Sun, 1 Mar 2020 15:32:38 +0000 (15:32 +0000)]
fix up syntax errors in power_decoder

4 years agomissing commas
Luke Kenneth Casson Leighton [Sun, 1 Mar 2020 15:17:47 +0000 (15:17 +0000)]
missing commas

4 years agoadd some basic comments to PowerOp and PowerDecoder classes
Luke Kenneth Casson Leighton [Sun, 1 Mar 2020 14:26:06 +0000 (14:26 +0000)]
add some basic comments to PowerOp and PowerDecoder classes

4 years agoseparate out PowerOps from PowerDecoder, simplifies code and also makes
Luke Kenneth Casson Leighton [Sun, 1 Mar 2020 14:21:39 +0000 (14:21 +0000)]
separate out PowerOps from PowerDecoder, simplifies code and also makes
it possible to set (later) from explicit row specs (nop etc.)

4 years agoAdd tests for minor_30 and minor_31 decoding tables
Michael Nolan [Sat, 29 Feb 2020 22:45:02 +0000 (17:45 -0500)]
Add tests for minor_30 and minor_31 decoding tables

4 years agoAdd default case to decoder
Michael Nolan [Sat, 29 Feb 2020 22:26:06 +0000 (17:26 -0500)]
Add default case to decoder

4 years agoAdd fields from the ones in IBM's Microwatt
Michael Nolan [Sat, 29 Feb 2020 21:19:06 +0000 (16:19 -0500)]
Add fields from the ones in IBM's Microwatt

4 years agoAdd decoder/test for minor_19 field
Michael Nolan [Sat, 29 Feb 2020 21:07:47 +0000 (16:07 -0500)]
Add decoder/test for minor_19 field

4 years agoAdd code to download csv files from wiki if they don't exist
Michael Nolan [Sat, 29 Feb 2020 20:53:16 +0000 (15:53 -0500)]
Add code to download csv files from wiki if they don't exist

4 years agoMove enums to a separate file
Michael Nolan [Sat, 29 Feb 2020 20:46:54 +0000 (15:46 -0500)]
Move enums to a separate file

4 years agoCorrect cry in field from a single bit to an enum
Michael Nolan [Sat, 29 Feb 2020 20:37:35 +0000 (15:37 -0500)]
Correct cry in field from a single bit to an enum

4 years agoCleanup testbench, add messages to assertions
Michael Nolan [Sat, 29 Feb 2020 20:27:05 +0000 (15:27 -0500)]
Cleanup testbench, add messages to assertions

4 years agoAdd in remaining fields from major decoder
Michael Nolan [Sat, 29 Feb 2020 20:16:30 +0000 (15:16 -0500)]
Add in remaining fields from major decoder

4 years agoAdd signals for single bit flags in major.csv
Michael Nolan [Sat, 29 Feb 2020 20:05:44 +0000 (15:05 -0500)]
Add signals for single bit flags in major.csv

4 years agoAdd input and output register selector fields
Michael Nolan [Sat, 29 Feb 2020 19:46:57 +0000 (14:46 -0500)]
Add input and output register selector fields

4 years agoMinor cleanup
Michael Nolan [Sat, 29 Feb 2020 19:35:02 +0000 (14:35 -0500)]
Minor cleanup

4 years agoMove decoder.py to power_major_decoder.py
Michael Nolan [Sat, 29 Feb 2020 19:32:18 +0000 (14:32 -0500)]
Move decoder.py to power_major_decoder.py

4 years agoAdd internal op field to major decoder
Michael Nolan [Sat, 29 Feb 2020 19:27:03 +0000 (14:27 -0500)]
Add internal op field to major decoder

4 years agoBegin adding power ISA decoder
Michael Nolan [Sat, 29 Feb 2020 19:23:53 +0000 (14:23 -0500)]
Begin adding power ISA decoder

4 years agoconvert ram tp modules
Tobias Platen [Sat, 25 Jan 2020 12:22:44 +0000 (13:22 +0100)]
convert ram tp modules

4 years agotranslate slice_top and rab_slice from systemverilog to nmigen
Tobias Platen [Fri, 24 Jan 2020 07:41:24 +0000 (08:41 +0100)]
translate slice_top and rab_slice from systemverilog to nmigen

4 years agoadd more converted header files
Tobias Platen [Thu, 23 Jan 2020 10:51:52 +0000 (11:51 +0100)]
add more converted header files

4 years agobegin axi_rab to nmigen conversion
Tobias Platen [Thu, 23 Jan 2020 09:44:44 +0000 (10:44 +0100)]
begin axi_rab to nmigen conversion

4 years agoupdate to new revision nmigen
Luke Kenneth Casson Leighton [Fri, 17 Jan 2020 14:14:18 +0000 (14:14 +0000)]
update to new revision nmigen

4 years agoget familiar with tests again
Luke Kenneth Casson Leighton [Fri, 17 Jan 2020 13:57:54 +0000 (13:57 +0000)]
get familiar with tests again

5 years agotlb_content now supports 512G pages
Tobias Platen [Mon, 16 Sep 2019 16:42:15 +0000 (18:42 +0200)]
tlb_content now supports 512G pages

5 years agoterapage lookup
Tobias Platen [Wed, 11 Sep 2019 19:14:11 +0000 (21:14 +0200)]
terapage lookup

5 years agotlb_content update test
Tobias Platen [Tue, 10 Sep 2019 19:35:27 +0000 (21:35 +0200)]
tlb_content update test

5 years agoadd unittest for tlb_content.py
Tobias Platen [Mon, 9 Sep 2019 18:31:06 +0000 (20:31 +0200)]
add unittest for tlb_content.py

5 years agoforgot to add one signal
Tobias Platen [Sun, 25 Aug 2019 17:31:34 +0000 (19:31 +0200)]
forgot to add one signal

5 years agoadd is_512G to the data structure
Tobias Platen [Sat, 24 Aug 2019 14:15:19 +0000 (16:15 +0200)]
add is_512G to the data structure

5 years agopartial Unit Test for TLB
Tobias Platen [Wed, 7 Aug 2019 18:31:43 +0000 (20:31 +0200)]
partial Unit Test for TLB

5 years agotlb_test WIP
Tobias Platen [Sun, 4 Aug 2019 12:15:01 +0000 (14:15 +0200)]
tlb_test WIP

5 years agomove priority picker to nmutil
Luke Kenneth Casson Leighton [Thu, 1 Aug 2019 07:49:08 +0000 (08:49 +0100)]
move priority picker to nmutil

5 years agoMerge branch 'master' of https://git.libre-riscv.org/git/soc
Tobias Platen [Thu, 25 Jul 2019 19:43:00 +0000 (21:43 +0200)]
Merge branch 'master' of https://git.libre-riscv.org/git/soc

5 years agofix UnusedElaboratable warning in TLB code
Tobias Platen [Thu, 25 Jul 2019 19:41:37 +0000 (21:41 +0200)]
fix UnusedElaboratable warning in TLB code

5 years agoadd TLB elaboratable
Luke Kenneth Casson Leighton [Wed, 24 Jul 2019 21:47:32 +0000 (22:47 +0100)]
add TLB elaboratable

5 years agoTLB testbench WIP
Tobias Platen [Sun, 21 Jul 2019 16:09:19 +0000 (18:09 +0200)]
TLB testbench WIP

5 years agoimplement page table lookup using 4 levels
isengaara [Sun, 21 Jul 2019 11:31:43 +0000 (13:31 +0200)]
implement page table lookup using 4 levels

5 years agoforgot to pull ld_o/st_o through from LDST CompUnits
Luke Kenneth Casson Leighton [Wed, 19 Jun 2019 06:02:15 +0000 (07:02 +0100)]
forgot to pull ld_o/st_o through from LDST CompUnits

5 years agosort out address match global nomatch signal
Luke Kenneth Casson Leighton [Wed, 19 Jun 2019 05:47:01 +0000 (06:47 +0100)]
sort out address match global nomatch signal

5 years agomove mem into scoreboard (really should be outside, as should regfile)
Luke Kenneth Casson Leighton [Tue, 18 Jun 2019 16:09:35 +0000 (17:09 +0100)]
move mem into scoreboard (really should be outside, as should regfile)
add mempick GroupPicker

5 years agoadd separate read/write port
Luke Kenneth Casson Leighton [Tue, 18 Jun 2019 12:39:46 +0000 (13:39 +0100)]
add separate read/write port

5 years agowhoops syntax error
Luke Kenneth Casson Leighton [Tue, 18 Jun 2019 09:28:15 +0000 (10:28 +0100)]
whoops syntax error

5 years agowrite out data only on go_write
Luke Kenneth Casson Leighton [Tue, 18 Jun 2019 09:27:50 +0000 (10:27 +0100)]
write out data only on go_write

5 years agoclarify comment
Luke Kenneth Casson Leighton [Tue, 18 Jun 2019 09:03:52 +0000 (10:03 +0100)]
clarify comment

5 years agoadd address and output mode from LDSTCUs
Luke Kenneth Casson Leighton [Tue, 18 Jun 2019 09:01:26 +0000 (10:01 +0100)]
add address and output mode from LDSTCUs

5 years agosort out go_ld_i and go_st_i
Luke Kenneth Casson Leighton [Tue, 18 Jun 2019 08:26:25 +0000 (09:26 +0100)]
sort out go_ld_i and go_st_i

5 years agoadd temporary immediate-activation of go_addr on adr_rel request
Luke Kenneth Casson Leighton [Tue, 18 Jun 2019 06:13:53 +0000 (07:13 +0100)]
add temporary immediate-activation of go_addr on adr_rel request