Barktail
May 10 2012, 13:39
Порт S0 правильно подключен в схематике? Может вы на него сигнал, а не шину завели?
вот схема, вроде как правильно S0 подключено, утром пришла такая мысль - S0 : in STD_LOGIC_VECTOR (1 downto 0); - может надо другое обозначение? вектор это ж когда множество данных проходит, а тут всего 0 или 1.
Barktail
May 11 2012, 05:06
Цитата(sakol @ May 10 2012, 18:25)

вот схема, вроде как правильно S0 подключено, утром пришла такая мысль - S0 : in STD_LOGIC_VECTOR (1 downto 0); - может надо другое обозначение? вектор это ж когда множество данных проходит, а тут всего 0 или 1.
Ну, судя по схеме, неправильно подключено. К S0 подключен одиночный сигнал, а в блоке, S0 описан как шина. Вот и ошибка.
он и должен быть как одиночный сигнал, только как его описать теперь правильно?
Barktail
May 11 2012, 06:36
Цитата(sakol @ May 11 2012, 10:29)

он и должен быть как одиночный сигнал, только как его описать теперь правильно?
S0 : in STD_LOGIC
а, ну это я вчера в книге почитал, поставил так, только теперь надо по другому описать 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
May 11 2012, 07:45
потому что сигнал надо сравнивать не с числом. Правильно будет S0 = '0'. Сигнал сравнивают с логическим нулем. И процесс можно убрать. Достаточно оставить только
O <= D0 when S0='0' else D1;
воооо, заррработало!
спасибо за четкое обьяснение!
я пробовал делать так с ковычками, но тогда у меня в описании был вектор
теперь займусь отладкой самой схемы и выставления временных параметров
Народ, подскажите пожалуйста, я могу для проверки задать свои числа (на входе), чтобы проверить схему ?
вот на эти элементы. (они какбы подразумевают внешние данные)
Barktail
May 21 2012, 09:24
Цитата(sakol @ May 20 2012, 21:22)

Народ, подскажите пожалуйста, я могу для проверки задать свои числа (на входе), чтобы проверить схему ?
вот на эти элементы. (они какбы подразумевают внешние данные)
можете. Создаете VHDL Test Bench и прописываете воздействия.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.