Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Ctrl5
- // input
- int16_t exS1 = cur.IDEX.s1;
- int16_t exS2 = cur.IDEX.s2;
- int16_t memRT = cur.EXMEM.rT;
- int16_t wbRT = cur.MEMWB.rT;
- int16_t endRT = cur.WBEND.rT;
- // MUXalu1
- if(exS1 == memRT && memRT != 0){
- ctrl.ctrl5MUXalu1 = cur.EXMEM.aluOutput;
- }
- else if(exS1 == wbRT && wbRT != 0){
- ctrl.ctrl5MUXalu1 = cur.MEMWB.rfWrite;
- }
- else if(exS1 == endRT && endRT != 0){
- ctrl.ctrl5MUXalu1 = cur.WBEND.writeData;
- }
- else{
- ctrl.ctrl5MUXalu1 = cur.IDEX.operand1;
- }
- alu.src1 = ctrl.ctrl5MUXalu1;
- // MUXalu2
- if(exS2 == memRT && memRT != 0){
- ctrl.ctrl5MUXalu2 = cur.EXMEM.aluOutput;
- }
- else if(exS2 == wbRT && wbRT != 0){
- ctrl.ctrl5MUXalu2 = cur.MEMWB.rfWrite;
- }
- else if(exS2 == endRT && endRT != 0){
- ctrl.ctrl5MUXalu2 = cur.WBEND.writeData;
- }
- else{
- ctrl.ctrl5MUXalu2 = cur.IDEX.operand2;
- }
Advertisement
Add Comment
Please, Sign In to add comment