3

vhdl の割り当てに問題があります。500MHz のバスと 30MHz の別のバスの間に FIFO バッファを作成する必要があります。

私は基本的なFIFOバッファを設計しました

入力: Data_in、Write_EN、CLK_500、Read_EN、CLK_30、FlushFIFO。

出力: Data_out、FULL、EMPTY。

このバッファは、2D 配列を使用して設計されました。

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)

何か案は?

感謝とよろしく

4

3 に答える 3

2

これらの FIFO コア、特に fifo のデュアル クロック バージョンのオープン コアを調べたことがあります。ポインターを同期することについての公正なアイデアが得られます

http://opencores.org/project,generic_fifos

于 2013-05-02T14:08:28.627 に答える