soc.git
4 years agoadd minerva source from https://github.com/lambdaconcept/minerva
Luke Kenneth Casson Leighton [Wed, 11 Mar 2020 16:10:51 +0000 (16:10 +0000)]
add minerva source from https://github.com/lambdaconcept/minerva

4 years agoAdd assertions that instruction fields are correct
Michael Nolan [Wed, 11 Mar 2020 14:17:26 +0000 (10:17 -0400)]
Add assertions that instruction fields are correct

4 years agoAdd test for remaining bits
Michael Nolan [Wed, 11 Mar 2020 13:21:35 +0000 (09:21 -0400)]
Add test for remaining bits

4 years agoAdd tests for DecodeOut and DecodeRC
Michael Nolan [Wed, 11 Mar 2020 13:12:52 +0000 (09:12 -0400)]
Add tests for DecodeOut and DecodeRC

4 years agostore ra in intermediate, to avoid creation of decoding twice
Luke Kenneth Casson Leighton [Wed, 11 Mar 2020 08:37:24 +0000 (08:37 +0000)]
store ra in intermediate, to avoid creation of decoding twice

4 years agoadd "done" signal to CompALU and LDSTCompALU to be able to select between the
Luke Kenneth Casson Leighton [Tue, 10 Mar 2020 20:38:05 +0000 (20:38 +0000)]
add "done" signal to CompALU and LDSTCompALU to be able to select between the
two types consistently

4 years agoinitial test LD comp unit in scoreboard
Luke Kenneth Casson Leighton [Tue, 10 Mar 2020 19:49:55 +0000 (19:49 +0000)]
initial test LD comp unit in scoreboard

4 years agohmmm set store latch based on go_rd_i
Luke Kenneth Casson Leighton [Tue, 10 Mar 2020 18:10:15 +0000 (18:10 +0000)]
hmmm set store latch based on go_rd_i

4 years agoadd ADD/ADDI test to LDSTCompUnit
Luke Kenneth Casson Leighton [Tue, 10 Mar 2020 18:00:54 +0000 (18:00 +0000)]
add ADD/ADDI test to LDSTCompUnit

4 years agoamazingly got LD working on LDSTCompUnit
Luke Kenneth Casson Leighton [Tue, 10 Mar 2020 16:27:15 +0000 (16:27 +0000)]
amazingly got LD working on LDSTCompUnit

4 years agocomments explaining what alu_hier.py does
Luke Kenneth Casson Leighton [Tue, 10 Mar 2020 16:27:00 +0000 (16:27 +0000)]
comments explaining what alu_hier.py does

4 years agoLD appears to be working as well although there is an oddness in the gtkwave
Luke Kenneth Casson Leighton [Tue, 10 Mar 2020 16:08:03 +0000 (16:08 +0000)]
LD appears to be working as well although there is an oddness in the gtkwave
output, data_o is not showing as changing despite the simulation
getting the correct output

4 years agowhoops as simple as having inverted the LD/ST bit in oper_r
Luke Kenneth Casson Leighton [Tue, 10 Mar 2020 15:51:15 +0000 (15:51 +0000)]
whoops as simple as having inverted the LD/ST bit in oper_r

4 years agoAdd cases for DecodeB and DecodeC
Michael Nolan [Tue, 10 Mar 2020 15:22:44 +0000 (11:22 -0400)]
Add cases for DecodeB and DecodeC

4 years agoRefactor DecodeA test
Michael Nolan [Tue, 10 Mar 2020 15:07:05 +0000 (11:07 -0400)]
Refactor DecodeA test

4 years agoAdd proof for power_decoder2.DecodeA
Michael Nolan [Mon, 9 Mar 2020 15:14:38 +0000 (11:14 -0400)]
Add proof for power_decoder2.DecodeA

4 years agohmm not quite right, errr ST is working when setting op to LD... err...
Luke Kenneth Casson Leighton [Tue, 10 Mar 2020 14:31:00 +0000 (14:31 +0000)]
hmm not quite right, errr ST is working when setting op to LD... err...

4 years agoget LDSTCompALU debugged a bit: ST functionality working
Luke Kenneth Casson Leighton [Tue, 10 Mar 2020 12:57:12 +0000 (12:57 +0000)]
get LDSTCompALU debugged a bit: ST functionality working

4 years agoadd comment on oper_i field
Luke Kenneth Casson Leighton [Mon, 9 Mar 2020 20:25:36 +0000 (20:25 +0000)]
add comment on oper_i field

4 years agodisable transparent=False for now
Luke Kenneth Casson Leighton [Mon, 9 Mar 2020 20:22:27 +0000 (20:22 +0000)]
disable transparent=False for now

4 years agoconnect up LD to memory: set transparent mode to False.
Luke Kenneth Casson Leighton [Mon, 9 Mar 2020 16:28:45 +0000 (16:28 +0000)]
connect up LD to memory: set transparent mode to False.
need to check if the memory is valid one clock later

4 years agomore comments for LDSTCompUnit
Luke Kenneth Casson Leighton [Mon, 9 Mar 2020 16:17:12 +0000 (16:17 +0000)]
more comments for LDSTCompUnit

4 years agoupdate LDSTCompUnit comments
Luke Kenneth Casson Leighton [Mon, 9 Mar 2020 16:12:30 +0000 (16:12 +0000)]
update LDSTCompUnit comments

4 years agotry adding test memory store to LDSTCompUnit
Luke Kenneth Casson Leighton [Mon, 9 Mar 2020 15:41:11 +0000 (15:41 +0000)]
try adding test memory store to LDSTCompUnit

4 years agoFix logical loop in DecodeA
Michael Nolan [Mon, 9 Mar 2020 15:00:55 +0000 (11:00 -0400)]
Fix logical loop in DecodeA

4 years agoBegin adding proof for decoder2
Michael Nolan [Mon, 9 Mar 2020 14:55:45 +0000 (10:55 -0400)]
Begin adding proof for decoder2

4 years agoMigrate imports to use absolute imports
Michael Nolan [Mon, 9 Mar 2020 14:54:02 +0000 (10:54 -0400)]
Migrate imports to use absolute imports

4 years agoFix test
Michael Nolan [Mon, 9 Mar 2020 13:54:23 +0000 (09:54 -0400)]
Fix test

4 years agosort imports on scoreboard
Luke Kenneth Casson Leighton [Mon, 9 Mar 2020 13:52:28 +0000 (13:52 +0000)]
sort imports on scoreboard

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