hdl
hdl copied to clipboard
Add I3C Controller IP + Doc
PR Description
Adds a I3C Controller with the required by specification features. The interface and instruction set are explained at docs/library/i3c_controller/interface. The specification can be downloaded at mipi i3c basic.
Note: Our guideline checker doesn't allow verilog files without modules, however, I created header verilog files to define values used across multiple files and the testbench. Those files are:
./library/i3c_controller/i3c_controller_host_interface/i3c_controller_regmap_defs.v
./library/i3c_controller/i3c_controller_core/i3c_controller_word_cmd.v
./library/i3c_controller/i3c_controller_core/i3c_controller_bit_mod_cmd.v
PR Type
- [ ] Bug fix (change that fixes an issue)
- [X] New feature (change that adds new functionality)
- [ ] Breaking change (has dependencies in other repos or will cause CI to fail)
PR Checklist
- [X] I have followed the code style guidelines
- [X] I have performed a self-review of changes
- [ ] I have compiled all hdl projects and libraries affected by this PR
- [X] I have tested in hardware affected projects, at least on relevant boards
- [X] I have commented my code, at least hard-to-understand parts
- [X] I have signed off all commits from this PR
- [X] I have updated the documentation (wiki pages, ReadMe files, Copyright etc)
- [X] I have not introduced new Warnings/Critical Warnings on compilation
- [ ] I have added new hdl testbenches or updated existing ones