| 
					
	
	
	
	
				 | 
				
					
	
	 
		Apologies if this has already been mentioned, the comment for PC.hdl states:
 /**
  * A 16-bit counter with increment, load, and reset modes.
  * if      (inc(t))   out(t+1) = out(t) + 1
  * else if (load(t))  out(t+1) = in(t)
  * else if (reset(t)) out(t+1) = 0
  * else               out(t+1) = out(t)
  *
  * To select a mode, assert the relevant control bit,
  * and de-assert the other two bits. 
  */
 which implies that inc overrides load, which overrides reset. In the test script, the expected behavior is actually
 /**
  * A 16-bit counter with increment, load, and reset modes.
  * if      (reset(t))   out(t+1) = out(t) + 1
  * else if (load(t))  out(t+1) = in(t)
  * else if (inc(t)) out(t+1) = 0
  * else               out(t+1) = out(t)
  *
  * To select a mode, assert the relevant control bit,
  * and de-assert the other two bits. 
  */
 That is, reset overrides load, which overrides inc 
	
	
	
	 
				 |