本帖最后由 woshigeshuai 于 2021-4-28 00:54 编辑
module FIFO(WR,RD,addr,bus_in,led_out);
//output [7:0] dout;
inout [7:0] bus_in; // 8位数据总线
input WR; // 时钟信号
input RD; // 时钟信号
//input rst; // 清0 偏移量,从0需要存入数组
input addr;
//reg [7:0] data_reg;
output [7:0] led_out; // 输出数据到单片机
//input clk_out; // 输出信号到单片机
reg [7:0] ram [64:0]; // 8位数组 最大64个字节
reg [3:0] read_ptr,write_ptr; // 数组偏移量
always @(posedge WR) // WR RD 信号
if(WR)
begin
ram[0]<=bus_in; // 8位数据保存
//write_ptr<=(write_ptr==15)?0:write_ptr+1; // 判断偏移量 偏移量加1
//read_ptr<=0;
end
assign led_out[3:0]=ram[0][3:0];
//assign bus_in= RD ? ram[0]:8'hzz; // RD=0,说明总线 出数据,把data_reg送去总线,否则高阻态
assign bus_in= (RD==0) ? ram[0]:8'hzz; //
//assign bus_in=(WR==0)?ram[read_prt]:8'hzz;
endmodule
|