|
Сравнить (через сжатие) два 512разядных(и более)сущности, Прошу совета по минимуму аппаратного рессурса |
|
|
|
Mar 10 2011, 08:47
|

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

|
Уважаемые форумчане! Обращаюсь к вашему опыту, ибо боюсь при такой разрядности съесть рессурс уже готового проекта. Время не жмёт, его достаточно. ...Пугает здоровенный мультиплексор, если прогонять по CRC32 всю последовательность(64байта) через автомат. Может нечто древовидное организовать? Может и не CRC, а сигнатуры какие породить?... Итог,- убедиться в одинаковости сигнатур приходящей извне(в последовательном коде) со сгенерированной у себя. Кто что подобное ваял? Интуитивно, чтобы не создавать проблемы основному проекту, просится что-то разнесённое, древовидное, т.к. сами сущности размазаны по ПЛИС. Я пока готовлюсь к простому автомату CRC ...в лоб. Но неуютно в перспективе! Спасибо! Рад любым идеям и заделам...
|
|
|
|
|
 |
Ответов
(15 - 29)
|
Mar 14 2011, 08:58
|
Знающий
   
Группа: Свой
Сообщений: 654
Регистрация: 24-01-07
Из: Воронеж
Пользователь №: 24 737

|
Цитата(Мур @ Mar 14 2011, 09:48)  Не думаю... Вызов функции происходит по каждому тику клока. Так что подача данных порциями по 8 точно есть! Я это применял в побайтном темпе. Вот оттуда ваш код(с указанного сайта) мною применяемый Вызов функции - ваше дело. Хотите каждый такт, хотите не каждый. Это уж как вы решите. Ширина данных - вещь параметризуемая. Нужна ширина в 1 бит - ну так сгенерите. Не вижу проблемы. Да, и кстати, код не мой.
|
|
|
|
|
Mar 14 2011, 20:43
|
Знающий
   
Группа: Свой
Сообщений: 654
Регистрация: 24-01-07
Из: Воронеж
Пользователь №: 24 737

|
Цитата(Мур @ Mar 14 2011, 12:17)  Да, там якобы можно менять ширину шины выходной. Но на самом деле 1 не получишь.... Попробуйте! Ширина выходной шины соответствует разрядности полинома. Извините, но проблемы в упор не вижу.
|
|
|
|
|
Mar 17 2011, 13:17
|

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

|
Цитата(Shtirlits @ Mar 16 2011, 10:46)  ..Наверное не будет разницы, если у вас все написано так, как я про это думаю. Ну вот для куражу за 2 минуты CRC24 Цитата ------------------------------------------------------------------------------- -- -- Description : X24+X23+X6+X5+X1+1 -- ------------------------------------------------------------------------------- library IEEE; use IEEE.STD_LOGIC_1164.all; entity signature is port( CLK : in STD_LOGIC; Reset : in STD_LOGIC; ind : in STD_LOGIC; dat : out STD_LOGIC_VECTOR(23 downto 0) ); end signature;
architecture signature_body of signature is signal rg_baza : STD_LOGIC_VECTOR(23 downto 0); signal rg_bz : STD_LOGIC_VECTOR(23 downto 0); begin process (CLK,Reset) begin if Reset = '1' then rg_baza <= "000000000000000000000000"; elsif CLK'event and CLK = '1' then rg_baza <= rg_bz; end if; end process; rg_bz(0) <= rg_baza(23)xor ind; rg_bz(1) <= rg_baza(0) xor (rg_baza(23) xor ind); rg_bz(2) <= rg_baza(1); rg_bz(3) <= rg_baza(2); rg_bz(4) <= rg_baza(3); rg_bz(5) <= rg_baza(4) xor (rg_baza(23) xor ind); rg_bz(6) <= rg_baza(5) xor (rg_baza(23) xor ind); rg_bz(21 downto 7) <= rg_baza(20 downto 6); rg_bz(22) <= rg_baza(21) xor (rg_baza(23) xor ind); rg_bz(23) <= rg_baza(22) xor (rg_baza(23) xor ind); dat<= rg_baza; end signature_body;
Сообщение отредактировал Мур - Mar 18 2011, 06:41
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|