设计需求
- 支持低功耗(standby状态功耗会降低1000倍);
- 支持单周期读写;
- 能够根据AHB总线的读写宽度进行相应的SRAM位宽选择;
- 能够支持DFT/BIST测试;
设计层次
- 结合AHB_if的地址信号进行SRAM的片选,以及读写宽度的选择,从而进行低功耗以及位宽选择的功能的实现;
- 一个两位的多路选择器来实现DFT/BIST测试功能;
- 设计相应的AHB总线实现单周期读写(一个周期内完成读写,使用流水线设计);
对于bist/dft的验证
- bist模块的单独验证:需要一个功能正确的SRAM模型,通过在模型中写入几位固定的值,进行bist测试,检测bist给出的结果正确与否,从而验证bist模块的正确性;
- SRAM功能的整体测试:两种方式,一种是单独对每一块进行bist测试;另外一种是将信号发送给索引的sram模块,对最后测试结果进行“与”运算,结果为1,则所有sram模块正确;结果为0,则存在错误的sram模块;
- DFT功能测试模式:只需将SRAM功能模块by_pass掉,对输入和输出寄存器连接进行测试。
实际设计功能
- 32位AHB Slave interface;
- 支持8位、16位、和32位的SRAM数据读写操作;
- 支持SRAM的单周期读写;
- 支持低功耗工作(8位/16位);
- 支持DFT/BIST功能