0

我正在创建一个基于 Lattice Mach Xo2 和 Lattice Diamond 的项目。我阅读了文档,但我仍然对内部时钟的使用感到困惑。我想使用 133 MHz 内部时钟。

在互联网上找到的示例导致了这个基本代码:

use ieee.std_logic_1164.all;
use ieee.numeric_std.all;

library machxo2;
use machxo2.all;

entity main_clock is
     port (stdby : in std_logic;
           clock : out std_logic
           );
end main_clock;

architecture arch of main_clock is
    signal osc_int_c : std_logic;
    component OSCH
    -- synthesis translate_off
        generic(NOM_FREQ: string := "133.0");
    -- synthesis translate_on
        port(STDBY : IN std_logic;
              OSC : OUT std_logic
                );
    end component;
begin
    clock <= osc_int_c;

    m_clock: OSCH
    -- synthesis translate_off
    generic map(NOM_FREQ => "133.0")
    -- synthesis translate_on
    port map(STDBY => stdby,
                OSC => osc_int_c
    );

在电子表格视图 > Timing Preference 中配置时钟:osc_int_c 为 133 MHz。我的配置

但我发现了这个错误:

错误 - osc_int_c 不匹配设计中的时钟网络。

我认为我的时钟声明完全错误,但我不明白该怎么做。Lattice Diamond 中的时钟配置是否可以用于我的顶级输入?我没有外部石英。

4

0 回答 0