基于AHB_BUS SRAM控制器的设计-02

AHB-SRAMC Design

片选信号决定哪几个memory被选择和功耗

  • sram_addr和sram_wdata都是可以通过AHB总线的控制信号得到的

1. sram_csn信号理解

  • hsize--表示当前传输的数据宽度,决定写的数据是多少位的
  • halfword--传输的时候haddr受限于hsize,访问总线的时候haddr是和size对齐的,halfword是2byte为单位的,地址取值只能是0,2,4,6,8,10....(halfword -- 16bit -- 2个字节 -- 每两行存一个halfword)
  • word-传输的时候,地址对齐4byte,0,4,8,12,16
  • byte传输--访问地址addr是任意的
  • word传输,haddr低两位是不用看的;halfword传输,低一位不用看,因为不会产生01,11的情况
  • sram_csn--0表示选中,1表示不选(使用的是独热码)
  • sram_csn--是根据hsize和haddr产生的,是低电平有效的,0表示写,1表示读

2.bank选择及片选信号生成

64k深度--需要16bit地址(2^16=65535),地址遍历的时候,是按照一行一行的方式进行寻址的,整体上走的是z字形

地址分配

  • 采用低位地址交织的方式排布bank中的数据
  • 采用16bit地址的最高位,表示地址落在bank0还是bank1
  • 采用16bit地址中的低两位,表示地址是memory中的哪一个

  • 知道memory的容量,知道寻址的地址宽度,将地址宽度分为多个区间,不同区间表示选择哪个bank和哪个memory,这样就可以生成片选信号
  • 上图中的信号都是根据十六位的地址得到的,根据地址最高位得到选择哪一个bank,根据hsize,选择读取和写入的mem
  • 系统复位或者是没有任务的状态都是1111,四个memory都不选
    总结








3.基于AHB总线的SRAM控制器功能集成需求文档

SRAM是集成在SoC中的,需要有一个文档告诉别人SRAM的接口
hclk和sram_clk是相反的关系

posted @ 2023-03-12 09:44  Icer_Newer  阅读(174)  评论(0编辑  收藏  举报