|
|
悬赏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.
|
|