最近玩了一下xilinx的zynq7000系列,用的是黑金的一款开发板,主要是用来测试一款ADC。在PL部分做了接口逻辑,其中用到了FIFO做数据缓冲,而zynq的PS与PL之间是AXI接口,于是乎问题来了: FIFO写入部分是自定义逻辑,而FIFO读出则是用AXI lite接口,google了一下,没找到相关参考。自动搞了一下,测试可行,记录如下:
PS: ARM + FPGA 是自己比较喜欢的一种架构,用起来比较灵活,以前一直用altera的,现在用了一下xilinx的vivado环境,感觉还不错,就是速度慢点。
------FIFO IP核
component fifo_generator_0 is
PORT (
clk : IN STD_LOGIC;
srst : IN STD_LOGIC;
din : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
wr_en : IN STD_LOGIC;
rd_en : IN STD_LOGIC;
dout : OUT STD_LOGIC_VECTOR(31 DOWNTO 0);
full : OUT STD_LOGIC;
almost_full : OUT STD_LOGIC;
empty : OUT STD_LOGIC;
prog_