易灵思RAM使用–Update5-易灵思(Elitestek)社区-FPGA CPLD-ChipDebug

易灵思RAM使用–Update5

易灵思RAM在使用时可以会遇到一些问题,这里把常用的问题总结下。

1、ram初始化文件路径是工程路径

在对ram进行初始化时需要指定文件路径,这里要注意’/’的方向。

(1)如果文件放在工程目录下,写法如下:

.RAM_INIT_FILE(“./ram_init_file.inithex”  )

或者.RAM_INIT_FILE(“ram_init_file.inithex”  )

(2)如在工程目录下新建一个src文件。写法如下:

.RAM_INIT_FILE(“./src/ram_int_file.mem”)

 

图片[1]-易灵思RAM使用–Update5-易灵思(Elitestek)社区-FPGA CPLD-ChipDebug

2.初始化文件格式

初始化文件 支持.inithex和.mem.都是按顺序以16进制输入数据即可。

图片[2]-易灵思RAM使用–Update5-易灵思(Elitestek)社区-FPGA CPLD-ChipDebug

图片[3]-易灵思RAM使用–Update5-易灵思(Elitestek)社区-FPGA CPLD-ChipDebug

3、在RAM评估器中评估RAM资源

易灵思提供了RAM资源评估器,可以快速帮忙评估RAM资源的使用情况。以下为操作步骤:

(1)把路径转换Efinity路径下的bin文件夹下。

(2)通过以下命令评估

图片[4]-易灵思RAM使用–Update5-易灵思(Elitestek)社区-FPGA CPLD-ChipDebug

efx_map_ramest --family Trion --mode area --size 10240x16

 

但是如果直接运行该命令会提示错误。

图片[5]-易灵思RAM使用–Update5-易灵思(Elitestek)社区-FPGA CPLD-ChipDebug

因为efinity的路径没有写入系统路径,用windows 命令行的时候,需要先运行bin文件夹下的setup.bat来设置环境,然后运行命令,注意不同模式下资源使用量不同。

图片[6]-易灵思RAM使用–Update5-易灵思(Elitestek)社区-FPGA CPLD-ChipDebug

 

4、大块ram的使用

如果RAM资源使用比较多时,可能会报出以下错误。

图片[7]-易灵思RAM使用–Update5-易灵思(Elitestek)社区-FPGA CPLD-ChipDebug

解决方案

  • 在工程目录下放置以下文件 文件名:efx_map_settings.ini
  • 并在文件中输入下面语句:max-bit-blast-mem-size = 524300

在2023.1及以后的版本已经不需要上面的ini文件解决方案。

4RAM使用报错

(1)ERROR: RCLK port of EFX_RAM_5K instance u_ddr_rx_buffer/u_wr_fifo/FifoBuff__D$12 is constant

ERROR: EFX_RAM_5K instance u_ddr_rx_buffer/u_wr_fifo/FifoBuff__D$12 WCLK port is disabled, but WCLKE is not

ERROR: EFX_RAM_5K instance u_ddr_rx_buffer/u_wr_fifo/FifoBuff__D$12 WCLK port is disabled, but WE is not

ERROR: WDATA[0] port of EFX_RAM_5K instance u_ddr_rx_buffer/u_wr_fifo/FifoBuff__D$12 is not disabled in a disabled mode

ERROR: RCLK port of EFX_RAM_5K instance u_ddr_rx_buffer/u_wr_fifo/FifoBuff__D$2 is constant

ERROR: EFX_RAM_5K instance u_ddr_rx_buffer/u_wr_fifo/FifoBuff__D$2 WCLK port is disabled, but WE is not

ERROR: WDATA[0] port of EFX_RAM_5K instance u_ddr_rx_buffer/u_wr_fifo/FifoBuff__D$2 is not disabled in a disabled mode

错误原因:FIFO时钟给的是无效的。

 

[EFX-0473 ERROR] EFX_DPRAM_5K ‘genblkl.dpramsk’ illegal instantiation for OPx device. (F:lcvzltestproiectMX efinity proilipltdp ram 16×1024 dlltdp ram 16×1024 d1.y’824)

图片[8]-易灵思RAM使用–Update5-易灵思(Elitestek)社区-FPGA CPLD-ChipDebug

图片[9]-易灵思RAM使用–Update5-易灵思(Elitestek)社区-FPGA CPLD-ChipDebug

错误原因:注意器件的family要对应下来。

5、如果要把小于256bit的ram综合成register,可以在工程目录下新建一个efx_map_settings.ini文件。并在文件中输入以下两句:

use-logic-for-small-mem=256
use-logic-for-small-rom=256

 

在2023.1及以后的软件提供了相关的选项。

图片[10]-易灵思RAM使用–Update5-易灵思(Elitestek)社区-FPGA CPLD-ChipDebug

图片[11]-易灵思RAM使用–Update5-易灵思(Elitestek)社区-FPGA CPLD-ChipDebug

6、RAM综合的其它操作请参考efinity-synthesis.pdf

这里包括对使能,复位等的写法的注意事项。

 

请登录后发表评论

    没有回复内容