Data hazard classification
RAW - Read After Write. Most common: solved by data forwarding.
WAW - Write After Write : Inst i (load) before inst j (add). Both write to same register. But inst i does it before inst j. DLX avoids this by waiting for WB to write to registers. So no WAW hazard in DLX.
WAR - Write after Read: inst j tries to write a destination before it is read by I, so I incorrectly gets its value. This cannot happen in DLX since all inst read early (ID) but write late (WB). But WAW happens in complex instruction sets that have auto-increment mode and require operands to be read late cycle experience WAW.