我想写一个IP来使用BRAM存储/读取数据.
到目前为止,我使用(C)DMA从RAM读取存储器映射数据并获得AXIS.
然后我用VHDL创建了一个新的源文件,接受AXIS的一面就像魅力一样.另一方面,我想创建一个BRAM接口,但vivado不会为BRAM接口组合端口.
位于"vivado/data/ip/interfaces/bram_v1_0"文件夹中,存在文件"bram_rtl.xml".我试图使用xml文件中使用的端口.特别是带有"必需"标签的端口.
AXI BRAM控制器正在将它们组合在一起,所以我很确定我犯了一个错误.使用与AXI BRAM Controller相同的命名也不起作用.
我的VHDL看起来像这样:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity AXIS_TO_BRAM is
generic (
addr_size : integer range 1 to 12 := 10
);
Port (
--axistream
tdata : in std_logic_vector(31 downto 0);
tkeep : in std_logic_vector(3 downto 0);
tlast : in std_logic;
tready : out std_logic;
tvalid : in std_logic;
aclk : in std_logic;
--BRAM
en : out std_logic;
dout : in std_logic_vector(31 downto 0);
din : out std_logic_vector(31 downto 0);
we : out std_logic; …Run Code Online (Sandbox Code Playgroud)