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

 
 
> Модуль поиска, help
Gulf777
сообщение Mar 15 2009, 10:11
Сообщение #1





Группа: Новичок
Сообщений: 5
Регистрация: 15-03-09
Пользователь №: 46 113



Требуются материалы или примеры реализации "Блока поиска заданных многоразрядных чисел в непрерывном последовательном цифровом потоке на базе ПЛИС Xilinx, Altera, Actel и т.п."

Заранее спасибо!!!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 10)
Methane
сообщение Mar 15 2009, 10:45
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 615
Регистрация: 12-01-09
Из: США, Главное разведовательное управление
Пользователь №: 43 230



Цитата(Gulf777 @ Mar 15 2009, 12:11) *
Требуются материалы или примеры реализации "Блока поиска заданных многоразрядных чисел в непрерывном последовательном цифровом потоке на базе ПЛИС Xilinx, Altera, Actel и т.п."

Заранее спасибо!!!

А что требуется-то? Схема компаратора?
Go to the top of the page
 
+Quote Post
Gulf777
сообщение Mar 15 2009, 11:28
Сообщение #3





Группа: Новичок
Сообщений: 5
Регистрация: 15-03-09
Пользователь №: 46 113



Да
Go to the top of the page
 
+Quote Post
Methane
сообщение Mar 15 2009, 12:17
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 3 615
Регистрация: 12-01-09
Из: США, Главное разведовательное управление
Пользователь №: 43 230



Так можно

Код
reg [7:0] old0;
reg [7:0] old1;
reg [7:0] old2;
reg [7:0] old3;
input [7:0] dataIn;

input [7:0] cmpw0;
input [7:0] cmpw1;
input [7:0] cmpw2;
input [7:0] cmpw3;

output ok;

always @ (posedge clk)
begin
    old0 <= dataIn;
    old1 <= old0;
    old2 <= old1;
    old3 <= old2;
end
assign ok = ((old0 == cmpw0) && (old1 == cmpw1) && (old2 == cmpw2) && (old3 == cmpw3) );


/* не собирал, на ошибки не проверял, дома нет софта */

Сообщение отредактировал Methane - Mar 15 2009, 12:18
Go to the top of the page
 
+Quote Post
Gulf777
сообщение Mar 15 2009, 13:13
Сообщение #5





Группа: Новичок
Сообщений: 5
Регистрация: 15-03-09
Пользователь №: 46 113



Спс за код, но требуются примеры "модулей поиска" реализованные на ПЛИС различных производителей, не обязательно отдельно, возможно использование их в больших проектах. Присылайте ссылки, буду благодарен.
Go to the top of the page
 
+Quote Post
Methane
сообщение Mar 15 2009, 13:16
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 3 615
Регистрация: 12-01-09
Из: США, Главное разведовательное управление
Пользователь №: 43 230



Цитата(Gulf777 @ Mar 15 2009, 15:13) *
Спс за код, но требуются примеры "модулей поиска" реализованные на ПЛИС различных производителей, не обязательно отдельно, возможно использование их в больших проектах. Присылайте ссылки, буду благодарен.

Вы слегка "странное просите". Вариантов может быть очень много.
Если вам нужен пример "большого проекта", то смотрите на
http://www.opensparc.net/
Go to the top of the page
 
+Quote Post
EvgenyNik
сообщение Mar 15 2009, 15:12
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 597
Регистрация: 24-05-06
Из: г. Чебоксары
Пользователь №: 17 402



Цитата
примеры "модулей поиска" реализованные на ПЛИС различных производителей

"а теперь этот же стих, но в исполнении другого рассказчика..." 1111493779.gif
Код на HDL-языке будет справедлив для ПЛИС всех производителей, если конечно, не использовать какие-то специфические навороты. Но в вашей формулировке ничего специфического нет. HDL как раз подразумевает достаточную абстрагированность от вентильного уровня конкретного производителя.
Подобные задачи - "привести реализации на основе..." характерны для логики на рассыпухе или чисто теоретических (учебных) изысканий. Тот же RS-триггер на И-НЕ или ИЛИ-НЕ... А здесь всё более поверхностно.
Да и чем принципиально различные производители могут отличаться друг от друга? У каждого из них в линейке собственных устройств различий больше, чем между собой. Поэтому логичнее было бы "придумать" проблему и различно решать её на ПЛИСках/ПЛМках с PLL/ без PLL, с ОЗУ/ без ОЗУ, с FLASH на борту и без неё.. А производитель роли особой не играет. Разве что последовательность надо анализировать в космосе или в зоне ядерного взрыва wink.gif


--------------------
Почему разработчики систем повышенной надёжности плохо справляются с простыми проектами? :)
Go to the top of the page
 
+Quote Post
Gulf777
сообщение Mar 21 2009, 11:09
Сообщение #8





Группа: Новичок
Сообщений: 5
Регистрация: 15-03-09
Пользователь №: 46 113



Помогите накидать код на VHDL для Прикрепленный файл  ______________.doc ( 24 килобайт ) Кол-во скачиваний: 205
алгоритма!
Go to the top of the page
 
+Quote Post
HARMHARM
сообщение Mar 21 2009, 11:23
Сообщение #9


читатель даташитов
****

Группа: Свой
Сообщений: 853
Регистрация: 5-11-06
Из: Днепропетровск
Пользователь №: 21 999



Цитата(Gulf777 @ Mar 21 2009, 13:09) *
Помогите накидать код на VHDL для Прикрепленный файл  ______________.doc ( 24 килобайт ) Кол-во скачиваний: 205
алгоритма!

Да уж, уважаемый Олег, очень информативно!
Go to the top of the page
 
+Quote Post
Gulf777
сообщение Mar 21 2009, 12:42
Сообщение #10





Группа: Новичок
Сообщений: 5
Регистрация: 15-03-09
Пользователь №: 46 113



А что непонятно в этом алгоритме?

модуль поиска в непрерывном последовательном цифровом потоке, поиск осуществляется по маске 64 бита, при нахождении нужной последоваетльности на выход результата подается 1-ца.
Go to the top of the page
 
+Quote Post
Sefo
сообщение Mar 21 2009, 19:57
Сообщение #11


Местный
***

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



Непонятно почему Вы это сами сделать не можете - это как при изучении языка Си написать программу выводящую "Helo World!"

CODE


entity CMP
port
(
CLK : in std_logic;
Reset : in std_logic;

Data_In : in std_logic_vector(63 downto 0);
Data_Out : out std_logic_vector(63 downto 0);

Mask : in std_logic_vector(63 doento 0);

R : out std_logic -- результат сравнения - равен 1 когда Mask = Data_In
)
end entity CMP;

architecture RTL of CPM is

begin

Data_Out <= Data_In;

process(CLK)
begin

if Reset = '1' then
R <= '0';
elsif Data_In = Mask then
R <= '1';
else
R <= '0';
end if;

end process;

end RTL;


а если не синхронный, то

CODE


entity CMP
port
(
Data_In : in std_logic_vector(63 downto 0);
Data_Out : out std_logic_vector(63 downto 0);

Mask : in std_logic_vector(63 doento 0);

R : out std_logic -- результат сравнения - равен 1 когда Data_In = Mask
)
end entity CMP;

architecture RTL of CPM is

begin

Data_Out <= Data_In;

R <= '1' when Data_In = Mask else '0';

end RTL;
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 23:32
Рейтинг@Mail.ru


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