2013-09-20 2 views
1

Я новичок в vhdl, и я пытаюсь скомпилировать код с использованием структурной модели. Я простой пример, показанный ниже:Код структурной архитектуры в vhdl

ENTITY equiv IS 
    PORT (a, b : IN BIT; 
      c : OUT BIT); 
END equiv; 

ARCHITECTURE structure OF equiv IS 

    SIGNAL tmp : BIT; 

    COMPONENT xor2 
     PORT (x, y : IN BIT; z : OUT BIT); 
    END COMPONENT; 

    COMPONENT inv 
     PORT (x : IN BIT; z : OUT BIT); 
    END COMPONENT; 

BEGIN 

    u0: xor2 PORT MAP (a, b, tmp); 
    u1: inv PORT MAP (tmp, c); 

END structure; 

Когда я пытаюсь скомпилировать этот код, я постоянно получаю ошибку, которая говорит:

«Неопределенные объекты в выбранной области»

Я тоже запутался как определить код xor2 является xor? Какова внутренняя работа этого кода? Я попытался найти, но ничего не нашел. Я не буду правильно разбираться в своих основах.

Заранее благодарен!

ответ

1

Вы пытаетесь создать здесь 2 компонента (xor2 и inv2). Однако компилятор ничего не знает о них, поэтому он говорит о неопределенных объектах. Ваш вопрос спот-ин, вам нужно определить внутреннюю работу этого кода.

Вам необходимо создать свой собственный файл с именем xor2.vhd и определить для него сущность/архитектуру. Вы уже знаете, на что это должно быть похоже: на основе определения вашего компонента: КОМПОНЕНТ xor2 PORT (x, y: IN BIT; z: OUT BIT); КОНЕЧНЫЙ КОМПОНЕНТ;

x и y - входы бит типа, z - выход бит типа. Поэтому напишите внутреннюю работу, затем сначала скомпилируйте их, затем скомпилируйте все это в одну библиотеку, и она должна работать.

+0

Большое спасибо. Теперь это имеет больше смысла! – San

Смежные вопросы