AHB-SRAMC Design
片选信号决定哪几个memory被选择和功耗
1. sram_w_en信号
- hsize--表示当前传输的数据宽度,决定写的数据是多少位的
- halfword--传输的时候haddr受限于hsize,访问总线的时候haddr是和size对齐的,halfword是2byte为单位的,地址取值只能是0,2,4,6,8,10....
- word-传输的时候,地址对齐4byte,0,4,8,12,16
- byte传输--访问地址addr是任意的
- word传输,haddr低两位是不用看的;halfword传输,低一位不用看,因为不会产生01,11的情况
- sram_wen--0表示选中,1表示不选(使用的是独热码)
- sram_wen--是根据hsize和haddr产生的
2.bank选择及片选信号生成
64k深度--需要16bit地址(2^16=65535),地址遍历的时候,是按照一行一行的方式进行寻址的,整体上走的是z字形
地址分配
-
采用低位地址交织的方式bank中的数据
-
采用16bit地址的最高位,表示地址落在bank0还是bank1
-
采用16bit地址中的低两位,表示地址是memory中的哪一个
-
知道memory的容量,知道寻址的地址宽度,将地址宽度分为多个区间,不同区间表示选择哪个bank和哪个memory,这样就可以生成片选信号
-
系统复位或者是没有任务的状态都是1111,四个memory都不选
3.基于AHB总线的SRAM控制器功能集成需求文档
SRAM是集成在SoC中的,需要有一个文档告诉别人SRAM的接口
hclk和sram_clk是相反的关系