Wishbone接口通用RAM

 1 // synthesis translate_off
 2 `timescale 1ns / 10ps
 3 // synthesis translate_on
 4 module wb_ram (
 5     input                        clk_i,
 6     input                        rst_i,
 7
 8     // wishbone signals
 9     input                        cyc_i,
10     input                        stb_i,
11     input                        we_i,
12     input            [3:0]        sel_i,
13     input           [31:0]        adr_i,
14     input            [31:0]        dat_i,
15     output    reg        [31:0]      dat_o,
16     output    reg                 ack_o
17 );
18
19 parameter mem_words = 1024;
20
21 wire [31:0]          wr_data;
22
23 // mux for data to ram
24 assign wr_data[31:24] = sel_i[3] ? dat_i[31:24] : dat_o[31:24];
25 assign wr_data[23:16] = sel_i[2] ? dat_i[23:16] : dat_o[23:16];
26 assign wr_data[15: 8] = sel_i[1] ? dat_i[15: 8] : dat_o[15: 8];
27 assign wr_data[ 7: 0] = sel_i[0] ? dat_i[ 7: 0] : dat_o[ 7: 0];
28
29 // ack_o
30 always @ (posedge clk_i or posedge rst_i)
31 begin
32     if(rst_i)
33         ack_o <= 1‘b0;
34     else if(ack_o)
35         ack_o <= 1‘b0;
36     else if(!ack_o & cyc_i & stb_i)
37         ack_o <= 1‘b1;
38     else
39         ack_o <= ack_o;
40 end
41
42 reg [31: 0] ram [0 : mem_words - 1];
43
44 initial $readmemh("./data.txt", ram);
45
46 always @ (negedge clk_i)
47 begin
48     dat_o <= ram[adr_i[31:2]];
49     if (cyc_i & stb_i & we_i)
50         ram[adr_i[31:2]] <= wr_data;
51 end
52
53 endmodule
时间: 2024-08-28 18:40:31

Wishbone接口通用RAM的相关文章

Wishbone接口Altera JTAG UART

某些时候,我们在使用Altera FPGA的时候,尤其是涉及SoC系统的时候,通常需要一个串口与PC交互.使用Altera的USB-Blaster免去了外接一个串口.我们可以使用下面所述的IP核通过USB-Blaster将PC的字符传入FPGA或者从FPGA将字符数据发送至PC. 1 alt_jtag_atlantic jtag_uart_alt_jtag_atlantic 2 ( 3 .clk (clk), 4 .r_dat (r_dat), 5 .r_ena (r_ena), 6 .r_va

常用快递单号物流查询API接口通用对接指南(JAVA快递鸟对接)

快递查询接口通用API是给发货电商用来实现查询快递物流轨迹功能的,接口对接前要先到快递鸟网站申请接口秘钥和APIKEY 快递API的应用场景与用途 最常见的应用场景如下: (1)电商网站:例如B2C.团购.B2B.批发分销站.C2C.本地生活交易等网站. (2)管理系统:订单处理平台.订货平台.发货平台.分销系统.渠道管理系统.客户管理系统.ERP等. 快递API的用途如下: (1)让顾客登录网站后,直接在“我的订单”页面内就能看到订单的物流状态. (2)自动筛选出“已签收”.“疑难件”等状态的

各开放平台API接口通用 SDK 前言

最近两年一直在做API接口相关的工作,在平时工作中以及网上看到很多刚接触API接口调用的新人一开始会感到很不适应,包括自己刚开始做API接口调用的相关工作时,也是比较抓狂的,所有写一序列文章把之前的工作做个总结,二来写一个通用SDK把之前涉及到的代码封装成类库,以便以后可以更好地使用.三来对一些有需要的朋友,比如刚接触API接口调用的朋友来说,希望可以给他们提供一些帮助,一起交流,共同成长,一起进步. 今天这篇文章主要是谈一下自己的构想,SDK产品的构思,也希望园内的朋友提出自己宝贵的意见,如果

各开放平台API接口通用SDK序列文章 前言

最近两年一直在做API接口相关的工作,在平时工作中以及网上看到很多刚接触API接口调用的新人一开始会感到很不适应,要看的文档一大堆,自己要调用的接口找不着,或都找着了不知道怎么去调用,记得包括自己刚开始做API接口调用的相关工作时,也是比较抓狂的,也是硬着头皮去看各种文档,熟悉代码,在网上不断地去查找资料.所以决定写一序列文章把之前做的API接口相关的工作做个总结,二来写一个通用SDK把之前涉及到的代码封装成类库,以便以后可以更好地使用.就不用再重创轮子了,三来对一些有需要的朋友,比如刚接触AP

Api接口通用安全策略及实现-OSS.Core

这篇文章一直说写,迟迟没有动手,这两天看到一些应用接口数据被别人爬虫.短信接口被人高频率请求攻击等案列,感觉简单概述分享一下接口安全验证还是有必要的.毕竟当下基本都以客户端应用为主,如果前期疏忽,发布之后的维护升级等将会有很大的麻烦.这里我将主要围绕以下几个方面: 1. 基础的安全策略 2. Restful安全实现方式介绍 3. OSS.Core实现案例 4. OSS.Core接口参数规范 一. 基础的安全策略   这里讨论只针对应用本身,像Https或者防火墙等第三方支持不在此讨论范围. 对于

asp.net 自定义的模板方法接口通用类型

本来想写这个帖子已经很久了,但是公司事情多,做着做着就忘记了.公司因为需要做接口,而且用的还是asp.net的老框架,使用Handler来做,没得办法,自己照着MVC写了一个通过的接口操作模板. 上送json数据,返回的也是json数据.可以像MVC一样自动绑定并可以进行DataAnnotations验证.尽量达到在业务逻辑处理区域不用对上送参数做过多的获取和判断,能一次搞定就一次搞定. 话不多说,上代码!!! BaseClass:用作接口参数的基类.接口参数类型可以继承该类,也可以不继承,或自

Mybatis 通用Crud-设计思路

一 关于Mybatis 1.1 mybatis 的优点 1 轻量级ORM . 2 提供了完善的缓存机制. 3 mapper.xml 原声SQL更清晰灵活,且sql便于SQL调优. 4 resultType resultMap 处理返回结果集,与pojo解耦. 1.2 mybatis的使用体验 这里只将Mybatis不便于使用之处做以说明. 1 需要为每张表写一个dao接口和mapper.xml,这对于开发者来讲就不是很友好了,假设系统有30张业务表,呵呵. 2 虽然有generator 工具,可

接口自动化框架

接口测试客户端:http://www.cnblogs.com/beetle-shu/p/4199755.html 淘宝top接口:AllPairs : http://www.cnblogs.com/sea520/p/4642226.html Ajax接口通用示例: http://www.cnblogs.com/fengmazi/archive/2012/08/07/2626371.html Jenkins+ANT+Jmeter平台: http://www.cnblogs.com/puresoul

openrisc 之 Wishbone总线学习笔记——总线互联

一,总线命名规范 1,wishbone总线接口信号都是高电平有限 2,wishbone接口信号都是以 _i ,或者是 _o 结束.i表示输入, o表示输出. ()表示该信号为总线信号,总线位宽可以大于等于1. 二,互联规范  点到点.数据流方式.共享总线.交叉(Crossbar)互连方式 1,点到点 两个IP之间的互联,就是一端是master,一端是slave 2,数据流方式 每个IP核兼有主端和从端.数据从一个IP核传送到下一个,与流水线相似. 3,共享总线的方式 系统中有两个或者多个主设备需