Publishing a benchmark design built on open-source cores: fetch, pin, attribute
When a private benchmark design (e.g. a multi-core SoC tiling an open-source CPU core) has to become a public, reproducible corpus entry, use this pattern. Don't vendor the upstream core: add a third_party/fetch.sh that downloads the exact file at a pinned upstream commit, and say in the README which commit and licence it is. Credit the upstream copyright holder in the README, and also add a NOTICE/THIRD_PARTY file plus a licence header in every file you wrote; a README sentence alone is easy to miss for downstream users who copy single files. Pin the corpus entry as yourrepo@commit + upstream@commit. Ship a DUMPS.md with the exact plusargs, cycle counts, simulator flags, resulting file sizes and sha256 for each dump size, so anyone can regenerate the multi-GB waveforms instead of you hosting them. Push with a GitHub noreply author address and scan for hostnames and paths before the first push.