├── README.md ├── doc ├── Assertion plan ├── Coverage plan ├── Verification plan └── i2c_tb_architecture.pdf ├── sim ├── i2c_compile.f └── questa_sim │ ├── enable_assertions.txt │ └── makefile └── src ├── globals └── i2c_globals_pkg.sv ├── hdl_top ├── hdl_top.sv ├── i2c_interface │ └── i2c_if.sv ├── master_agent_bfm │ ├── i2c_master_agent_bfm.sv │ ├── i2c_master_driver_bfm.sv │ └── i2c_master_monitor_bfm.sv └── slave_agent_bfm │ ├── i2c_slave_agent_bfm.sv │ ├── i2c_slave_driver_bfm.sv │ └── i2c_slave_monitor_bfm.sv └── hvl_top ├── env ├── i2c_env.sv ├── i2c_env_config.sv ├── i2c_env_pkg.sv ├── i2c_scoreboard.sv └── virtual_sequencer │ └── i2c_virtual_sequencer.sv ├── hvl_top.sv ├── master ├── i2c_master_agent.sv ├── i2c_master_agent_config.sv ├── i2c_master_cfg_converter.sv ├── i2c_master_coverage.sv ├── i2c_master_driver_proxy.sv ├── i2c_master_monitor_proxy.sv ├── i2c_master_pkg.sv ├── i2c_master_seq_item_converter.sv ├── i2c_master_sequence.sv ├── i2c_master_sequencer.sv └── i2c_master_tx.sv ├── slave ├── i2c_slave_agent.sv ├── i2c_slave_agent_config.sv ├── i2c_slave_coverage.sv ├── i2c_slave_driver_proxy.sv ├── i2c_slave_monitor_proxy.sv ├── i2c_slave_pkg.sv ├── i2c_slave_sequence.sv ├── i2c_slave_sequencer.sv └── i2c_slave_tx.sv └── test ├── i2c_base_test.sv ├── i2c_test_pkg.sv ├── sequences ├── master_sequences │ ├── i2c_master_base_sequences.sv │ ├── i2c_master_seq_pkg.sv │ └── i2c_write_master_seq.sv └── slave_sequences │ ├── i2c_slave_base_sequences.sv │ └── i2c_slave_seq_pkg.sv └── virtual_sequences ├── i2c_virtual_seq_base.sv ├── i2c_virtual_seq_pkg.sv └── i2c_virtual_sequence.sv /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muneeb-mbytes/i2c_avip/HEAD/README.md -------------------------------------------------------------------------------- /doc/Assertion plan: -------------------------------------------------------------------------------- 1 | https://docs.google.com/spreadsheets/d/1rWKbhxQuCSBzxQ6yar9bScwZnJmXDcuMBMErmDxZQlE/edit?usp=sharing 2 | -------------------------------------------------------------------------------- /doc/Coverage plan: -------------------------------------------------------------------------------- 1 | https://docs.google.com/spreadsheets/d/1TYFmkTjEXFO7GwsOGb-nLa3jyNpz3PwWfiYYBgR9lbk/edit#gid=0 2 | -------------------------------------------------------------------------------- /doc/Verification plan: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muneeb-mbytes/i2c_avip/HEAD/doc/Verification plan -------------------------------------------------------------------------------- /doc/i2c_tb_architecture.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muneeb-mbytes/i2c_avip/HEAD/doc/i2c_tb_architecture.pdf -------------------------------------------------------------------------------- /sim/i2c_compile.f: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muneeb-mbytes/i2c_avip/HEAD/sim/i2c_compile.f -------------------------------------------------------------------------------- /sim/questa_sim/enable_assertions.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muneeb-mbytes/i2c_avip/HEAD/sim/questa_sim/enable_assertions.txt -------------------------------------------------------------------------------- /sim/questa_sim/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muneeb-mbytes/i2c_avip/HEAD/sim/questa_sim/makefile -------------------------------------------------------------------------------- /src/globals/i2c_globals_pkg.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muneeb-mbytes/i2c_avip/HEAD/src/globals/i2c_globals_pkg.sv -------------------------------------------------------------------------------- /src/hdl_top/hdl_top.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muneeb-mbytes/i2c_avip/HEAD/src/hdl_top/hdl_top.sv -------------------------------------------------------------------------------- /src/hdl_top/i2c_interface/i2c_if.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muneeb-mbytes/i2c_avip/HEAD/src/hdl_top/i2c_interface/i2c_if.sv -------------------------------------------------------------------------------- /src/hdl_top/master_agent_bfm/i2c_master_agent_bfm.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muneeb-mbytes/i2c_avip/HEAD/src/hdl_top/master_agent_bfm/i2c_master_agent_bfm.sv -------------------------------------------------------------------------------- /src/hdl_top/master_agent_bfm/i2c_master_driver_bfm.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muneeb-mbytes/i2c_avip/HEAD/src/hdl_top/master_agent_bfm/i2c_master_driver_bfm.sv -------------------------------------------------------------------------------- /src/hdl_top/master_agent_bfm/i2c_master_monitor_bfm.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muneeb-mbytes/i2c_avip/HEAD/src/hdl_top/master_agent_bfm/i2c_master_monitor_bfm.sv -------------------------------------------------------------------------------- /src/hdl_top/slave_agent_bfm/i2c_slave_agent_bfm.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muneeb-mbytes/i2c_avip/HEAD/src/hdl_top/slave_agent_bfm/i2c_slave_agent_bfm.sv -------------------------------------------------------------------------------- /src/hdl_top/slave_agent_bfm/i2c_slave_driver_bfm.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muneeb-mbytes/i2c_avip/HEAD/src/hdl_top/slave_agent_bfm/i2c_slave_driver_bfm.sv -------------------------------------------------------------------------------- /src/hdl_top/slave_agent_bfm/i2c_slave_monitor_bfm.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muneeb-mbytes/i2c_avip/HEAD/src/hdl_top/slave_agent_bfm/i2c_slave_monitor_bfm.sv -------------------------------------------------------------------------------- /src/hvl_top/env/i2c_env.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muneeb-mbytes/i2c_avip/HEAD/src/hvl_top/env/i2c_env.sv -------------------------------------------------------------------------------- /src/hvl_top/env/i2c_env_config.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muneeb-mbytes/i2c_avip/HEAD/src/hvl_top/env/i2c_env_config.sv -------------------------------------------------------------------------------- /src/hvl_top/env/i2c_env_pkg.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muneeb-mbytes/i2c_avip/HEAD/src/hvl_top/env/i2c_env_pkg.sv -------------------------------------------------------------------------------- /src/hvl_top/env/i2c_scoreboard.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muneeb-mbytes/i2c_avip/HEAD/src/hvl_top/env/i2c_scoreboard.sv -------------------------------------------------------------------------------- /src/hvl_top/env/virtual_sequencer/i2c_virtual_sequencer.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muneeb-mbytes/i2c_avip/HEAD/src/hvl_top/env/virtual_sequencer/i2c_virtual_sequencer.sv -------------------------------------------------------------------------------- /src/hvl_top/hvl_top.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muneeb-mbytes/i2c_avip/HEAD/src/hvl_top/hvl_top.sv -------------------------------------------------------------------------------- /src/hvl_top/master/i2c_master_agent.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muneeb-mbytes/i2c_avip/HEAD/src/hvl_top/master/i2c_master_agent.sv -------------------------------------------------------------------------------- /src/hvl_top/master/i2c_master_agent_config.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muneeb-mbytes/i2c_avip/HEAD/src/hvl_top/master/i2c_master_agent_config.sv -------------------------------------------------------------------------------- /src/hvl_top/master/i2c_master_cfg_converter.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muneeb-mbytes/i2c_avip/HEAD/src/hvl_top/master/i2c_master_cfg_converter.sv -------------------------------------------------------------------------------- /src/hvl_top/master/i2c_master_coverage.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muneeb-mbytes/i2c_avip/HEAD/src/hvl_top/master/i2c_master_coverage.sv -------------------------------------------------------------------------------- /src/hvl_top/master/i2c_master_driver_proxy.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muneeb-mbytes/i2c_avip/HEAD/src/hvl_top/master/i2c_master_driver_proxy.sv -------------------------------------------------------------------------------- /src/hvl_top/master/i2c_master_monitor_proxy.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muneeb-mbytes/i2c_avip/HEAD/src/hvl_top/master/i2c_master_monitor_proxy.sv -------------------------------------------------------------------------------- /src/hvl_top/master/i2c_master_pkg.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muneeb-mbytes/i2c_avip/HEAD/src/hvl_top/master/i2c_master_pkg.sv -------------------------------------------------------------------------------- /src/hvl_top/master/i2c_master_seq_item_converter.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muneeb-mbytes/i2c_avip/HEAD/src/hvl_top/master/i2c_master_seq_item_converter.sv -------------------------------------------------------------------------------- /src/hvl_top/master/i2c_master_sequence.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muneeb-mbytes/i2c_avip/HEAD/src/hvl_top/master/i2c_master_sequence.sv -------------------------------------------------------------------------------- /src/hvl_top/master/i2c_master_sequencer.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muneeb-mbytes/i2c_avip/HEAD/src/hvl_top/master/i2c_master_sequencer.sv -------------------------------------------------------------------------------- /src/hvl_top/master/i2c_master_tx.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muneeb-mbytes/i2c_avip/HEAD/src/hvl_top/master/i2c_master_tx.sv -------------------------------------------------------------------------------- /src/hvl_top/slave/i2c_slave_agent.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muneeb-mbytes/i2c_avip/HEAD/src/hvl_top/slave/i2c_slave_agent.sv -------------------------------------------------------------------------------- /src/hvl_top/slave/i2c_slave_agent_config.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muneeb-mbytes/i2c_avip/HEAD/src/hvl_top/slave/i2c_slave_agent_config.sv -------------------------------------------------------------------------------- /src/hvl_top/slave/i2c_slave_coverage.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muneeb-mbytes/i2c_avip/HEAD/src/hvl_top/slave/i2c_slave_coverage.sv -------------------------------------------------------------------------------- /src/hvl_top/slave/i2c_slave_driver_proxy.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muneeb-mbytes/i2c_avip/HEAD/src/hvl_top/slave/i2c_slave_driver_proxy.sv -------------------------------------------------------------------------------- /src/hvl_top/slave/i2c_slave_monitor_proxy.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muneeb-mbytes/i2c_avip/HEAD/src/hvl_top/slave/i2c_slave_monitor_proxy.sv -------------------------------------------------------------------------------- /src/hvl_top/slave/i2c_slave_pkg.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muneeb-mbytes/i2c_avip/HEAD/src/hvl_top/slave/i2c_slave_pkg.sv -------------------------------------------------------------------------------- /src/hvl_top/slave/i2c_slave_sequence.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muneeb-mbytes/i2c_avip/HEAD/src/hvl_top/slave/i2c_slave_sequence.sv -------------------------------------------------------------------------------- /src/hvl_top/slave/i2c_slave_sequencer.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muneeb-mbytes/i2c_avip/HEAD/src/hvl_top/slave/i2c_slave_sequencer.sv -------------------------------------------------------------------------------- /src/hvl_top/slave/i2c_slave_tx.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muneeb-mbytes/i2c_avip/HEAD/src/hvl_top/slave/i2c_slave_tx.sv -------------------------------------------------------------------------------- /src/hvl_top/test/i2c_base_test.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muneeb-mbytes/i2c_avip/HEAD/src/hvl_top/test/i2c_base_test.sv -------------------------------------------------------------------------------- /src/hvl_top/test/i2c_test_pkg.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muneeb-mbytes/i2c_avip/HEAD/src/hvl_top/test/i2c_test_pkg.sv -------------------------------------------------------------------------------- /src/hvl_top/test/sequences/master_sequences/i2c_master_base_sequences.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muneeb-mbytes/i2c_avip/HEAD/src/hvl_top/test/sequences/master_sequences/i2c_master_base_sequences.sv -------------------------------------------------------------------------------- /src/hvl_top/test/sequences/master_sequences/i2c_master_seq_pkg.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muneeb-mbytes/i2c_avip/HEAD/src/hvl_top/test/sequences/master_sequences/i2c_master_seq_pkg.sv -------------------------------------------------------------------------------- /src/hvl_top/test/sequences/master_sequences/i2c_write_master_seq.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muneeb-mbytes/i2c_avip/HEAD/src/hvl_top/test/sequences/master_sequences/i2c_write_master_seq.sv -------------------------------------------------------------------------------- /src/hvl_top/test/sequences/slave_sequences/i2c_slave_base_sequences.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muneeb-mbytes/i2c_avip/HEAD/src/hvl_top/test/sequences/slave_sequences/i2c_slave_base_sequences.sv -------------------------------------------------------------------------------- /src/hvl_top/test/sequences/slave_sequences/i2c_slave_seq_pkg.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muneeb-mbytes/i2c_avip/HEAD/src/hvl_top/test/sequences/slave_sequences/i2c_slave_seq_pkg.sv -------------------------------------------------------------------------------- /src/hvl_top/test/virtual_sequences/i2c_virtual_seq_base.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muneeb-mbytes/i2c_avip/HEAD/src/hvl_top/test/virtual_sequences/i2c_virtual_seq_base.sv -------------------------------------------------------------------------------- /src/hvl_top/test/virtual_sequences/i2c_virtual_seq_pkg.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muneeb-mbytes/i2c_avip/HEAD/src/hvl_top/test/virtual_sequences/i2c_virtual_seq_pkg.sv -------------------------------------------------------------------------------- /src/hvl_top/test/virtual_sequences/i2c_virtual_sequence.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muneeb-mbytes/i2c_avip/HEAD/src/hvl_top/test/virtual_sequences/i2c_virtual_sequence.sv --------------------------------------------------------------------------------