打印
[FPGA]

verilog altera 学习双向RAM WR RD操作

[复制链接]
465|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
woshigeshuai|  楼主 | 2021-4-28 00:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 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

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

29

主题

119

帖子

2

粉丝