Michael Nolan [Wed, 11 Mar 2020 14:17:26 +0000 (10:17 -0400)]
Add assertions that instruction fields are correct
Michael Nolan [Wed, 11 Mar 2020 13:21:35 +0000 (09:21 -0400)]
Add test for remaining bits
Michael Nolan [Wed, 11 Mar 2020 13:12:52 +0000 (09:12 -0400)]
Add tests for DecodeOut and DecodeRC
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
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
Luke Kenneth Casson Leighton [Tue, 10 Mar 2020 19:49:55 +0000 (19:49 +0000)]
initial test LD comp unit in scoreboard
Luke Kenneth Casson Leighton [Tue, 10 Mar 2020 18:10:15 +0000 (18:10 +0000)]
hmmm set store latch based on go_rd_i
Luke Kenneth Casson Leighton [Tue, 10 Mar 2020 18:00:54 +0000 (18:00 +0000)]
add ADD/ADDI test to LDSTCompUnit
Luke Kenneth Casson Leighton [Tue, 10 Mar 2020 16:27:15 +0000 (16:27 +0000)]
amazingly got LD working on LDSTCompUnit
Luke Kenneth Casson Leighton [Tue, 10 Mar 2020 16:27:00 +0000 (16:27 +0000)]
comments explaining what alu_hier.py does
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
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
Michael Nolan [Tue, 10 Mar 2020 15:22:44 +0000 (11:22 -0400)]
Add cases for DecodeB and DecodeC
Michael Nolan [Tue, 10 Mar 2020 15:07:05 +0000 (11:07 -0400)]
Refactor DecodeA test
Michael Nolan [Mon, 9 Mar 2020 15:14:38 +0000 (11:14 -0400)]
Add proof for power_decoder2.DecodeA
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...
Luke Kenneth Casson Leighton [Tue, 10 Mar 2020 12:57:12 +0000 (12:57 +0000)]
get LDSTCompALU debugged a bit: ST functionality working
Luke Kenneth Casson Leighton [Mon, 9 Mar 2020 20:25:36 +0000 (20:25 +0000)]
add comment on oper_i field
Luke Kenneth Casson Leighton [Mon, 9 Mar 2020 20:22:27 +0000 (20:22 +0000)]
disable transparent=False for now
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
Luke Kenneth Casson Leighton [Mon, 9 Mar 2020 16:17:12 +0000 (16:17 +0000)]
more comments for LDSTCompUnit
Luke Kenneth Casson Leighton [Mon, 9 Mar 2020 16:12:30 +0000 (16:12 +0000)]
update LDSTCompUnit comments
Luke Kenneth Casson Leighton [Mon, 9 Mar 2020 15:41:11 +0000 (15:41 +0000)]
try adding test memory store to LDSTCompUnit
Michael Nolan [Mon, 9 Mar 2020 15:00:55 +0000 (11:00 -0400)]
Fix logical loop in DecodeA
Michael Nolan [Mon, 9 Mar 2020 14:55:45 +0000 (10:55 -0400)]
Begin adding proof for decoder2
Michael Nolan [Mon, 9 Mar 2020 14:54:02 +0000 (10:54 -0400)]
Migrate imports to use absolute imports
Michael Nolan [Mon, 9 Mar 2020 13:54:23 +0000 (09:54 -0400)]
Fix test
Luke Kenneth Casson Leighton [Mon, 9 Mar 2020 13:52:28 +0000 (13:52 +0000)]
sort imports on scoreboard
Luke Kenneth Casson Leighton [Mon, 9 Mar 2020 13:47:41 +0000 (13:47 +0000)]
add __init__.py files to decoder
Luke Kenneth Casson Leighton [Mon, 9 Mar 2020 13:43:07 +0000 (13:43 +0000)]
add __init__.py to soc
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
Luke Kenneth Casson Leighton [Sun, 8 Mar 2020 20:18:34 +0000 (20:18 +0000)]
convert SPRs and others to Data.data/ok
Luke Kenneth Casson Leighton [Sun, 8 Mar 2020 19:11:03 +0000 (19:11 +0000)]
convert to output reg/imm data plus "ok" flag
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
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
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
Luke Kenneth Casson Leighton [Sun, 8 Mar 2020 17:51:57 +0000 (17:51 +0000)]
add class comments, add rtlil creator for PowerDecode2
Luke Kenneth Casson Leighton [Sun, 8 Mar 2020 17:33:38 +0000 (17:33 +0000)]
add combined instruction and register decoder
Luke Kenneth Casson Leighton [Sun, 8 Mar 2020 15:25:59 +0000 (15:25 +0000)]
whitespace
Luke Kenneth Casson Leighton [Sun, 8 Mar 2020 15:25:38 +0000 (15:25 +0000)]
decode b, c, out, rc and oe
Luke Kenneth Casson Leighton [Sun, 8 Mar 2020 13:17:31 +0000 (13:17 +0000)]
add spr decode to A
Luke Kenneth Casson Leighton [Sun, 8 Mar 2020 12:53:38 +0000 (12:53 +0000)]
add SPR enum
Luke Kenneth Casson Leighton [Sun, 8 Mar 2020 12:33:34 +0000 (12:33 +0000)]
start adding DecodeA
Luke Kenneth Casson Leighton [Sun, 8 Mar 2020 11:42:46 +0000 (11:42 +0000)]
add start on power decoder2
Luke Kenneth Casson Leighton [Sat, 7 Mar 2020 22:27:20 +0000 (22:27 +0000)]
add extra field-register sh
Luke Kenneth Casson Leighton [Sat, 7 Mar 2020 21:34:39 +0000 (21:34 +0000)]
add shortcuts to opcode fields from insn_helpes.vhdl
Luke Kenneth Casson Leighton [Sat, 7 Mar 2020 21:07:54 +0000 (21:07 +0000)]
link in power field decoder
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
Luke Kenneth Casson Leighton [Sat, 7 Mar 2020 14:50:12 +0000 (14:50 +0000)]
add class which creates useable (named) representation of fields
Luke Kenneth Casson Leighton [Sat, 7 Mar 2020 13:21:38 +0000 (13:21 +0000)]
uniquify names
Luke Kenneth Casson Leighton [Fri, 6 Mar 2020 19:28:11 +0000 (19:28 +0000)]
add decoder on power fields
Luke Kenneth Casson Leighton [Fri, 6 Mar 2020 18:37:43 +0000 (18:37 +0000)]
add field decoder
Luke Kenneth Casson Leighton [Thu, 5 Mar 2020 23:08:22 +0000 (23:08 +0000)]
process fields to get positions associated with format
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
Luke Kenneth Casson Leighton [Thu, 5 Mar 2020 18:42:14 +0000 (18:42 +0000)]
corrections on Form PowerDecoder
Luke Kenneth Casson Leighton [Thu, 5 Mar 2020 18:36:42 +0000 (18:36 +0000)]
whoops wrong numbering
Luke Kenneth Casson Leighton [Thu, 5 Mar 2020 18:35:55 +0000 (18:35 +0000)]
add "form" to power decode
Luke Kenneth Casson Leighton [Thu, 5 Mar 2020 12:30:05 +0000 (12:30 +0000)]
add more comments
Luke Kenneth Casson Leighton [Thu, 5 Mar 2020 12:14:35 +0000 (12:14 +0000)]
add comment docstring explaining power decoder
Luke Kenneth Casson Leighton [Thu, 5 Mar 2020 03:55:48 +0000 (03:55 +0000)]
whitespace
Luke Kenneth Casson Leighton [Thu, 5 Mar 2020 03:51:53 +0000 (03:51 +0000)]
add minor_19 patterns and extra/major
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
Luke Kenneth Casson Leighton [Wed, 4 Mar 2020 19:12:36 +0000 (19:12 +0000)]
add idea of Decoder namedtuple
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
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
Michael Nolan [Wed, 4 Mar 2020 16:09:20 +0000 (11:09 -0500)]
Add suffix handling back in
Michael Nolan [Wed, 4 Mar 2020 16:09:06 +0000 (11:09 -0500)]
Generate ilang for whole decoder
Michael Nolan [Wed, 4 Mar 2020 15:42:47 +0000 (10:42 -0500)]
Add tests for minor_58 and minor_62
Michael Nolan [Wed, 4 Mar 2020 15:31:15 +0000 (10:31 -0500)]
Hierarchial decoder semi-working
Michael Nolan [Wed, 4 Mar 2020 14:40:23 +0000 (09:40 -0500)]
Add bit selectors for most of the tests
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
Luke Kenneth Casson Leighton [Tue, 3 Mar 2020 19:26:11 +0000 (19:26 +0000)]
rename run_test so that nosetests3 doesnt complain
Luke Kenneth Casson Leighton [Tue, 3 Mar 2020 19:25:52 +0000 (19:25 +0000)]
move default values to power_enums.py
Luke Kenneth Casson Leighton [Tue, 3 Mar 2020 18:41:35 +0000 (18:41 +0000)]
experimenting getting power decoder into shape
Michael Nolan [Mon, 2 Mar 2020 15:40:28 +0000 (10:40 -0500)]
Add recursive decoding
Michael Nolan [Mon, 2 Mar 2020 15:24:16 +0000 (10:24 -0500)]
Add support for hierarchical decoding
Luke Kenneth Casson Leighton [Sun, 1 Mar 2020 20:21:54 +0000 (20:21 +0000)]
idea for sub-decoder
Luke Kenneth Casson Leighton [Sun, 1 Mar 2020 15:51:57 +0000 (15:51 +0000)]
sort out hacking of PowerDecoder to suit extra.csv
Luke Kenneth Casson Leighton [Sun, 1 Mar 2020 15:40:02 +0000 (15:40 +0000)]
correction on single bit flags
Luke Kenneth Casson Leighton [Sun, 1 Mar 2020 15:32:38 +0000 (15:32 +0000)]
fix up syntax errors in power_decoder
Luke Kenneth Casson Leighton [Sun, 1 Mar 2020 15:17:47 +0000 (15:17 +0000)]
missing commas
Luke Kenneth Casson Leighton [Sun, 1 Mar 2020 14:26:06 +0000 (14:26 +0000)]
add some basic comments to PowerOp and PowerDecoder classes
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.)
Michael Nolan [Sat, 29 Feb 2020 22:45:02 +0000 (17:45 -0500)]
Add tests for minor_30 and minor_31 decoding tables
Michael Nolan [Sat, 29 Feb 2020 22:26:06 +0000 (17:26 -0500)]
Add default case to decoder
Michael Nolan [Sat, 29 Feb 2020 21:19:06 +0000 (16:19 -0500)]
Add fields from the ones in IBM's Microwatt
Michael Nolan [Sat, 29 Feb 2020 21:07:47 +0000 (16:07 -0500)]
Add decoder/test for minor_19 field
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
Michael Nolan [Sat, 29 Feb 2020 20:46:54 +0000 (15:46 -0500)]
Move enums to a separate file
Michael Nolan [Sat, 29 Feb 2020 20:37:35 +0000 (15:37 -0500)]
Correct cry in field from a single bit to an enum
Michael Nolan [Sat, 29 Feb 2020 20:27:05 +0000 (15:27 -0500)]
Cleanup testbench, add messages to assertions
Michael Nolan [Sat, 29 Feb 2020 20:16:30 +0000 (15:16 -0500)]
Add in remaining fields from major decoder
Michael Nolan [Sat, 29 Feb 2020 20:05:44 +0000 (15:05 -0500)]
Add signals for single bit flags in major.csv
Michael Nolan [Sat, 29 Feb 2020 19:46:57 +0000 (14:46 -0500)]
Add input and output register selector fields
Michael Nolan [Sat, 29 Feb 2020 19:35:02 +0000 (14:35 -0500)]
Minor cleanup
Michael Nolan [Sat, 29 Feb 2020 19:32:18 +0000 (14:32 -0500)]
Move decoder.py to power_major_decoder.py
Michael Nolan [Sat, 29 Feb 2020 19:27:03 +0000 (14:27 -0500)]
Add internal op field to major decoder
Michael Nolan [Sat, 29 Feb 2020 19:23:53 +0000 (14:23 -0500)]
Begin adding power ISA decoder
Tobias Platen [Sat, 25 Jan 2020 12:22:44 +0000 (13:22 +0100)]
convert ram tp modules
Tobias Platen [Fri, 24 Jan 2020 07:41:24 +0000 (08:41 +0100)]
translate slice_top and rab_slice from systemverilog to nmigen