在vivado中的IBUFDS模拟

时间:2016-10-12 07:00:37

标签: vhdl simulation vivado

我需要检查我的设备包装逻辑,我遇到的一个问题是IBUFDS实例没有正确模拟。我写了简单的测试来检查和显示我的意思。

Device.vhd

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

entity Device is
    Port (
        CLK_P: in std_logic; 
        CLK_N: in std_logic;
        CLK: out std_logic 
    );
end Device;

architecture arch of Device is
    component IBUFDS
        port (
            O: out std_logic;
            I: in std_logic;
            IB: in std_logic
        );
    end component;
begin
    D: IBUFDS
        port map (
            O => CLK,
            I => CLK_P,
            IB => CLK_N
        );
end arch;

Device_tb.vhd

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

entity Device_tb is
--  Port ( );
end Device_tb;

architecture Behavioral of Device_tb is
    signal CLK, CLK_P, CLK_N: std_logic := '0';
begin
    DEV: entity work.Device(arch)
        port map(
            CLK => CLK,
            CLK_P => CLK_P,
            CLK_N => CLK_N
        );

    CLK_gen: process
    begin
        CLK_P <= not CLK_P;
        CLK_N <= CLK_P;
        wait for 5 ns;
    end process;

end Behavioral;

结果模拟

enter image description here

正如您所见,CLK out始终未定义。不知道如何解决这个问题,它是否可以解决。我已经考虑过我的包装器的架构,但不喜欢这个解决方案,也许有更好的方法来模拟这个。我试图为IBUFDS实例编写通用映射,但是,详细说明了步骤失败并出现错误,那些通用参数没有为IBUFDS定义。

0 个答案:

没有答案