Modules

Modules are the basic building block of Virdant. Each Virdant project consists of a number of module definitions.

Modules are the unit of abstraction. They provide encapsulation, so that the design can be reasoned about locally. They provide reusability, allowing a block of hardware to be stamped out multiple times. And they allow you to design your hardware in a heirarchical fashion.

Let’s see how modules work in Virdant.