安路TangDynasty(TD)中BRAM 模块IP使用-Anlogic-安路社区-FPGA CPLD-ChipDebug

安路TangDynasty(TD)中BRAM 模块IP使用

AL3 系列器件支持嵌入式存储器模块(Embedded Memory Block)。 AL3-10 中包括
两类
EMBEMB9K EMB32K
EMB9K 每块容量 9Kbits,多个 EMB9K 模块排成一列,按列分布在可编程功能块
(Programmable Function Block, PFB)的阵列中。 EMB32K 每块容量 32Kbits,分布在 IO
隙中。

3.5.1 创建 BRAM 模块
4. 选择 Tools → IP Generator, 选择Create an IP core

20231122101711375-image

5. 输入模块名称并选择存储路径。 此处,若是在有工程的基础上创建 BRAM 模块,
存储路径和器件名称将与工程保持一致。若在没有工程的基础上创建
BRAM
块,用户需手动设置保存路径和器件名称。

20231122101724267-image

6. Function 窗口 Primitive IP 展开 Memory → RAM, 双击 RAM 打开配置界

20231122101738625-image

7. 填写 Component Name并设置相应参数

20231122101755109-image

本手册以 EMB9K 为例介绍 AL3 系列器件 BRAM 模块的使用。
EMB9K 可实现:
单口 RAM (Single Port RAM)
双口 RAM (Dual Port RAM)
简单双口 RAMSimple Dual Port RAM, 也称为伪双口)
EMB9K 模块支持的功能特色有:
9216 9Kbits / 每块
A/B 口时钟独立
可单独配置 A/B 口数据位宽,真双口从 x1 x9,支持 x18 简单双口(一写一
读)
9 18 位写操作时带有字节使能(Byte Enable)控制
输出锁存器可选择(支持 1 级流水线)
支持 RAM 模式下数据初始化(通过初始化文件在配置过程中对 EMB9K 进行
数据初始化)
支持多种写操作模式。可选择只写(No Change),先读后写(Read First),先写
后读(
Write First)三种模式
支持 Byte Enable 功能。
若勾选
Debug Enable前面的复选框, TD 会默认 EMB 的模式为 Single Port RAM,
在这种情况下, 端口 B 将被占用, 端口 A 的数据可进行回读,方便用户通过 BramEditor
进行 Debug。 其中, EMB9k 以面积优化为主, EMB9k(fast)以时序优化为主。
Byte Enable 是指 BRAM 的输入数据 port 位宽为多个 byte 时,在读数据时用一组
byte enable 信号来分别控制每个 byte 写入与否。在界面上可选择 Byte Write Enable

的值为 None 8 9。当 byte-write None 时,表示不启动 byte enable 功能;当
byte-write 8 时, A 口与 B 口(若有 B 口)的数据宽度必须为 8 的整数倍,倍数的
值被用作
wea web 的宽度;当 byte-write 9 时, A 口与 B 口(若有 B 口)的数据
宽度必须为
9 的倍数,倍数被用作 wea web 的宽度。当启动 byte enable 功能时,
不建议使用
BRAM32K, 原因是当 BRAM 的深度比较小时,会浪费很多内存。
8. 添加初始化文件
TD 的初始化文件支持用户用第三方 mif(memory initialization file)格式描述,或者用
verilog 存储空间初始化 dat 格式来描述。
mif 格式描述如下:
mif 格式的初始化文件包含每一个初始化地址和数据,并且必须定义内存数据的深
度和宽度。 用户可以将数据和地址格式定义为二进制
BIN 、 十六进制 HEX 、 八
进制
OCT 、 无符号十进制 UNS 等。数据的值必须和数据格式相匹配。
dat 格式描述如下:
内存数据可以存储在一个以十六进制为地址的文件中, 其中, 地址以
“@”表示。 起
始地址由用户自己定义, 根据内存数据的深度可以相应的确定结束地址。 为了能够
使数据和地址清晰对应,通常会给文件添加可识别的地址标志。若初始化文件很大
时,也可直接省略地址。
BRAM 模块添加初始化文件时, 可勾选Load Init File前面的复选框, 并选择需
要添加的文件, 当在右下角的下拉框中选择
.mif 格式时,在文件夹中只提供.mif 文件供
用户选择,如下图所示。

20231122101825275-image

 

20231122101832957-image

若选择.dat 格式时,在文件夹中则只提供.dat 文件供用户选择,如下图所示。

20231122101854404-image

20231122101906837-image

点击按钮Show可以看到添加文件的内容, 此处给出的是 mif 文件和 dat 文件的格
式范例。

20231122101916849-image

20231122101924549-image

点击“OK”完成 BRAM 的创建, TD 给出生成文件的路径如下:

20231122101940709-image

而在工程目录下可以看到如下文件:

20231122101953862-image

其中, demo_bram.ipc IP Generator 生成的工程文件,可通过如下方式打开:
选择
Tools → IP Generator, 选择Edit an exist IP core

20231122102007646-image

demo_bram.v BRAM 模块创建供用户进行例化的文件。
demo_bram_sim.v 描述了 BRAM 的划分方式,供用户仿真和 Debug,但不可将其添
加为工程的源文件,否则将与
demo_bram.v 中的模块产生冲突。

请登录后发表评论

    没有回复内容