[an error occurred while processing this directive]
|
Придет время, и Вам будет смешно вспоминать, как Вы работали только через принципиальные схемы.
Простой пример: Попробуйте нарисовать КОМБИНАТОРНУЮ схему, которая выдавала бы кодированное количество единиц (сколько линий стоят в "1") во входном векторе, если ширина этого входного вектора составляет, например, 64 бита.
Т.е. 64 бита на входе -> 6 бит на выходе.
Никакого клока в схеме нет и по условиям задачи его использование не допускается.
В текстовом виде решение этой задачи выглядит так (9 строк):
summ: process (data) is
variable sum: unsigned(5 downto 0):=(others=>'0');
begin
sum:=(others=>'0');
for i in 0 to 63 loop
if data(i)='1' then sum:=sum+1; end if;
end loop;
result<=std_logic_vector(sum);
end process;
Интересно, сколько листов это займет в виде принципиальной схемы? :-)
Даже страшно себе представить :-)
E-mail: info@telesys.ru