@stblue
I think there is nothing like only adjacent instructions will have RAW dependency.
Because if Inst i writes r0, and this r0 is read by i+1, then it creates RAW hazard because Inst(i+1) reads before inst(i) writes it, and other subsequent inst (i+2) also needs to read data item r0, then it will also doing the same thing as like inst i+1, i.e. it is reading old value of r0 not MODIFIED VALUE.
And this will continue till Inst i completely writes the r0 into the register file,
When Inst i successfully writes the data item i, and then other inst after inst i say inst j read the modified value of r0 written by inst i, which is actually we want,
REF:- https://courses.cs.washington.edu/courses/cse378/09au/lectures/cse378au09-15.pdf
