Maverick_ 15 12 мая, 2015 Опубликовано 12 мая, 2015 · Жалоба различные IP core от des00 (SV) http://electronix.ru/forum/index.php?showtopic=100684 Реализация БПФ на ПЛИС, Тудности, встречаемые при реализации (vhdl) http://electronix.ru/forum/index.php?s=&am...st&p=531957 модуль spi slave (verilog/vhdl) http://electronix.ru/forum/index.php?showtopic=127855 функция arctg (VHDL) http://electronix.ru/forum/index.php?showt...st&p=478938 от des00 afifo (verilog) http://electronix.ru/forum/index.php?s=&am...st&p=841625 пример параметризуемого знакового интегратора с насыщением (VHDL) http://electronix.ru/forum/index.php?s=&am...st&p=922058 мост для данных (разрядность 1 бит) из одного частотного домена в другой (verilog) http://electronix.ru/forum/index.php?s=&am...st&p=996795 Параметризуемый фильтр КИХ. Реализация - вторая прямая форма,порядок чётный,ИХ симметричная,латентность - 2 такта не зависимо от порядка. (VHDL) http://electronix.ru/forum/index.php?s=&am...t&p=1031100 для новичков: JK триггер (VHDL) http://electronix.ru/forum/index.php?s=&am...t&p=1327650 параметризируемый модуль целочисленного деления (vhdl) http://electronix.ru/forum/index.php?s=&am...t&p=1179161 и https://electronix.ru/forum/index.php?showtopic=138910 от des00 функция sqrt (vhdl) http://electronix.ru/forum/index.php?showt...=sqrt&st=30 для новичков: Делитель частоты (vhdl) http://electronix.ru/forum/index.php?s=&am...t&p=1335306 PS Я только начал собирать... Надеюсь на помощь... PS PS в дальнейшем хотелось бы к каждому описанию прикрепить текстовое объяснение того, что реализовано PS PS PS PS давать желательно ссылки на проверенные/рабочие описания модулей на форуме Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Sefo 0 12 мая, 2015 Опубликовано 12 мая, 2015 · Жалоба Классная идея! :a14: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 13 мая, 2015 Опубликовано 13 мая, 2015 · Жалоба Немного добавлю, после того будет таки прикручен вики движок, описания переедут именно туда. Авторы тем будут оповещены о вики. http://electronix.ru/forum/index.php?showtopic=64955 конфигурируемый wishbone interconnect на SV, варианты shared bus и crossbar switch Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_sda 0 14 мая, 2015 Опубликовано 14 мая, 2015 · Жалоба очень быстрый логарифм http://electronix.ru/forum/index.php?showt...st&p=616021 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 15 мая, 2015 Опубликовано 15 мая, 2015 · Жалоба очень быстрый логарифм http://electronix.ru/forum/index.php?showt...st&p=616021 +1, немного допилил сдвинув запятую на нужное мне количество разрядов и использую в своих проектах. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Maverick_ 15 15 мая, 2015 Опубликовано 15 мая, 2015 · Жалоба сумма 1 в векторе http://electronix.ru/forum/index.php?s=&am...st&p=814251 (verilog) ( объяснение Viko http://electronix.ru/forum/index.php?s=&am...st&p=814665 ) полный аналог на Vhdl ---- Объяснение: ---- Нулевая ступень - суммируем группы по 4 бита, каждому такому сумматору должно потребоваться 3 LUT и никаких переносов. ---- Дальше суммируем обычным деревом сумматоров. Но - старшие биты в каждом из сумматоров обладают свойством, назовем, "исключительности". ---- То есть, если этот бит в 1, то все остальные младшие биты в 0 (максимальные числа в ступенях s0, s1, s2, s3 будут 4, 8, 16 и 32). ---- Поэтому для вычисления старшего бита не нужны переносы из младших. Вот на этих переносах задержки и экономятся. ---- Дальше - нужно применить схемы параллельных переносов, когда для их формирования используются только входные сигналы. ---- Только нужно еще определить, в каком случае параллельные переносы будут эффективнее последовательных. ---- Надеюсь, если правильно все написать, то быстродействие будет не меньше, чем при игнорировании carry. library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; USE ieee.numeric_std.ALL; entity sum1_std_logic_vector is Port ( clk : in std_logic; rst : in std_logic; d : in std_logic_vector(63 downto 0); sum : out std_logic_vector(6 downto 0)); end sum1_std_logic_vector; architecture behavioral of sum1_std_logic_vector is type ARRAY_TYPE_s0 is array (0 to 15) of std_logic_vector(2 downto 0); type ARRAY_TYPE_s1 is array (0 to 7) of std_logic_vector(3 downto 0); type ARRAY_TYPE_s2 is array (0 to 3) of std_logic_vector(4 downto 0); type ARRAY_TYPE_s3 is array (0 to 1) of std_logic_vector(5 downto 0); signal s0 : ARRAY_TYPE_s0; signal s1 : ARRAY_TYPE_s1; signal s2 : ARRAY_TYPE_s2; signal s3 : ARRAY_TYPE_s3; signal dc : std_logic_vector(63 downto 0); signal sumc : std_logic_vector(6 downto 0); begin process (clk, rst) begin if (clk'event and clk = '1') then dc <= d; sum <= sumc; end if; end process; process (dc, d, s0, s1, s2, s3) begin for i in 0 to 15 loop s0(i) <= conv_std_logic_vector( conv_integer(dc(4*i)) + conv_integer(dc(4*i + 1)) + conv_integer(dc(4*i + 2)) + conv_integer(dc(4*i + 3)), 3); for j in 0 to 7 loop s1(j)(2 downto 0) <= conv_std_logic_vector( conv_integer(s0(2*j)) + conv_integer(s0(2*j +1)), 3); s1(j)(3) <= s0(2*j)(2) and s0(2*j +1)(2); end loop; for k in 0 to 3 loop s2(k)(3 downto 0) <= s1(2*k) + s1(2*k +1); s2(k)(4) <= s1(2*k)(3) and s1(2*k +1)(3); end loop; for m in 0 to 1 loop s3(m)(4 downto 0) <= conv_std_logic_vector( conv_integer(s2(2*m)) + conv_integer(s2(2*m +1)), 5); s3(m)(5) <= s2(2*m)(4) and s2(2*m +1)(4); end loop; sumc(5 downto 0) <= conv_std_logic_vector (conv_integer(s3(0)) + conv_integer(s3(1)), 6); sumc(6) <= s3(0)(5) and s3(1)(5); end loop; end process; end behavioral; простенький тестбенч library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; USE ieee.numeric_std.ALL; ENTITY sum1_std_logic_vector_vhd_tst IS END sum1_std_logic_vector_vhd_tst; ARCHITECTURE sum1_std_logic_vector_arch OF sum1_std_logic_vector_vhd_tst IS -- constants -- signals SIGNAL clk : STD_LOGIC; SIGNAL d : STD_LOGIC_VECTOR(63 DOWNTO 0):= (63 => '1', 62 => '1', 61 => '1', 60 => '1', others => '0'); SIGNAL rst : STD_LOGIC; SIGNAL sum : STD_LOGIC_VECTOR(6 DOWNTO 0); COMPONENT sum1_std_logic_vector PORT ( clk : IN STD_LOGIC; d : IN STD_LOGIC_VECTOR(63 DOWNTO 0); rst : IN STD_LOGIC; sum : OUT STD_LOGIC_VECTOR(6 DOWNTO 0) ); END COMPONENT; BEGIN i1 : sum1_std_logic_vector PORT MAP ( -- list connections between master ports and signals clk => clk, d => d, rst => rst, sum => sum ); clk_process :process begin clk <= '1'; wait for 5 ns; clk <= '0'; wait for 5 ns; end process; rst_process :process begin rst <= '0'; wait for 10 ns; rst <= '1'; wait; end process; process (clk, rst) begin if (clk'event and clk = '1') then --d <= "0000000000000000111111111111111111111111000000000000111111111111"; d <= d + "0000000000000000000000000000000000000000000000000000000000000001"; end if; end process; END sum1_std_logic_vector_arch; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 15 мая, 2015 Опубликовано 15 мая, 2015 · Жалоба Про сумму единиц тут большее количество вариантов и результатов под разные плис http://electronix.ru/forum/index.php?showt...mp;#entry549588 и http://electronix.ru/forum/lofiversion/index.php/t80083.html ЗЫ. Использовал в длинных знаковых согласованных фильтрах Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 15 мая, 2015 Опубликовано 15 мая, 2015 · Жалоба модуль с произвольным количеством портов на классическом верилог http://electronix.ru/forum/index.php?showtopic=122903 тоже самое, но на SV http://electronix.ru/forum/index.php?showt...t&p=1158069 (очень красивое решение от dxp) Wishbone B4 интерконнект от ~Elrond~ http://electronix.ru/forum/index.php?showt...t&p=1323978 Учебный процессор от tAmega http://electronix.ru/forum/index.php?showtopic=100305 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Maverick_ 15 15 мая, 2015 Опубликовано 15 мая, 2015 · Жалоба Многовходовой сумматор (verilog) http://electronix.ru/forum/index.php?s=&am...t&p=1170319 c сигналом разрешения Bin2Bcd. параметризованый с InputWidth в generic. (vhdl) http://electronix.ru/forum/index.php?s=&am...st&p=989872 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_sda 0 26 мая, 2015 Опубликовано 26 мая, 2015 · Жалоба Ну,вообще то, так и думалось - ответят пару человек и тема заглохнет.Непонятно,дело то хорошее... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 26 мая, 2015 Опубликовано 26 мая, 2015 · Жалоба Ну,вообще то, так и думалось - ответят пару человек и тема заглохнет.Непонятно,дело то хорошее... как время будет прошерстю пару подфорумов в глубину страниц на 50, потом уже по готовым ссылкам займусь более менее описанием :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Maverick_ 15 19 ноября, 2015 Опубликовано 19 ноября, 2015 · Жалоба Описание поиска 3 минимальных значений из входных паралельно приходящих 32 значений. Pipeline реализация - задержка 9 тактов. ссылка Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Maverick_ 15 19 февраля, 2016 Опубликовано 19 февраля, 2016 · Жалоба Упрощенный USB-хост для клавиатуры - чтобы беспроводную можно было подключить без софт-процессора с Линуксом (из проводных намного проще взять PS/2). Проект для DE0-nano, ~400 ЛЕ (спасибо разработавшей USB армии даунов). На выходе модуля скан-код последней нажатой клавиши, счетчик нажатий, и карта нажатых Ctrl/Alt/Shift. 0-я версия, комменты в исходниках писать лень, проверил на паре клавиатур - работает. ссылка Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Мур 1 17 июля, 2016 Опубликовано 17 июля, 2016 · Жалоба https://fpgasite.wordpress.com/code-snippets/ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Maverick_ 15 10 августа, 2016 Опубликовано 10 августа, 2016 · Жалоба пример параметризуемого знакового интегратора с насыщением Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться