Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: помогите правильно правильно составить схему
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Страницы: 1, 2
Barktail
Порт S0 правильно подключен в схематике? Может вы на него сигнал, а не шину завели?
sakol
вот схема, вроде как правильно S0 подключено, утром пришла такая мысль - S0 : in STD_LOGIC_VECTOR (1 downto 0); - может надо другое обозначение? вектор это ж когда множество данных проходит, а тут всего 0 или 1.
Barktail
Цитата(sakol @ May 10 2012, 18:25) *
вот схема, вроде как правильно S0 подключено, утром пришла такая мысль - S0 : in STD_LOGIC_VECTOR (1 downto 0); - может надо другое обозначение? вектор это ж когда множество данных проходит, а тут всего 0 или 1.

Ну, судя по схеме, неправильно подключено. К S0 подключен одиночный сигнал, а в блоке, S0 описан как шина. Вот и ошибка.
sakol
он и должен быть как одиночный сигнал, только как его описать теперь правильно?
Barktail
Цитата(sakol @ May 11 2012, 10:29) *
он и должен быть как одиночный сигнал, только как его описать теперь правильно?

S0 : in STD_LOGIC
sakol
а, ну это я вчера в книге почитал, поставил так, только теперь надо по другому описать S0.
ERROR:HDLParsers:808 - "F:/xilinx/1111/copy_of_m2_1.vhd" Line 39. = can not have such operands in this context.
ERROR:HDLParsers:808 - "F:/xilinx/1111/copy_of_m2_1.vhd" Line 42. = can not have such operands in this context.
это линии O <= D0 when S0=0 else D1; и if S0=0 then

entity copy_of_m2_1 is
Port ( D0 : in STD_LOGIC_VECTOR (15 downto 0);
D1 : in STD_LOGIC_VECTOR (15 downto 0);
S0 : in STD_LOGIC;
O : out STD_LOGIC_VECTOR (15 downto 0));
end copy_of_m2_1;

architecture Behavioral of copy_of_m2_1 is
begin
O <= D0 when S0=0 else D1;
process (S0)
begin
if S0=0 then
O <= D0;
else -- elsif S=0 then
O <= D1;
end if;
end process;
end Behavioral;
Barktail
потому что сигнал надо сравнивать не с числом. Правильно будет S0 = '0'. Сигнал сравнивают с логическим нулем. И процесс можно убрать. Достаточно оставить только
O <= D0 when S0='0' else D1;
sakol
воооо, заррработало! 08.gif
спасибо за четкое обьяснение!

я пробовал делать так с ковычками, но тогда у меня в описании был вектор

теперь займусь отладкой самой схемы и выставления временных параметров
sakol
Народ, подскажите пожалуйста, я могу для проверки задать свои числа (на входе), чтобы проверить схему ?

вот на эти элементы. (они какбы подразумевают внешние данные)
Barktail
Цитата(sakol @ May 20 2012, 21:22) *
Народ, подскажите пожалуйста, я могу для проверки задать свои числа (на входе), чтобы проверить схему ?

вот на эти элементы. (они какбы подразумевают внешние данные)

можете. Создаете VHDL Test Bench и прописываете воздействия.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.