Everything posted by ssmith
Thanks again for your time and expertise with this. The other side of this problem, is as follows. If I have multiple I2C slave-devices, one per agent, connected to the shared I2C bus. How can I know which device pulled down the SDA line when addressed? I would like to configure each agent with the actual name of the pin driving SDA, and have the scoreboard access this pin name and check it via the interface (where all pins will be declared for all slave-devices)? Can this be done with the configuration database in some way?
Thanks Tudor - I think your approach will work for contiguous address-spaces, but if I needed to have a subset of addresses, that are not contiguous - how could I best access them from within the agents?
Hi All, I am learning UVM at the moment and I am working on an I2C slave monitor. I want to put multiple I2C slaves on a bus, each slave will have a dedicated agent. One of these agents will be active - driving transactions to the across the interface. Each slave should access the bus by driving SDA at any one time. I wish to put a monitor on the SDA line, such that any time it is driven by a slave (not the master) - a check that the slave was previously addressed can be performed. Part of this check requires information on pins from the DUT (SDA_out, slave_address[x:y]). How can I