Advertisement
Guest User

Untitled

a guest
Sep 15th, 2019
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.11 KB | None | 0 0
  1. /*
  2. * Do not change Module name
  3. */
  4. module main;
  5. integer input_list [9:0];
  6. integer initialized_instructions [9:0];
  7. integer initialized_memory [99:0];
  8. integer i, k;
  9. integer instruction_counter;
  10. integer inp_idx;
  11. integer curr_input, curr_output;
  12. integer output_flag;
  13. integer instruction, instruction_reg, address_reg;
  14. integer accumulator;
  15.  
  16.  
  17. initial
  18. begin
  19.  
  20. $display("--- Beginning of Program ---");
  21.  
  22. //filling input list with values
  23. input_list[0] = 9;
  24. input_list[1] = 5;
  25. input_list[2] = 7;
  26. input_list[3] = 12;
  27. input_list[4] = 13;
  28. input_list[5] = 72;
  29. input_list[6] = 24;
  30. input_list[7] = 39;
  31. input_list[8] = 51;
  32. input_list[9] = 20;
  33.  
  34. //filling instruction list with values
  35. initialized_instructions[0] = 901;
  36. initialized_instructions[1] = 399;
  37. initialized_instructions[2] = 607;
  38. initialized_instructions[3] = 299;
  39. initialized_instructions[4] = 708;
  40. initialized_instructions[5] = 901;
  41. initialized_instructions[6] = 809;
  42. initialized_instructions[7] = 603;
  43. initialized_instructions[8] = 605;
  44. initialized_instructions[9] = 0;
  45.  
  46. //filling memory list with zeroes
  47. for(i = 0; i < 100; i = i+1) begin
  48.  
  49. initialized_memory[i] = 0;
  50. end
  51.  
  52. initialized_memory[0] = 901;
  53. initialized_memory[1] = 399;
  54. initialized_memory[2] = 607;
  55. initialized_memory[3] = 299;
  56. initialized_memory[4] = 708;
  57. initialized_memory[5] = 901;
  58. initialized_memory[6] = 809;
  59. initialized_memory[7] = 603;
  60. initialized_memory[8] = 605;
  61. initialized_memory[9] = 0;
  62.  
  63.  
  64.  
  65. $write("Initialized Input List: ");
  66. for(i = 0; i < 10; i = i + 1) begin
  67.  
  68. $write("%d ",input_list[i]);
  69. end
  70.  
  71. $display("\n");
  72.  
  73. $write("Initialized Instruction List: ");
  74. for(i = 0; i < 10; i = i + 1) begin
  75.  
  76. $write("%d ",initialized_instructions[i]);
  77. end
  78.  
  79. $display("\nInitialized Memory:");
  80.  
  81. for(i = 0; i < 10; i = i + 1) begin
  82. for (k = 0; k < 10; k = k + 1) begin
  83. $write("%d ", initialized_memory[(10*i)+k]);
  84. end
  85. $display("\n");
  86. end
  87.  
  88.  
  89. instruction_counter = 0;
  90. output_flag = 0;
  91. inp_idx = 0;
  92.  
  93. while(instruction_counter < 10) begin
  94.  
  95. instruction = initialized_instructions[instruction_counter];
  96. instruction_reg = instruction / 100;
  97. address_reg = instruction % 100;
  98.  
  99. //INP
  100. if ((instruction_reg == 9) && (address_reg == 01)) begin
  101. accumulator = input_list[inp_idx];
  102. curr_input = accumulator;
  103. inp_idx = inp_idx + 1;
  104. end
  105.  
  106. //OUT
  107. else if ((instruction_reg == 9) && (address_reg == 02)) begin
  108. output_flag = 1;
  109. curr_output = accumulator;
  110. end
  111.  
  112. //STA
  113. else if (instruction_reg == 3) begin
  114. initialized_memory[address_reg] = accumulator;
  115. end
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125. instruction_counter = instruction_counter + 1;
  126.  
  127. end
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  
  140.  
  141.  
  142.  
  143.  
  144.  
  145. end
  146. endmodule
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement