AHB总线RAM Verilog实例
//##################################################################################################
// Project : AMBA AHB RAM
// Author : Lyu Yang
// Date : 2020-05-10
// Description : AHB RAM
//##################################################################################################
module ahb_ram (
input wire hclk ,
input wire hreset_n ,
input wire hsel ,
input wire [:] htrans ,
input wire hwrite ,
input wire [:] hsize ,
input wire [:] haddr ,
input wire [:] hwdata ,
input wire hready_in ,
output reg [:] hrdata ,
output hready_out ,
output wire [:] hresp
); localparam MEM_SIZE = ; wire hbus_ena;
reg hbus_ena_d;
reg [:] mem_wstrb;
reg [:] mem [:MEM_SIZE-]; // Memory Init
initial $readmemh("../../frw/app_test.txt", mem); // AHB response always OKAY
assign hresp = 'h0;
assign hready_out = 'b1;
assign hbus_ena = hsel & hready_in & htrans[]; always @(posedge hclk, negedge hreset_n)
if(~hreset_n)
hbus_ena_d <= 'b0;
else
hbus_ena_d <= hbus_ena; always @(posedge hclk, negedge hreset_n)
if(~hreset_n)
mem_wstrb <= 'h0;
else if(hbus_ena & hwrite) begin
case(hsize)
'b000: begin
case(haddr[:])
'b00: mem_wstrb <= 4'b0001;
'b01: mem_wstrb <= 4'b0010;
'b10: mem_wstrb <= 4'b0100;
'b11: mem_wstrb <= 4'b1000;
endcase
end
'b001: begin
case(haddr[])
'b0: mem_wstrb <= 4'b0011;
'b1: mem_wstrb <= 4'b1100;
endcase
end
'b010: begin
mem_wstrb <= 'b1111;
end
default: begin
mem_wstrb <= 'b0000;
end
endcase
end
else begin
mem_wstrb <= 'b0000;
end always @(posedge hclk)
if(hbus_ena_d) begin
if(mem_wstrb[])
mem[haddr[:]][ : ] <= hwdata[ : ];
if(mem_wstrb[])
mem[haddr[:]][: ] <= hwdata[: ];
if(mem_wstrb[])
mem[haddr[:]][:] <= hwdata[:];
if(mem_wstrb[])
mem[haddr[:]][:] <= hwdata[:];
end always @(posedge hclk)
if(hbus_ena)
hrdata <= mem[haddr[:]]; endmodule
AHB总线RAM Verilog实例的更多相关文章
- 基于AHB总线的master读写设计(Verilog)
一.AHB总线学习 1. AHB总线结构 如图所示,AHB总线系统利用中央多路选择机制实现主机与从机的互联问题.从图中可以看出,AHB总线结构主要可分为三部分:主机.从机.控制部分.控制部分由仲裁器. ...
- AHB总线协议
https://blog.csdn.net/linton1/article/details/79649249 1. 简介 AHB(Advanced High Performance Bus)总线规范是 ...
- AMBA AHB总线
Advanced Microcontroller Bus Architecture, 即AMBA,是ARM公司提出的总线规范,被很多SoC设计所采用,常用的实现有AHB(Advanced High-P ...
- AHB 总线问答(转)
AHB总线问答 http://blog.163.com/huanhuan_hdu/blog/static/1352981182011625916845/ 仲裁:主设备可以在一个突发传输中解除HLOCK ...
- AHB总线和APB总线
AHB主要用于高性能模块(如CPU.DMA和DSP等)之间的连接,作为SoC的片上系统总线,它包括以下一些特性:单个时钟边沿操作:非三态的实现方式:支持突发传输:支持分段传输:支持多个主控制器:可配置 ...
- 总线读写---verilog代码
总线读写---verilog代码 `timescale 1ns / 1ps ////////////////////////////////////////////////////////////// ...
- 51单片机 | 1-Wire总线及应用实例
———————————————————————————————————————————— 1-Wire总线 - - - - - - - - - - - - - - - - - - - - - - - ...
- DUAL PORT RAM应用实例
作者:桂. 时间:2018-05-14 12:11:00 链接:http://www.cnblogs.com/xingshansi/p/9035522.html 前言 主要是Xilinx 常用模块汇 ...
- AHB总线协议(二)
下图是8拍回环字突发传输:地址将在 32 字节边界处回环因此地址 0x3C 之后的地址是 0x20. 下图是8增量半字突发传输,所以地址每次增加 2 个字节并且突发在递增因此地址连续增加通过了 16 ...
随机推荐
- C#面向对象(OOP)入门—第二天—多态和继承(继承)
介绍: 第一天的内容主要是不同情形下的方法重载.这一部分则主要讲面向对象中继承的概念.首先用一个要点图形来定义继承. 继承 一个简单的例子: ClassA: class ClassA:ClassB { ...
- CentOS安装指定版本GCC
系统是CentOS 7, 自带的gcc是4.8.4 准备工作: 下载GCC源码包 gcc-5.5.0.tar.gz,地址(清华大学开源软件镜像站ipv6)(备选地址->gnu->gcc) ...
- 基于node的前端页面实时更新。呦吼~
学习了gulp,webpack后越发觉得前端开发万分的有趣,首当其冲的就是解决了狂按f5的尴尬. 当我们按下ctrl+s保存后页面自动更新了,我就觉得我f5键在隐隐的发笑. 1.node_npm_li ...
- 洛谷 P3128 [USACO15DEC]最大流Max Flow-树上差分(点权/点覆盖)(模板题)
因为徐州现场赛的G是树上差分+组合数学,但是比赛的时候没有写出来(自闭),背锅. 会差分数组但是不会树上差分,然后就学了一下. 看了一些东西之后,对树上差分写一点个人的理解: 首先要知道在树上,两点之 ...
- Linux操作命令(六)
本次实验将介绍 Linux 命令中 wc 和 grep 命令的用法. wc grep 1.wc wc命令是一个统计的工具,主要用来显示文件所包含的行.字和字节数. wc命令是word count的缩写 ...
- Linux命令之ping
ping [选项] destination ping命令向网络主机发送ICMP回传请求 详细描述:ping使用ICMP协议强制ECHO_REQUEST(回传请求)数据报从主机或网关获取ICMP协议的E ...
- 安装zabbix监控系统
环境 操作系统 最小化安装CentOS Linux release 7.2.1511 IP 192.168.88.1 zabbix版本 zabbix-3.4.4.tar.gz zabbix依赖于LNM ...
- application.xml
application.xml Deployment Descriptor Elements The following sections describe the application.xml f ...
- Python开发基础-Day10生成器表达式形式、面向过程编程、内置函数部分
生成器表达式形式 直接上代码 # yield的表达式形式 def foo(): print('starting') while True: x=yield #默认返回为空,实际上为x=yield No ...
- Funny Car Racing CSU - 1333 (spfa)
There is a funny car racing in a city with n junctions and m directed roads. The funny part is: each ...