[an error occurred while processing this directive]
Пример из книги не работает. Почему?
(«Телесистемы»: Конференция «Языки описания аппаратуры (VHDL и др.))

миниатюрный аудио-видеорекордер mAVR

Отправлено Лёха 27 марта 2006 г. 12:43

1 ----- Solution 1: in/out=SIGNED ----------
2 LIBRARY ieee;
3 USE ieee.std_logic_1164.all;
4 USE ieee.std_logic_arith.all;
5 ------------------------------------------
6 ENTITY adder1 IS
7 PORT ( a, b : IN SIGNED (3 DOWNTO 0);
8 sum : OUT SIGNED (4 DOWNTO 0));
9 END adder1;
10 ------------------------------------------
11 ARCHITECTURE adder1 OF adder1 IS
12 BEGIN
13 sum <= a + b;
14 END adder1;
15 ------------------------------------------

Работаю в QuartusII. Пишет сообщение об ошибке в строке "13".
Error: Выражение имеет 4 элемента, а должно иметь 5 элементов.

Я конечно понимаю, что если написать:
7 PORT ( a, b : IN SIGNED (4 DOWNTO 0);
8 sum : OUT SIGNED (4 DOWNTO 0));
или
7 PORT ( a, b : IN SIGNED (3 DOWNTO 0);
8 sum : OUT SIGNED (3 DOWNTO 0));
то всё скомпилиться, но в первом случае задействованы лишние порты,
а во втором результат просто некорректен т.к. :
"1111" + "1111" = "11110" т.е 5 портов, а не 4.

Как с этим справится?
P.S. Извините, если что. Изучаю только 1 неделю.
Лёха.


Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание

E-mail: info@telesys.ru