Guest User

Untitled

a guest
Nov 15th, 2019
168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. module fetch(pc_in,instrReg,clk);
  2.     input clk;
  3.     input [31:0] pc_in;
  4.     output reg [31:0] instrReg;
  5.     wire [31:0] addr;
  6.     wire pcOutput;
  7.     wire [31:0] npc;
  8.     reg pcOut;
  9.    
  10.     integer mem[99:0];
  11.     initial begin
  12.         pcOut <=0;
  13.         mem[0] = 32'b00000001000010000100100000100000;
  14.         mem[1] = 32'b00000001000010010101000000100010;
  15.         mem[2] = 32'b00000001010010000101000000100100;
  16.         mem[3] = 32'b00000001001010100101100000100101;
  17.         mem[4] = 32'b00000001011010000110000000101010;
  18.         mem[5] = 32'b10001110000010110000000000000100;
  19.         mem[6] = 32'b10001110000010100000000000001000;
  20.         mem[7] = 32'b10001110000100010000000000000000;
  21.         mem[8] = 32'b10001111110101100000000000000000;
  22.         mem[9] = 32'b10001110000110010000000000001100;
  23.         mem[10] = 32'b10101100101111010000000000000100;
  24.         mem[11] = 32'b10101111000001000000000000000000;
  25.         mem[12] = 32'b10101100011111100000000000000100;
  26.         mem[13] = 32'b10101110000100000000000000001000;
  27.         mem[14] = 32'b10101100100000100000000000001100;
  28.     end
  29.    
  30.        
  31.     //PC
  32.     always@(npc) begin
  33.         pcOut <= npc;
  34.     end
  35.     //PC Increment
  36.     always @(pc_in) begin
  37.         pcOut <= pc_in + 1;
  38.     end
  39.     //Mux
  40.     if (pc_in) begin
  41.         //This is for branching
  42.     end
  43.     else begin
  44.    
  45.     end
  46.     //Accessing memory
  47.     always @(addr) begin
  48.         instrReg <= mem[addr];
  49.     end
  50.    
  51.    
  52.    
  53. endmodule
Advertisement
Add Comment
Please, Sign In to add comment