verilog如何实现片选ram
时间:10-02
整理:3721RD
点击:
有多片ram,如何根据地址选其中一片译码器:
module choose(in,cs);
input [2:0] in;
output reg [5:0] cs;
always @(in)
begin
case(in)
3'b000:cs=6'b000001;
3'b001:cs=6'b000010;
3'b010:cs=6'b000100;
.....
endcase
endmodule //译码器模块
在顶层模块调用这个模块
choose m_0(.in(address[9:7]),.cs(cs));
其中一块ram
RAM m_3(.clk(clk),.addr(address[6:0]),.data_in(data_in),.data_out(dataout[2]),.cs(cs[2]),.wr(wr));
为什么无法实现片选
module choose(in,cs);
input [2:0] in;
output reg [5:0] cs;
always @(in)
begin
case(in)
3'b000:cs=6'b000001;
3'b001:cs=6'b000010;
3'b010:cs=6'b000100;
.....
endcase
endmodule //译码器模块
在顶层模块调用这个模块
choose m_0(.in(address[9:7]),.cs(cs));
其中一块ram
RAM m_3(.clk(clk),.addr(address[6:0]),.data_in(data_in),.data_out(dataout[2]),.cs(cs[2]),.wr(wr));
为什么无法实现片选