Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deterministic/reproducible builds #67

Open
walling opened this issue May 10, 2022 · 2 comments
Open

Deterministic/reproducible builds #67

walling opened this issue May 10, 2022 · 2 comments

Comments

@walling
Copy link

walling commented May 10, 2022

I'm new to FPGA development, so forgive me if this idea is unattainable.

Would it be possible to have a FPGA build pipeline that produces deterministic/reproducible builds, i.e. the exact same bitstream for a given Verilog input? This would enable security features, like checking that you deploy the right bitstream and traceability (bitstream hash can be mapped to source).

I guess the question really is whether non-determinism can be removed from all subsystems (synthesis, place & route, etc.) involved in the build process and what the impacts are (performance, resource usage, compile time, etc.).

@QuantamHD
Copy link

Yes, this should be possible. We have reproducible builds in the ASIC space via https://github.com/hdl/bazel_rules_hdl

We would love to add FPGA support to the repo.

@walling
Copy link
Author

walling commented May 12, 2022

@QuantamHD That's interesting. Is it the bazel ruleset that forces the determinism or is it already supported by the individual tools (yosys, nextpnr, etc.)?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants