Application of Z in digital hardware design

The Z specification language is gaining wide acceptance in both academia and industry as a software development tool. Although there is now a large body of experience in using Z for software development, it is clear that the application areas of Z need not be limited to software alone. Formal design strategies could prove very beneficial in the design of hardware systems, particularly in the areas of requirements analysis and specification at an abstract level. The paper presents an experiment in using Z in the development of a hardware system, giving part of the specification as example and showing how it was used to verify certain aspects of the hardware's behaviour. The refinement process from the abstract specification statements into realised hardware and programmable logic are also shown, concluding with a discussion of the merits of an abstract specification using Z in the context of hardware design.