gpt4 book ai didi

vhdl - VHDL 中具有 2 个时钟的 FIFO

转载 作者:行者123 更新时间:2023-12-01 22:56:14 26 4
gpt4 key购买 nike

我对 vhdl 分配有疑问。我需要在一条 500MHz 的总线和另一条 30MHz 的总线之间创建一个 FIFO 缓冲区。

我设计了一个基本的 FIFO 缓冲区

inputs: Data_in, Write_EN, CLK_500, Read_EN, CLK_30, FlushFIFO.

outputs: Data_out, FULL, EMPTY.

这个缓冲区是使用二维数组设计的:

type fifo_arr is array (0 to 63) of std_logic_vector(39 downto 0);
signal FIFO : fifo_arr := (others => (others => '0'));

问题如下:我应该如何编写进程并在它们之间维护一个指针以进行同步?用我试过的方法,代码无法合成(ERROR:XST:827 Signal ptr cannot be synthesized)

有什么想法吗?

感谢和问候

最佳答案

向我们展示它实际提示的代码可能是个好主意!

跨时钟域的 FIFO 很棘手,不能轻易尝试......

话虽如此 - 因为它看起来像是家庭作业,所以可以在这里找到一本不错的读物:

http://eda.ee.nctu.edu.tw/jdhuang/courses/ipcd04/paper/alfke_final.pdf

(其中一位作者是已故的伟大的 Peter Alfke - 他于 1969 年设计了第一个 FIFO 芯片,并被广泛认为是 FIFO 大师,the)

关于vhdl - VHDL 中具有 2 个时钟的 FIFO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16335966/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com