dipto181

Untitled

Apr 30th, 2019
151
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.95 KB | None | 0 0
  1. // Ctrl5
  2. // input
  3. int16_t exS1 = cur.IDEX.s1;
  4. int16_t exS2 = cur.IDEX.s2;
  5. int16_t memRT = cur.EXMEM.rT;
  6. int16_t wbRT = cur.MEMWB.rT;
  7. int16_t endRT = cur.WBEND.rT;
  8.  
  9. // MUXalu1
  10. if(exS1 == memRT && memRT != 0){
  11. ctrl.ctrl5MUXalu1 = cur.EXMEM.aluOutput;
  12. }
  13. else if(exS1 == wbRT && wbRT != 0){
  14. ctrl.ctrl5MUXalu1 = cur.MEMWB.rfWrite;
  15. }
  16. else if(exS1 == endRT && endRT != 0){
  17. ctrl.ctrl5MUXalu1 = cur.WBEND.writeData;
  18. }
  19. else{
  20. ctrl.ctrl5MUXalu1 = cur.IDEX.operand1;
  21. }
  22. alu.src1 = ctrl.ctrl5MUXalu1;
  23.  
  24. // MUXalu2
  25. if(exS2 == memRT && memRT != 0){
  26. ctrl.ctrl5MUXalu2 = cur.EXMEM.aluOutput;
  27. }
  28. else if(exS2 == wbRT && wbRT != 0){
  29. ctrl.ctrl5MUXalu2 = cur.MEMWB.rfWrite;
  30. }
  31. else if(exS2 == endRT && endRT != 0){
  32. ctrl.ctrl5MUXalu2 = cur.WBEND.writeData;
  33. }
  34. else{
  35. ctrl.ctrl5MUXalu2 = cur.IDEX.operand2;
  36. }
Advertisement
Add Comment
Please, Sign In to add comment