Menu Close

Quartus 工具 In-System Memory Content editor 使用

Quartus 中,提供一个功能:In-System Memory Content Editor 应用,这个应用主要是可以帮助用户进行在线的调试功能。它可以在线的修改ROM, RAM 里面的内容, 同时这个功能也有和Xilinx VIO 类似的效果,可以实现虚拟的输出功能。本文参考文章Quartus ROM 的生成与配置详解中的单端口ROM的例化说明 In-System Memory Content Editor的使用。

1.使用 In-System Memory Content Editor 下载sof 文件

文章Quartus ROM 的生成与配置详解中,在例化ROM的IP核中勾选了Allow In-System Memory Content Editor 功能,如图1所示。本文使用这个功能对ROM进行在线的调试。在线调试包括:在线调试读ROM 里面的内容, 在线调试写ROM 里面的内容等。

图1

p1_rom.mif 内容

In-System Memory Content Editor 实验代码如下所示:


 

管脚分配如表1所示:

表1:

完成管脚分配后,编译工程。在之前的例子中,将编写好的工程下载到开发板时,会使用programmer 功能。

图2

而在使用 In-System Memory Content Editor 功能是需要使用 In-System Memory Content Editor这个应用下载sof 文件

图3

图4

1)选择jtag 下载器

2)选择需要下载的sof文件

3)下载sof文件

下载sof完成后,显示

图5

2.读取ROM 里面的内容

 

图6

1)选择instance ID

2)点击读取button

从图6中可以看出,instance ID = NONE, 这个设置和图1中显示的内容是一致的。并且可以看出从ROM里面读出的内容和我们之前的例子中使用*mif文件中的内容一致。

3.写ROM 里面的内容

这个功能用于在线调试中, 更改ROM里面的内容。

图7

1)选择instance ID

2)更改instance 的内容

3)点击写button

当写入后,我们会发现这时开发板上的内容已经改变了。

这样,我们就可以使用In-System Memory Content editor 这个应用,实现对ROM,RAM等存储单元进行在线调试了

 

4.使用In-System Memory Content editor 实现虚拟output 功能

在vivado 软件中,我们可以使用VIO 这个IP 实现虚拟的IO 功能:Vivado软件 调试工具的使用进阶(VIO的使用)

在Quartus软件中也有类似的功能,但只能实现output功能, 没有input功能。input功能也可以使用signal tap Logic Analyzer 来实现。

还是有以之前的7seg 工程为例:

在rom_7SEG.v 中例化lpm_constant 模块 ,这个模块类似xilinx 的vio。

图8

生成IP 为ALTERA_VIO

图9

图10

1)选择 1 bit 的output ,当然,根据自己项目的调试需要, 可以增加output 个数。

2)选择 output 的缺省的输出值

3)勾选In-System Memory Content editor

4)指示 Instance ID 为 DP

图11

IP 核制作结束。

将制作的IP(ALTER_VIO)添加到rom_7SEG.v中


1)添加DP管脚,pin location 是pin_128

2)添加了ALTERA_VIO IP

3)对整个工程编译生成sof文件,使用In-System Memory Content editor 下载sof 文件

图12

可以看到ALTERA_VIO IP 制作时Instance ID 在界面中有显出出来的。

5.读取ALTERA_VIO  output的当前值:

图13

1)选择instance ID = DP

2)点击读button

3)在内容栏中可以看到 DP的值为0

我们会发现,读取的当前值和 IP设置时的缺省值 0 是一致的。

 

真实的开发板上的数码管显示为:

图14

我们发现,小数点显示出来了

6.写ALTERA_VIO  output的值:

图15

1) 选择instance ID = DP

2)修改output 值为 1

3)点击写button

真实的开发板上的显示

图16

这时, 小数点没有显示了。

 

总结:

这里,我们学些了quartus 软件中的In-System Memory Content editor 软件的使用, 这个软件可以:

1)下载sof 文件到FPGA开发板

2)在线调试ROM, RAM 等IP (IP 生成时需要勾选 In-System Memory Content Editor)

3)可以使用LPM_CONTSTANT 实现虚拟输出功能

 

工程代码下载:(Quartus)

[content_control]

rom_7SEG_VIO.zip

[/content_control]

Posted in FPGA, FPGA 教材教案, Verilog, 教材与教案, 文章