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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3374|回复: 4

[求助] 如何利用Verilog hdl语言实现将一个32位长的数组按照8位逐次写入FIFO

[复制链接]
发表于 2016-5-10 16:48:19 | 显示全部楼层 |阅读模式

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

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

x
本人现在要将一个32位长的数组写入FIFO,但每次只能8位8位逐次写入,也就是需要4个时钟周期,
可是每次编程都出现错误,下面是本人的程序思想,有点像C语言,请各位赐教一下,应该怎么修改才能实现。

wr_data <= datain [8*i+7:8*i];
i <= i +1;

wr_data <= datain [8*i+7:8*i]; 这个句子一直提示有问题,不知道怎么解决了?
发表于 2016-5-10 16:55:48 | 显示全部楼层
FIFO不能写32bit,读8bit?可以异步FIFO啊
发表于 2016-5-10 17:10:18 | 显示全部楼层
分4个cycle写入,用一个2-bit的counter0,1,2,3循环计数,counter等于0,1,2,3时分别写入【7:0】,【15:8】,【23:16】,【31:24】,写FIFO的使能信号对应产生四次,over。
 楼主| 发表于 2016-5-10 17:42:38 | 显示全部楼层
回复 3# 杰克淡定


    非常感谢回复!是这样的,我这次只是个小实验,实际采样程序当中要传输的数据量,可能会达到1000左右个位的数据,因此我想用循环实现,因为不想用case语句,一直8位,8位赋值这么一直赋值下去。难道就只有这么一种写法吗?
发表于 2016-5-10 17:54:04 | 显示全部楼层
回复 4# hms2006

你输入的datain[31:0]也是按照一个cycle输入32-bit处理的,难不成你想做成所有数据一次性输入datain[999……99:0]?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-12-29 04:36 , Processed in 0.020477 second(s), 8 queries , Gzip On, Redis On.

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