IP Verification of I2C master using the I3C VIP
- It supports a two-wire serial interface.
- Multi-master operation
- Programmable clock frequency
- Interrupt or bit-polling-driven byte-by-byte data transfer
- Start, Stop, repeated Start, Acknowledge generation
- Bus busy detection
- Legacy I2C Device coexistence on the same bus
- Support 7-bit Addressing mode
We believe in growing together and if you'd like to contribute, please do check out the contributing guide below:
https://github.com/mbits-mirafra/pulpino__i2c_master__ip_verification/blob/main/contribution_guidelines.md
# Checking for git software, open the terminal type the command
git version
# Get the VIP collateral
git clone git@github.com:mbits-mirafra/pulpino__i2c_master__ip_verification.git
cd pulpino__i2c_master__ip_verification/sim/questasim
# Compilation:
make compile
# Simulation:
make simulate test=<test_name> uvm_verbosity=<VERBOSITY_LEVEL>
ex: make simulate test=pulpino_i2c_master_ip_basic_write_test uvm_verbosity=UVM_HIGH
# Note: You can find all the test case names in the path given below
pulpino__i2c_master__ip_verification/src/hvl_top/testlists/pulpino_i2c_master_ip_verification_regression.list
# Wavefrom:
vsim -view <test_name>/waveform.wlf &
ex: vsim -view pulpino_i2c_master_ip_basic_write_test/waveform.wlf &
# Regression:
make regression testlist_name=<regression_testlist_name.list>
ex: make regression testlist_name=pulpino_i2c_master_ip_verification_regression.list
# Coverage:
## Individual test:
firefox <test_name>/html_cov_report/index.html &
ex: firefox pulpino_i2c_master_ip_basic_write_test/html_cov_report/index.html &
## Regression:
firefox merged_cov_html_report/index.html &
cd pulpino__i2c_master__ip_verification/sim/cadence_sim
# Compilation:
make compile
# Simulation:
make simulate test=<test_name> uvm_verbosity=<VERBOSITY_LEVEL>
make simulate test=pulpino_i2c_master_ip_basic_write_test uvm_verbosity=UVM_HIGH
# Note: You can find all the test case names in the path given below
pulpino__i2c_master__ip_verification/src/hvl_top/testlists/pulpino_i2c_master_ip_verification_regression.list
# Wavefrom:
simvision waves.shm/ &
# Regression:
make regression testlist_name=<regression_testlist_name.list>
ex: make regression testlist_name=pulpino_i2c_master_ip_verification_regression.list
# Coverage:
imc -load cov_work/scope/test/ &
https://docs.google.com/document/d/1ZiSF0E3bq1fM0sJDv_D75oV2MdA1mgEU1q4QouveBSE/
Follow the below link for I3C_AVIP Project
https://github.com/mbits-mirafra/i3c_avip/tree/production
You can reach out to us over mbits@mirafra.com
For more information regarding Mirafra Technologies please do checkout our officail website:
https://mirafra.com/