Advertisement
tekkundahsi

Untitled

May 7th, 2019
165
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.64 KB | None | 0 0
  1. module ram128x16(
  2. input [6:0] adrs,
  3. inout [15:0] data,
  4. input _ce, _we, _oe
  5.  
  6. );
  7. reg [3:0] _cee;
  8.  
  9. ram64x8 u1(adrs[5:0], data[15:8], _cee[0], _we, _oe);
  10. ram64x8 u2(adrs[5:0], data[7:0], _cee[1], _we, _oe);
  11. ram64x8 u3(adrs[5:0], data[15:8], _cee[2], _we, _oe);
  12. ram64x8 u4(adrs[5:0], data[7:0], _cee[3], _we, _oe);
  13. //1 - to - 2 decode
  14. always @ (*)
  15. begin
  16. if(_ce == 0)
  17. case(adrs[6])
  18. 0: _cee = 4'b0011;
  19. 1: _cee = 4'b1100;
  20. default: _cee = 4'hf;
  21. endcase
  22. else
  23. _cee = 4'hf;
  24. end
  25. endmodule
  26.  
  27. module ram64x8(
  28. input [5:0] adrs,
  29. inout [7:0] data,
  30. input _ce, _we, _oe
  31. );
  32. reg [3:0] _cee;
  33. ram16x8 u1(adrs[3:0], data, _cee[0], _we, _oe);
  34. ram16x8 u2(adrs[3:0], data, _cee[1], _we, _oe);
  35. ram16x8 u3(adrs[3:0], data, _cee[2], _we, _oe);
  36. ram16x8 u4(adrs[3:0], data, _cee[3], _we, _oe);
  37. //2 - to - 4 decode
  38. always @ (*)
  39. begin
  40. if(_ce == 0)
  41. case(adrs[5:4])
  42. 0: _cee = 4'b1110;
  43. 1: _cee = 4'b1101;
  44. 2: _cee = 4'b1011;
  45. 3: _cee = 4'b0111;
  46. default: _cee = 4'hf;
  47. endcase
  48. else
  49. _cee = 4'hf;
  50. end
  51. endmodule
  52.  
  53. module ram16x8(
  54. input [3:0] adrs,
  55. inout [7:0] data,
  56. input _ce, _we, _oe
  57. );
  58.  
  59. ram16x4 u1(adrs, data[7:4], data[7:4], _ce, _we, _oe);
  60. ram16x4 u2(adrs, data[3:0], data[3:0], _ce, _we, _oe);
  61.  
  62. endmodule
  63.  
  64. module ram16x4(
  65. input [3:0] adrs,
  66. input [3:0] dataIn,
  67. output [3:0] dataOut,
  68. input _ce, _we, _oe
  69. );
  70. reg [3:0] mem[0:15]; // 16 X 4 ram
  71. assign dataOut = ~_ce & _we & ~_oe ? mem[adrs]:4'hz;
  72. always@(*)
  73. begin
  74. if(_ce==0)
  75. if(_we == 0 && _oe ==1)
  76. mem[adrs] = dataIn;
  77. end
  78. endmodule
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement