Restructured register system
[Mograsim.git] / plugins / net.mograsim.machine / src / net / mograsim / machine / registers / Register.java
1 package net.mograsim.machine.registers;
2
3 import net.mograsim.machine.Identifiable;
4
5 /**
6  * A register in a machine is defined by this interface. A hardware register may have {@link Register#names() named sub-registers}.
7  *
8  *
9  * @author Christian Femers
10  *
11  */
12 public interface Register extends Identifiable
13 {
14         /**
15          * Returns the complete width in bits of the underlying hardware structure the register and possible sub-registers are part of.
16          * 
17          * @param name the name of the register
18          * @return the width of the (sub-)register in bits.
19          * 
20          * @see #names()
21          * @author Christian Femers
22          */
23         int getWidth();
24 }