Quartus II 的单端口RAM IP核模块
一、创建 单端口RAM IP核
二、模块编写
顶层模块:
-
module ram_1port_ip(
-
input sys_clk,
-
input sys_rst_n
-
);
-
-
wire ram_r_en;
-
wire ram_w_en;
-
wire [7:0]ram_w_data;
-
wire [4:0]ram_add;
-
wire [7:0]ram_r_data;
-
-
ram_rw u0(
-
sys_clk,
-
sys_rst_n,
-
ram_r_en,
-
ram_w_en,
-
ram_w_data,
-
ram_add,
-
ram_r_data
-
);
-
-
ram_1port u1 (
-
.address ( ram_add ),
-
.clock ( sys_clk ),
-
.data ( ram_w_data ),
-
.rden ( ram_r_en ),
-
.wren ( ram_w_en ),
-
.q ( ram_r_data )
-
);
-
-
endmodule
读写模块:
-
module ram_rw(
-
input sys_clk,
-
input sys_rst_n,
-
output ram_r_en,
-
output ram_w_en,
-
output reg [7:0]ram_w_data,
-
output reg [4:0]ram_add,
-
input [7:0]ram_r_data
-
);
-
-
reg [5:0] ram_cnt;
-
-
// 读写使能
-
assign ram_r_en = (ram_cnt >= 6'd32) ? 1'b1 : 1'b0;
-
assign ram_w_en = ((ram_cnt <= 6'd31) && sys_rst_n) ? 1'b1 : 1'b0;
-
-
-
// ram读写切换 计数器
-
always @(posedge sys_clk or negedge sys_rst_n) begin
-
if (!sys_rst_n)
-
ram_cnt <= 6'd0;
-
else if(ram_cnt == 6'd63)
-
ram_cnt <= 6'd0;
-
else
-
ram_cnt <= ram_cnt 6'd1;
-
end
-
-
// 写入数据
-
always @(posedge sys_clk or negedge sys_rst_n) begin
-
if (!sys_rst_n)
-
ram_w_data <= 8'd0;
-
else if(ram_cnt >= 6'd31)
-
ram_w_data <= 8'd0;
-
else
-
ram_w_data <= ram_w_data 8'd1;
-
end
-
-
// 地址
-
always @(posedge sys_clk or negedge sys_rst_n) begin
-
if (!sys_rst_n)
-
ram_add <= 5'd0;
-
else if(ram_add == 5'd31)
-
ram_add <= 5'd0;
-
else
-
ram_add <= ram_add 5'd1;
-
end
-
-
endmodule
-
-
三、基于Modelsim仿真
-
`timescale 1ns/1ps
-
-
module ram1port_ip_tb();
-
-
reg sys_clk;
-
reg sys_rst;
-
-
-
initial begin
-
sys_clk = 1'b0;
-
sys_rst = 1'b0;
-
# 20 sys_rst = 1'b1;
-
end
-
-
always #10 sys_clk = ~sys_clk;
-
-
ram_1port_ip a1(
-
sys_clk,
-
sys_rst
-
);
-
endmodule
时序分析:
1) 写入
2) 读出
三、基于Singal Tap 上板时序验证
1) 写入
2) 读出
3) 通过JTAG抓取FPGA中RAM的实际数据
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgcbgkk
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01