реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Ссылки на готовые описания модулей на форуме, все в одном документе/ветке форума
Maverick
сообщение May 12 2015, 10:45
Сообщение #1


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



различные 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

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

функция 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 давать желательно ссылки на проверенные/рабочие описания модулей на форуме


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
Sefo
сообщение May 12 2015, 17:07
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 429
Регистрация: 11-08-05
Из: Санкт-Петербург
Пользователь №: 7 537



Классная идея!

a14.gif
Go to the top of the page
 
+Quote Post
des00
сообщение May 13 2015, 15:38
Сообщение #3


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Немного добавлю, после того будет таки прикручен вики движок, описания переедут именно туда. Авторы тем будут оповещены о вики.

http://electronix.ru/forum/index.php?showtopic=64955
конфигурируемый wishbone interconnect на SV, варианты shared bus и crossbar switch


--------------------
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение May 14 2015, 16:01
Сообщение #4


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



очень быстрый логарифм
http://electronix.ru/forum/index.php?showt...st&p=616021
Go to the top of the page
 
+Quote Post
des00
сообщение May 15 2015, 10:05
Сообщение #5


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(_Anatoliy @ May 14 2015, 23:01) *
очень быстрый логарифм
http://electronix.ru/forum/index.php?showt...st&p=616021

+1, немного допилил сдвинув запятую на нужное мне количество разрядов и использую в своих проектах.


--------------------
Go to the top of the page
 
+Quote Post
Maverick
сообщение May 15 2015, 10:17
Сообщение #6


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



сумма 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

CODE
---- Объяснение:
---- Нулевая ступень - суммируем группы по 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;


простенький тестбенч

CODE
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;


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
des00
сообщение May 15 2015, 10:53
Сообщение #7


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Про сумму единиц тут большее количество вариантов и результатов под разные плис http://electronix.ru/forum/index.php?showt...mp;#entry549588 и http://electronix.ru/forum/lofiversion/index.php/t80083.html
ЗЫ. Использовал в длинных знаковых согласованных фильтрах


--------------------
Go to the top of the page
 
+Quote Post
des00
сообщение May 15 2015, 19:56
Сообщение #8


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



модуль с произвольным количеством портов на классическом верилог 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


--------------------
Go to the top of the page
 
+Quote Post
Maverick
сообщение May 15 2015, 20:09
Сообщение #9


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Многовходовой сумматор (verilog)
http://electronix.ru/forum/index.php?s=&am...t&p=1170319

Bin2Bcd. параметризованый с InputWidth в generic. (vhdl)
http://electronix.ru/forum/index.php?s=&am...st&p=989872


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение May 26 2015, 13:27
Сообщение #10


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Ну,вообще то, так и думалось - ответят пару человек и тема заглохнет.Непонятно,дело то хорошее...
Go to the top of the page
 
+Quote Post
des00
сообщение May 26 2015, 13:30
Сообщение #11


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(_Anatoliy @ May 26 2015, 20:27) *
Ну,вообще то, так и думалось - ответят пару человек и тема заглохнет.Непонятно,дело то хорошее...

как время будет прошерстю пару подфорумов в глубину страниц на 50, потом уже по готовым ссылкам займусь более менее описанием sm.gif


--------------------
Go to the top of the page
 
+Quote Post
Maverick
сообщение Nov 19 2015, 06:43
Сообщение #12


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Описание поиска 3 минимальных значений из входных паралельно приходящих 32 значений. Pipeline реализация - задержка 9 тактов.
ссылка


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
Maverick
сообщение Feb 19 2016, 17:41
Сообщение #13


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Упрощенный USB-хост для клавиатуры - чтобы беспроводную можно было подключить без софт-процессора с Линуксом (из проводных намного проще взять PS/2). Проект для DE0-nano, ~400 ЛЕ (спасибо разработавшей USB армии даунов). На выходе модуля скан-код последней нажатой клавиши, счетчик нажатий, и карта нажатых Ctrl/Alt/Shift. 0-я версия, комменты в исходниках писать лень, проверил на паре клавиатур - работает.
ссылка


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
Мур
сообщение Jul 17 2016, 06:34
Сообщение #14


Знающий
****

Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



https://fpgasite.wordpress.com/code-snippets/
Go to the top of the page
 
+Quote Post
Maverick
сообщение Aug 10 2016, 06:41
Сообщение #15


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



пример параметризуемого знакового интегратора с насыщением


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th April 2024 - 22:33
Рейтинг@Mail.ru


Страница сгенерированна за 0.01525 секунд с 7
ELECTRONIX ©2004-2016