ipbus / ipbus-firmware

Firmware that implements a reliable high-performance control link for particle physics electronics, based on the IPbus protocol
https://ipbus.web.cern.ch
Other
39 stars 31 forks source link

Suggestion: add basic US and USP sysmon interfaces in ipbus_util #144

Closed jhegeman closed 4 years ago

jhegeman commented 4 years ago

Having basic interfaces for the UltraScale(+) SYSMON IPs can be quite convenient, in my opinion. These can serve as quick-check utilities, or as a starting point for a more in-depth implementation.

jhegeman commented 4 years ago

See pull request #145.

NOTE: The USP versions have been tested, but the US versions remain creative copy-paste since I don't have an US FPGA to test with.

alessandrothea commented 4 years ago

Hi Jeroen, Thanks for the ticket/PR. Very interesting addition! In order to better evaluate the PR code it would be good to have

@tswilliams anything else that comes to your mind?

jhegeman commented 4 years ago

Ok, I had a look at a few boards that I can get my hands on.

tswilliams commented 4 years ago

Hi,

So far, I've only thought of one minor thing beyond what Alessandro mentioned above: For test purposes - both (semi-)automated test suites and as a reassuring sanity check in interactive tests - it would be nice if we could expose in the address table some sysmon register for which we know what the exact value should be (e.g. a register with a fixed value for a particular device). However, after looking through for UG580, I haven't found any enticing candidates for such a register yet.

Cheers, Tom

jhegeman commented 4 years ago

Myeah... The best you can probably do, as far as I can see, is read the voltage measurements (and convert them to real values) and compare those to what you know they should be. But also these differ from family to family, so I'd say this would be closer to testing the hardware is powered up correctly than to checking the firmware.

jhegeman commented 4 years ago

Ok, so please have a look at https://github.com/ipbus/ipbus-firmware/pull/145 again. I have added (tested!) example SysMon designs for the KC705 and the VCU118, with little Python demo scripts and even a bit of documentation.

The easiest way to check out what this contains is by having a look at the documentation in my fork: https://github.com/jhegeman/ipbus-firmware/blob/ipbus_issue144/projects/example/scripts/README

jhegeman commented 4 years ago

This was addressed in PR #145.