找回密码
 注册
关于网站域名变更的通知
查看: 1251|回复: 1
打印 上一主题 下一主题

Quartus II中FPGA片上存储器初始值更新的方法

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-5-30 13:54 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 Zedd 于 2019-5-30 13:56 编辑
1 c- c1 o" L6 S1 l; Q; x. Y9 W; A  J& g
Quartus II中FPGA片上存储器初始值更新的方法
0 N1 q0 c7 P* k3 I8 b

0 c) H) z# L1 t. U7 G3 I最近在调试中遇到了这样一个问题:一组参数预先存储在FPGA的片上存储器内;在系统运行过程中部分参数会被读出,修改后写回;为了调试,需要经常变换参数的初始化值。 riple    实现存储器中数值的初始化比较容易,在生成RAM模块时指定一个初始化文件(.hex或.mif)即可。
7 ^( M9 `+ t4 @    实现部分参数的动态修改也容易,设计一个状态机在需要的时候写入该RAM即可。
5 f0 _5 L; r% j- f4 p! p" _2 z5 L    为了调试,更新初始化数值就难了些,可供选择的方法有这样几种: * B3 r( E# H/ v2 ]+ a
1. 采用In-system Memory Content Editor,通过Import File的方式把修改后的初始化文件更新到RAM中。
3 x& J; F; Y, k) Q4 q' R5 T2. 采用Virtual JTAG定制一个RAM写入接口,连接到双端口RAM的一个空闲端口用于调试,双端口RAM的另一个端口用作正常使用。 6 O& n9 @8 o2 u2 T; i* J# o
3. 修改初始化文件,把初始化文件更新到编程文件中,通过重新下载更新到RAM中。
$ V- W) _' Y& H4 x    第一种方法原理上没有任何问题,在MegaWizard Plug-in Manager中选择Allow In-system Memory Content Editor...即可。但是,在实际应用中,只有单端口ROM可以采用该方法;单端口RAM采用该方法可以生成代码,但是不能正确编译,总是报出一些奇怪的错误;此外。双端口的ROM和RAM都不支持In-system Memory Content Editor。
* Y0 {. T# R( {9 l    第二种方法在本质上与第一种方法相同,在实际应用中也能正确编译,唯一的缺点是需要对Virtual JTAG有较深入的认识,需要手工编写一些代码,还要编写TCL脚本。
8 S2 f: ^. S9 R$ n- v0 t  ^6 [    第三种方法可以不修改代码,也不需要执行全编译,只要在Quartus II集成开发环境中执行两个简单的操作即可。下面就是具体的步骤: : z7 p- i4 d* @) f  o4 d2 L
1. Processing -〉Update Memory Initialization File
. W5 m9 o6 i1 ~/ O9 o( E% C' k2. Processing -〉Start -〉Start Assembler 5 |4 T. v9 a9 n( m  P* L
    上述操作执行完毕,把Assembler生成的编程文件下载到FPGA中,修改后的初始化文件就更新到片上存储器中了。   g; }6 v3 i/ {3 m6 ^
    该方法的原理是,在Update Memory Initialization File过程中,只更新db文件夹中与RAM初始化内容相关的文件,其余文件不更新,所以不需要执行全编译;更新后执行Assembler,把新的初始化内容更新到编程文件中去。该方法类似于软件编译过程中的部分编译和重新链接。
5 Z; h7 N; m) g' i4 Z    该方法只适用于静态更新RAM内容,如果需要对RAM进行动态调试,还是用第二种方法才行。
, L9 E/ y; m* C+ O2 K7 O7 Y( w

1 e: [) z" ]- \6 n0 l- O6 k9 c5 H5 H$ {
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-8-12 12:05 , Processed in 0.109375 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表