Design works on FPGA!! IMEM is loaded with echo.c. Added chipscope for debugging. Fixed following problems: 1, PCSrcX was not correct initially. PCSrcX should be determined by both rst and BranchCtrl. Added rst to control PCSrcX. BranchCtrl was set to 3'bxxx for non-branch instructions. This is wrong because 3'bxxx can be anything (i.e. 000) and causes PCSrcX = 1. Fixed BranchCtrl by setting it to 3'b111. 2, InstrX was not 32'h00000000 but 'beqz' during reset and casue PCSrcX = 1. Fixed it by reset InstrX to 32'h00000000 in I-X stage pipeline. It is safe to reset all registers, put them to a known state.