verilog 将两个数据合并为一个

2024-11-30 15:23:05
推荐回答(3个)
回答(1):

fifo<={fifo[3:0],din}; 这个你写的没问题,低四位是din,高四位是fifo[3:0]。
但两个clk的频率问题,导致输出数据会不会按照你想的(注意采样哈),还有,fifo是output,为什么不在输出之前先锁存下,保证数据正确,而是直接把输出的寄存器按位截取?

回答(2):

fifo<={fifo[3:0],din};
这个你写的没问题,低四位是din,高四位是fifo[3:0]。
但两个clk的频率问题,导致输出数据会不会按照你想的(注意采样哈),还有,fifo是output,为什么不在输出之前先锁存下,保证数据正确,而是直接把输出的寄存器按位截取?

回答(3):

从左到右,依次为高位-->低位;din 1位的?恐怕不行吧?至少左右位数要匹配,还有你这个代码写的有点纠结了,看一下Quartus2自带的fifo写法吧。