
70 CHAPTER 4 nML
One enumeration type with the predefined name stage_names is used to define
the names of the pipeline stages of the processor:
enum stage_names { IF, ID, EX1, EX2 };
4.3.5 Functional Units
Functional units can be declared in nML, using the keyword fu, to group primitive
operations that are physically executed on the same hardware unit. For example:
fu alu; // arithmetic logic unit (ALU)
fu mult; // multiplier
Since all hardware conflicts are modeled as access conflicts on transitories,
functional units are optional. If present, they are used to assign operations to
modules for hardware generation.The syntax to do this is explained in Section ...