редактировать: я только что переустановил решетку алмаза и обновления, Active-hdl был установлен автоматически, но симуляция по-прежнему дает мне ту же ошибку. когда я меняю библиотеку machXO3; используйте machXO3.all; к библиотеке machXO2; используйте machXO2.all; он компилируется..
Я пытаюсь написать тестовый стенд для простой реализации OSCH, но не могу заставить его работать.
Мне удалось заставить его работать несколько месяцев назад, но я потерял файл, над которым работал.
это код vhdl, который у меня есть:
library ieee;
use ieee.std_logic_1164.all;
-- For Main Clock --
library machXO3;
use machXO3.all;
--------------------
entity Clock is
port (stdby : in std_logic;
osc_int: out std_logic
);
end Clock;
architecture Clock_behav of Clock is
COMPONENT OSCH
-- synthesis translate_off
GENERIC (NOM_FREQ: string := "2.56");
-- synthesis translate_on
PORT (STDBY : IN std_logic;
OSC : OUT std_logic
);
END COMPONENT;
begin
Clock: OSCH
-- synthesis translate_off
GENERIC MAP( NOM_FREQ => "2.56" )
-- synthesis translate_on
PORT MAP ( STDBY => stdby,
OSC => osc_int
);
end Clock_behav;
Это тестовый стенд, большая его часть была сгенерирована решетчатым алмазом. Я только добавил stdby ‹= '0';
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
USE ieee.numeric_std.ALL;
ENTITY testbench IS
END testbench;
ARCHITECTURE behavior OF testbench IS
COMPONENT Clock
PORT(
stdby : IN std_logic;
osc_int : OUT std_logic
);
END COMPONENT;
SIGNAL stdby : std_logic;
SIGNAL osc_int : std_logic;
BEGIN
-- Please check and add your generic clause manually
uut: Clock PORT MAP(
stdby => stdby,
osc_int => osc_int
);
stdby <= '0';
-- *** Test Bench - User Defined Section ***
tb : PROCESS
BEGIN
--wait; -- will wait forever
END PROCESS;
-- *** End Test Bench - User Defined Section ***
END;
Lattice-diamond говорит мне, что все в порядке, но когда я запускаю все в Active-hdl для имитации, я получаю следующие ошибки:
# Error: COMP96_0059: Main.vhd : (5, 1): Library "machXO3" not found.
# Error: COMP96_0078: Main.vhd : (6, 5): Unknown identifier "machXO3".
# Compile Architecture "Clock_behav" of Entity "Clock"
# Error: COMP96_0056: Main.vhd : (15, 1): Cannot find referenced entity declaration "Clock".
# Compile failure 3 Errors 0 Warnings Analysis time : 16.0 [ms]
machXO3
библиотека. Вам нужна имитационная модель для компонента, который вы пытаетесь смоделировать, она не является частью языка vhdl и не поставляется с вашим симулятором. Убедитесь, что у вас установлен Active HDL - Lattice Edition и поддерживает ли ваша версия семейство MachXO3. - person mucka   schedule 07.02.2019attribute NOM_FREQ : string;
Укажите атрибутattribute NOM_FREQ of Clock : label is "133.0";
(неясно, нужно ли значение таблицы 14 или таблицы 15).-- synthesis_translate_off
Гарантии, что дженерик не учитывается при синтезе (но будет учитываться при моделировании). Атрибут был бы. - person   schedule 02.03.2019