Sr. No.
|
Name of the Pin
|
Direction
|
Width
|
Description
|
1
|
address
|
Input
|
4
|
Input address
i.e. address bus
|
2
|
out_en
|
input
|
1
|
output enable
|
3
|
rd_en
|
Input
|
1
|
If 1 read from memory
|
4
|
wr_en
|
Input
|
1
|
If 1 write in to memory
|
5
|
data
|
Input/Output
|
4
|
Output read/write from/to memory
i.e. bidirectional data bus
|
module memory_16x4_bi(data, clk, out_en, address, rd_en, wr_en ); inout [0:3] data; input clk; input out_en; input rd_en, wr_en; input [0:3] address; reg [0:3] memory [0:15]; reg [0:3] data_out; assign data = out_en ? data_out : 4'bZ; always@(posedge clk) begin if(rd_en) data_out = memory[address]; else if (wr_en) memory[address] = data; else data_out = 4'bx; end endmodule
No comments:
Post a Comment