首页 > 解决方案 > 英特尔 MAX 10 DDR 输出

问题描述

我想通过 DDR 寄存器输出时钟信号。目标 FPGA 是 Intel MAX 10 (10M16DAU324I7G) FPGA。我实例化了一个 ALTDDIO_OUT 组件,如下面的代码所示。但是,输出引脚始终保持低电平。时钟正在运行,引脚在 R15。谁能提供一个提示我的问题可能是什么?

library ieee;
use ieee.std_logic_1164.all;

library altera_mf;
use altera_mf.altera_mf_components.all;

entity ddr_test
    port(
        clk_in  : in  std_logic;        
        clk_out : out std_logic
    );
end entity ddr_test;

architecture rtl of ddr_test is
    signal s_clk : std_logic;
begin
    s_clk <= clk_in; --omitted the global clock network for simplicity

    i_ODDR : component ALTDDIO_OUT
        generic map(
            width => 1
        )
        port(
            datain_h   => "1",
            datain_l   => "0",
            outclock   => s_clk,
            dataout(0) => clk_out
        );
end architecture rtl;

标签: vhdlintel-fpga

解决方案


ALTDDIO_OUT 原语的直接实例化似乎在所选的 FPGA 和/或工具链 (MAX 10, Quartus Prime 18.1) 上不能可靠地工作。解决方案是使用 DDR 寄存器输出生成带有 MegaWizard GPIO Lite Intel FPGA IP 的 IP 内核。


推荐阅读