在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 1220|回复: 0

[原创] 例说FPGA连载62:电子点菜单之FIFO例化说明

[复制链接]
发表于 2016-12-26 17:16:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

x
例说FPGA连载62:电子点菜单之fifo例化说明

特权同学,版权所有

配套例程和更多资料下载链接:

http://pan.baidu.com/s/1c0nf6Qc

1.jpg



ddr_avl_bridge.v模块中,使用了3FIFO,分别用于DDR2数据写入缓存和DDR2数据读出缓存。如图10.6所示,实际上,我们只需要例化两种类型的FIFO,即图示的名称为rdfifo_for_sdramwrfifo_for_sdram的两个FIFO

2.jpg

10.6 FIFO模块截图


为什么这里可以有两个名称为rdfifo_for_sdram”的FIFO呢?其实,仔细看,你会发现这两个FIFO在“:”后面的名称不一样。一个为“rdfifo_dj_for_sdram_inst”,另一个为“rdfifo_rf_for_sdram_inst”。我们可以先到ddr_avl_bridge.v模块的verilog代码中查看一下这两个FIFO的例化。

//例化SDRAM读出数据缓存FIFO模块

rdfifo_for_sdram


rdfifo_rf_for_sdram_inst(







.aclr(!local_rst_n || rdfifo_clr_r[3]),







.data(local_rdata),
//128bit input







.rdclk(clk_33m),







.rdreq(lcd_rfreq),







.wrclk(phy_clk),







.wrreq(local_rdata_valid && rf_dj_flag),







.q(lcd_rfdb),
//16bit output







.wrusedw(rfifo_rf_used)






);


//例化SDRAM读出数据缓存FIFO模块

rdfifo_for_sdram


rdfifo_dj_for_sdram_inst(






.aclr(!local_rst_n || rdfifo_clr_r[3]),






.data(local_rdata),
//128bit input






.rdclk(clk_33m),






.rdreq(lcd_djreq),






.wrclk(phy_clk),






.wrreq(local_rdata_valid && !rf_dj_flag),






.q(lcd_djdb),
//16bit output






.wrusedw(rfifo_dj_used)





);


我们在一开始讲解IP核例化的时候就提到过,如这里的“rdfifo_for_sdram”是我们配置的IP核名称,而“rdfifo_rf_for_sdram_inst”则是我们在应用中集成的模块名称。换句话说,同一个工程中,可以有多个不同名称的IP核模块(如“rdfifo_rf_for_sdram_inst”),它们的配置都是出于同一个IP核(如“rdfifo_for_sdram”)。或者,我们可以认为这类似与C语言中多次调用同一个函数,只不过,对于FPGA逻辑而言,每一次“调用”都必须实打实的消耗一份“资源”。






您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /3 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-25 03:56 , Processed in 0.016461 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表