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

Added basic SYSMON interfaces for both UltraScale and UltraScale+ FPG… #145

Closed jhegeman closed 4 years ago

jhegeman commented 4 years ago

NOTE: Four different dep files are available: two each for US and USP, covering the use cases with and without external 1.25 V reference source. (Naming should be self-explanatory.)

The UltraScale+ versions have been tested. The UltraScale versions are creative copy-paste based on Xilinx UG580, but I don't have an UltraScale FPGA to truly test with.

jhegeman commented 4 years ago

Ok, after our email conversation I have updated my branch to reflect the naming convention that IPbus slaves have an 'ipbus_' prefix.

tswilliams commented 4 years ago

Hi,

Thanks for updating the code to match the naming convention discussed over email.

Alessandro and I have taken a look at the changes, and we have a few comments/requests:

Cheers, Tom

jhegeman commented 4 years ago

Hi Tom,

I can do this, indeed. I'm not sure about the comment about the proliferation of example designs, but that's your choice to make. (Personally I prefer minimal examples demonstrating a single feature.)

I'd suggest a different approach though. By now we have collected several related pull requests. How about you merge #145 , #151 , and #152. Then we have all code in the same branch again. I can then update my fork from your master and make the changes, followed by a pull request with all changes in one go. (That would also allow to apply the necessary changes to the sysmon after changing the DRP address width.)

Cheers, Jeroen

tswilliams commented 4 years ago

Hi,

I'd suggest a different approach though. By now we have collected several related pull requests. How about you merge #145 , #151 , and #152. Then we have all code in the same branch again. I can then update my fork from your master and make the changes, followed by a pull request with all changes in one go. (That would also allow to apply the necessary changes to the sysmon after changing the DRP address width.)

I'm not sure I understand the reasoning behind this different approach. In order for a pull request to be merge-able, if missing any of the target branch's recent the pull request's branch needs to be rebased on top the target branch (in this case master), or otherwise have all the target branch's commits merged into them.

As a result, if this pull request is the first of the three to be merged in, then the branch for pull request #152 will need to be rebased on top of the master branch after this pull request has been merged in. So, the branch for pull request #152 would include the changes from this pull request before it is merged. Similarly the pull request for #153 would need to be rebased (and hence include the changes from this pull request and #152) before being merged, meaning that DRP-address-width-related changes for the SYSMON slaves could be included in pull request #153

Cheers, Tom

jhegeman commented 4 years ago

Okay.... I will stick everything together then. But please try to be responsive in merging pull requests. That would avoid a lot of the rebasing, rebuilding, and retesting.

jhegeman commented 4 years ago

Ok, done. Please try this version.

tswilliams commented 4 years ago

Hi Jeroen,

Thanks for updating the code, it's greatly appreciated.

I've added a couple of commits with minor changes (e.g. licence headers comments in VHDL files), and pushed them to this repo. But to be included in this PR they need to be transferred over to your fork, so can you update your branch for this pull request to point to commit c98b3cb8b2b3850fdea7c1e2d2f9966dee58d56b? You can do this as follows:

git remote add github-ipbus https://github.com/ipbus/ipbus-firmware.git
git fetch github-ipbus

# Assuming the 'remote' for your fork of the IPbus repo is named "origin" (if not replace origin in following command with whatever name you used - that name can be found by running "git remote -v")
git push -f origin c98b3cb8b2b3850fdea7c1e2d2f9966dee58d56b:ipbus_issue144

I'll then merge this branch in, and we can move onto the next PR :)

Cheers, Tom

jhegeman commented 4 years ago

Ok, done. I'm not sure what state my work area is in now. It looks rather confused so let's hope the PR works now ;-)

Jeroen

tswilliams commented 4 years ago

run tests, please

tswilliams commented 4 years ago

Hi,

Branch has been merged. Small request: When updating your branch for pull request #152, can you rebase the branch on top of master, rather than using git merge? (Motivation: The commit history is simpler after the rebase.) I.e:

git fetch github-ipbus

git checkout ipbus_issue151
git rebase github-ipbus/master
git push -f origin ipbus_issue151

Cheers, Tom