Advertisement
Guest User

Untitled

a guest
May 1st, 2019
202
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.76 KB | None | 0 0
  1. //instantiation:
  2.  
  3. simple_mem #(
  4. .WORDS(CACHE_SETS),
  5. .WIDTH(3),
  6. .INITIAL_FILL('b110)
  7. ) flagdata (
  8. .clk(clk),
  9. .wen(flag_wen),
  10. .addr(`SET_FROM_ADDR(addr)),
  11. .wdata(flag_wdata),
  12. .rdata(flag_rdata)
  13. );
  14.  
  15. //model:
  16. module simple_mem #(
  17. parameter integer WORDS = 256,
  18. parameter integer WIDTH = 8,
  19. parameter [WORDS-1:0] INITIAL_FILL = 0
  20. ) (
  21. input clk,
  22. input wen,
  23. input [$clog2(WORDS)-1:0] addr,
  24. input [WIDTH-1:0] wdata,
  25. output [WIDTH-1:0] rdata
  26. );
  27. reg [WIDTH:0] mem [0:WORDS-1];
  28.  
  29. integer i;
  30. initial begin
  31. for (i=0; i<WORDS; i++) mem[i]=INITIAL_FILL;
  32. end
  33.  
  34. assign rdata = mem[addr];
  35. always @(posedge clk) begin
  36. if (wen) mem[addr] <= wdata;
  37. end
  38. endmodule
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement