Advertisement
Guest User

Untitled

a guest
Jun 24th, 2017
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. module REGS(bufferIn,IR,MAR,MDR,MAR_in,MDR_in,MDR_out,IR_in,reg0_in,reg1_in,reg2_in,reg3_in,reg0_out,reg1_out,reg2_out,reg3_out,out);
  2.  
  3. input wire [15:0] bufferIn;
  4. output reg [15:0] out;
  5. // Input buffer and output for buffer
  6.  
  7. reg [15:0]
  8. reg [15:0]
  9. reg [15:0]
  10. reg [15:0]
  11. // Declare
  12.  
  13. reg0 = 0;
  14. reg1 = 0;
  15. reg2 = 0;
  16. reg3 = 0;
  17. registers
  18.  
  19. output reg [15:0] MAR = 0;
  20. output reg [15:0] MDR = 0;
  21. output reg [15:0] IR = 0;
  22. // Registers for MDR and MAR
  23.  
  24. input wire MAR_in,MDR_in,MDR_out,IR_in,reg0_in,reg1_in,reg2_in,reg3_in,reg0_out,reg1_out,reg2_out,reg3_out;
  25. // input control wires
  26.  
  27. /* IR */
  28. always @(posedge IR_in)
  29. IR = bufferIn;
  30. // buffer for setting input
  31.  
  32. /* MAR */
  33. always @(posedge MAR_in)
  34. MAR = bufferIn;
  35. // buffer for setting input
  36.  
  37. /* MDR */
  38. always @(posedge MDR_in)
  39. MDR = bufferIn;
  40. // buffer for setting input
  41.  
  42. always @(MDR_out)
  43. assign out = MDR_out?MDR:16'bz;
  44. // Tri-State buffer for sending output when output is enabled or else 16'bz
  45.  
  46. /* REGISTERS */
  47. //reg0
  48. always @(posedge reg0_in)
  49. reg0 = bufferIn;
  50.  
  51. always @(reg0_out)
  52. assign out = reg0_out?reg0:16'bz;
  53.  
  54. //reg1
  55. always @(posedge reg1_in)
  56. reg1 = bufferIn;
  57.  
  58. always @(reg1_out)
  59. assign out = reg1_out?reg1:16'bz;
  60.  
  61. //reg2
  62. always @(posedge reg2_in)
  63. reg2 = bufferIn;
  64.  
  65. always @(reg2_out)
  66. assign out = reg2_out?reg2:16'bz;
  67.  
  68. //reg3
  69. always @(posedge reg3_in)
  70. reg3 = bufferIn;
  71.  
  72. always @(reg3_out)
  73. assign out = reg3_out?reg3:16'bz;
  74.  
  75. endmodule
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement