Export fusesoc-compatible release artifacts of iob_cache#322
Export fusesoc-compatible release artifacts of iob_cache#322jjts merged 2 commits intoIObundle:mainfrom
Conversation
There was a problem hiding this comment.
Pull Request Overview
This PR updates the build process to generate FuseSoC-compatible release artifacts and updates the py2hwsw dependency to a newer commit.
- Updated py2hwsw dependency to commit
9ffb1d0fe9dc4585a747744d31924855ce9c9349with corresponding SHA256 hash - Introduced new
fusesoc-exporttarget and refactored therelease-artifactstarget to create FuseSoC-compatible pre-built cores - Enhanced documentation to clarify that the pre-built versions are FuseSoC-compatible and provided instructions on how to use them
Reviewed Changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| default.nix | Updates py2hwsw commit and SHA256 hash to a newer version |
| Makefile | Adds fusesoc-export target, updates release-artifacts to use FuseSoC export, and modifies clean target to remove fusesoc_exports directory |
| README.md | Clarifies that pre-built versions are FuseSoC-compatible, updates path to Verilog sources, and adds instructions for using cores in FuseSoC |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| nix-shell --run "make clean setup BE_IF=IOb" | ||
| tar -czf $(CORE)_iob_V$(VERSION).tar.gz ../$(CORE)_iob_V$(VERSION) | ||
| make fusesoc-export BE_IF=AXI4 | ||
| tar -czf $(CORE)_axi_V$(VERSION).tar.gz ./fusesoc_exports/* |
There was a problem hiding this comment.
The tar command creates archives containing all files from the previous export. After line 85, the fusesoc_exports directory is not cleaned before the second export at line 86, which means the IOb archive will contain both AXI4 and IOb exports. Add a make clean or rm -rf fusesoc_exports between the two exports to ensure each archive contains only the correct interface files.
| tar -czf $(CORE)_axi_V$(VERSION).tar.gz ./fusesoc_exports/* | |
| tar -czf $(CORE)_axi_V$(VERSION).tar.gz ./fusesoc_exports/* | |
| @rm -rf fusesoc_exports |
There was a problem hiding this comment.
The fusesoc-export target automatically calls clean: https://github.com/IObundle/iob-cache/pull/322/files/0a53fce0fb8bab5364d8ef42c420dfaedbbfed7b#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52R76
There is no need to manually remove the fusesoc_exports folder.
Update release-artifacts Makefile target to export pre-built iob_cache cores compatible with fusesoc.
Update README with info about these pre-built cores: https://github.com/arturum1/iob-cache?tab=readme-ov-file#pre-built-files