学习目标:
- 学习如何使用Stratus IDE生成存储器模型
- 学习如何在代码中使用存储器模型
1.存储器生成
存储器生成使用Stratus IDE内置的存储器模型生成器,首先使用Stratus IDE打开工程,在左侧边栏中打开project选项卡,打开libraries,右键Memories,选择New Memory Library
新建存储器库,新建后可以在工程下发现同名文件夹
![7241055-2af6ea1eca900c12.png](https://i-blog.csdnimg.cn/blog_migrate/a087d6949b0cfe3ca6c0e02c596472d9.png)
随后,右击新建的库memlib选择新建存储器,可以打开如下的界面进行配置:
- Memory name:存储器名称,使用存储器时使用该名称进行调用
- Word size:数据位宽,即每个地址存储多少个bit
- Number of words:地址数量,即有多少个word,存储容量为
bit
- Latency:从地址输入到数据输出消耗的时钟周期数量
- Setup time:通常意义的建立时间加保持时间,即控制信号需要在时钟沿附近保持的长度,不要写0。
- Output delay:输出延迟,即从时钟沿或数据输入到数据输出的延迟时间,不要写0。
- Area:面积,HLS将在综合报告中使用该面积(如果填写)
中间的Option部分可以选择时序的方式,时序有以下几种:
- Allow chaining:使用左侧的Setup time和Output delay计入延迟估算,在必要时插入寄存器
- Disallow chaining:不计入延迟估算,等效于Setup time和Output delay都填写0
- Registers at memories:强制插入寄存器