如何利用Verilog hdl语言实现将一个32位长的数组按照8位逐次写入FIFO
时间:10-02
整理:3721RD
点击:
本人现在要将一个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]; 这个句子一直提示有问题,不知道怎么解决了?
可是每次编程都出现错误,下面是本人的程序思想,有点像C语言,请各位赐教一下,应该怎么修改才能实现。
wr_data <= datain [8*i+7:8*i];
i <= i +1;
wr_data <= datain [8*i+7:8*i]; 这个句子一直提示有问题,不知道怎么解决了?
FIFO不能写32bit,读8bit?可以异步FIFO啊
分4个cycle写入,用一个2-bit的counter0,1,2,3循环计数,counter等于0,1,2,3时分别写入【7:0】,【15:8】,【23:16】,【31:24】,写FIFO的使能信号对应产生四次,over。
非常感谢回复!是这样的,我这次只是个小实验,实际采样程序当中要传输的数据量,可能会达到1000左右个位的数据,因此我想用循环实现,因为不想用case语句,一直8位,8位赋值这么一直赋值下去。难道就只有这么一种写法吗?
你输入的datain[31:0]也是按照一个cycle输入32-bit处理的,难不成你想做成所有数据一次性输入datain[999……99:0]?