278 A Risc-V Instruction memory i2c programmer

278 : A Risc-V Instruction memory i2c programmer

  • Author: Pablo Alonso
  • Description: This proyect implements an i2c port capable of programing memory of a RISC-V processor
  • GitHub repository
  • GDS submitted
  • HDL project
  • Extra docs
  • Clock: 0 Hz
  • External hardware:

How it works

The i2c port is capable of handle 4 registers:

  • register 0: Set the instruction memory to read/write
  • register 1: It loads the value of the instruction memory setted in register 0
  • register 2: the desired value to be loaded to instruction memory setted in register 0
  • register 3: Not used, yet read and write to it is possible.

How to test

Connect any controller with an i2c master port and next is how to read, or write the memory:

  • To Read: MASTER: Start + device_addr [0x55] (7-bits) + master ACK + address_to_read + ACK | | STOP SLAVE: | 8bit_data_from_memory + ACK |

IO

# Input Output Bidirectional
0 ext_sda_in ext_sda_out none
1 ext_scl_in ext_scl_out none
2 ext_i2c_rst none none
3 i2c_cs none none
4 pc_src none none
5 none none none
6 none none none
7 sda_oe none none