在线咨询 切换到宽版
eetop公众号 创芯大讲堂 创芯人才网

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

搜全文
查看: 81|回复: 2

[求助] MCU选择Memory相关

[复制链接]
发表于 昨天 16:47 | 显示全部楼层 |阅读模式
悬赏300资产未解决
各位大佬好,我在借助ARM开源IP设计MCU的过程中,遇到了Memory相关的问题,上层是cmsdk_ahb_ram,然后在里面例化cmsdk_ahb_to_sram和一个SRAM的IP模块sram32KX32,主要不太清楚各模块的接口应该怎么接?尤其是sram32KX32里面的OEB,GBEB,BEB这三个端口,一个是不理解端口的功能,另一个是在另外两个.v文件里面是不是也要设计这个端口?恳请各位指点一下。

上层的RAM接口是这样
module cmsdk_ahb_ram  (
  input  wire          HCLK,    // Clock
  input  wire          HRESETn, // Reset
  // AHB inputs
  input  wire          HSEL,    // Device select
  input  wire [AW-1:0] HADDR,   // Address
  input  wire [1:0]    HTRANS,  // Transfer control
  input  wire [2:0]    HSIZE,   // Transfer size
  input  wire          HWRITE,  // Write control
  input  wire [31:0]   HWDATA,  // Write data
  input  wire          HREADY,  // Transfer phase done
  // AHB Outputs
  output wire          HREADYOUT, // Device ready
  output wire [31:0]   HRDATA,  // Read data output
  output wire          HRESP);  // Device response (always OKAY)


然后下层实例化
module cmsdk_ahb_to_sram (
  input  wire          HCLK,      // system bus clock
  input  wire          HRESETn,   // system bus reset
  input  wire          HSEL,      // AHB peripheral select
  input  wire          HREADY,    // AHB ready input
  input  wire    [1:0] HTRANS,    // AHB transfer type
  input  wire    [2:0] HSIZE,     // AHB hsize
  input  wire          HWRITE,    // AHB hwrite
  input  wire [AW-1:0] HADDR,     // AHB address bus
  input  wire   [31:0] HWDATA,    // AHB write data bus
  output wire          HREADYOUT, // AHB ready output to S->M mux
  output wire          HRESP,     // AHB response
  output wire   [31:0] HRDATA,    // AHB read data bus

  input  wire   [31:0] SRAMRDATA, // SRAM Read Data
  output wire [AW-3:0] SRAMADDR,  // SRAM address
  output wire    [3:0] SRAMWEN,   // SRAM write enable (active high)
  output wire   [31:0] SRAMWDATA, // SRAM write data
  output wire          SRAMCS);   // SRAM Chip Select  (active high)

SRAM的是
module TS1CB32KX32 (CLK, A, CEB, OEB, WEB, GBEB, BEB, DIN, DOUT);
input CLK, CEB, OEB, WEB, GBEB;
input [numByte-1:0] BEB;
input [numAddr-1:0] A;
input [numOut-1:0] DIN;
output [numOut-1:0] DOUT;
这里面A是address inputs, DIN是 data inputs, chip enable (CEB), global byte enable (GBEB), byte read/write control (BEB[3], BEB[2], BEB[1], BEB[0]) and  write enable (WEB). Output enable (OEB) is asynchronous input.

发表于 昨天 17:40 | 显示全部楼层
没有databook吗?最准的还是看databook

很少见这么多控制信号的,但顾名思义:
byte read/write control (BEB[3], BEB[2], BEB[1], BEB[0]):控制每个byte是否被写入/读出,被disable的byte保持不变,4比特控制4个byte可见是每个bit单独控制
global byte enable (GBEB):作为byte enable的总开关,只有enable的时候byte enable才有意义
Output enable (OEB) :就是read enable

其中OEB肯定是需要的,但是不一定要拉出去,因为可以通过chip enable和write enable运算获得
BEB和GBEB看你要不要用到byte enable,如果要用到就要拉出去,用不上就接常量
回复

使用道具 举报

发表于 昨天 22:09 | 显示全部楼层
应该在cmsdk_ahb_to_sram子模块中做出总线到SRAM接口的转化逻辑,将这些接口信号与TS1CB32KX32子模块相连接。这三个信号要么根据SRAM的datasheet理解下,或者根据它的仿真模型看下代码也能看的出来。并注意下这些使能信号的极性。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

X

手机版| 小黑屋| 关于我们| 联系我们| 用户协议&隐私声明| 版权投诉通道| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 ) |网站地图

GMT+8, 2025-12-20 00:08 , Processed in 0.019022 second(s), 3 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表