导入自定义 VHDL IP 但无法使用或查看 IP

Importing Custom VHDL IP but not able to use or view IP

我是 VHDL 的新手,目前正在通过我找到的示例代码将一些过滤器应用于 hdmi 传递。我设法让一切正常工作 (),所以我正在尝试使用 Vivado 将代码迁移到一个 IP 上。

我这样声明了组件和实例:

component TestIP
        port (
            vid_pData         : in std_logic_vector(23 downto 0);
            vid_pData_new     : out std_logic_vector(23 downto 0);
            aRst              : in std_logic;
            PixelClk    : in std_logic;

            sw0               : in std_logic;
            sw1               : in std_logic;
            sw2               : in std_logic;
            sw3               : in std_logic   
            );

TestIP_inst : TestIP
port map(
    vid_pData => vid_pData_new,
    aRst      => async_reset_i,
    PixelClk      => pixelclk,

    sw0       => sw0,
    sw1       => sw1,
    sw2       => sw2,
    sw3       => sw3
    );

其余代码保持不变。我使用 IP 向导打包 IP,并将其导出到默认 IP 存储库。它创建了一个名为 TestIP_0 的文件,其中包含两个文件,TestIP_0 和 Top_IP,都是 .vhd 文件。

在vivado的源层次结构中,我可以在IP中看到我的实例,TestIP_inst: TestIP(Behavioral)(TestIP_0.vhd)

问题是我在我的 IP 目录中找不到它,即使我可以在原理图上成功创建比特流,我也希望在 DVI2RGB 和 RGB2DVI 块之间找到我的 IP,但我的 IP 没有出现并且数据流没有将输入连接到输出,所以当我对电路板编程时,屏幕是黑色的。

对于这可能是一个愚蠢的问题,我提前表示歉意,但知道如何纠正这个问题吗?

谢谢

编辑 这是我的 TestIP

实体声明
entity TestIP is
Port ( vid_pData : in STD_LOGIC_Vector(23 downto 0);
       vid_pData_new : out STD_LOGIC_Vector(23 downto 0);
       aRst              : in std_logic;
       PixelClk    : in std_logic;

       sw0 : in STD_LOGIC;
       sw1 : in STD_LOGIC;
       sw2 : in STD_LOGIC;
       sw3 : in STD_LOGIC);
end TestIP;

启动组件的正确方法是定义一组新的变量,它一定是混淆了,因为 vid_pData 和 vid_pData new 有多个实例,所以有没有 "order" 数据流。

TestIP_inst : TestIP
port map(
    vid_pData1  => vid_pData,
    vid_pData2 => vid_pData_new,
    aRst      => async_reset_i,
    PixelClk      => pixelclk,

    sw0       => sw0,
    sw1       => sw1,
    sw2       => sw2,
    sw3       => sw3
    );