Explore chapters and articles related to this topic
HardOps: utilising the software development toolchain for hardware design
Published in International Journal of Computer Integrated Manufacturing, 2022
Julian Stirling, Kaspar Bumke, Joel Collins, Vimal Dhokia, Richard Bowman
In the HardOps workflow all design files and documents are version controlled using a DVCS. This work concentrates on Git as the most common DVCS, but note that other systems such as mercurial have similar underlying technology. Git uses SHA-1 cryptographic hashes to uniquely identify files and snapshots of the design (known as commits). Each commit includes a description, an author, a complete snapshot of the files, a timestamp, and the hash of the previous commit. This content is then hashed to create a unique identifier for the commit. As the hash of each commit depends on the hash of the previous commit, this creates a Merkle tree – the same technology that underpins blockchains. The entire Merkle tree is stored on the machine of any design participant. While changes can be synced directly between participants, they are more commonly shared via a server on the DevOps platform.