Перейти к содержанию
    

Сравнить (через сжатие) два 512разядных(и более)сущности

Не думаю... Вызов функции происходит по каждому тику клока. Так что подача данных порциями по 8 точно есть!

Я это применял в побайтном темпе. Вот оттуда ваш код(с указанного сайта) мною применяемый

Вызов функции - ваше дело. Хотите каждый такт, хотите не каждый. Это уж как вы решите.

Ширина данных - вещь параметризуемая. Нужна ширина в 1 бит - ну так сгенерите. Не вижу проблемы.

Да, и кстати, код не мой.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вызов функции - ваше дело. Хотите каждый такт, хотите не каждый. Это уж как вы решите.

Ширина данных - вещь параметризуемая. Нужна ширина в 1 бит - ну так сгенерите. Не вижу проблемы.

Да, и кстати, код не мой.

Да, там якобы можно менять ширину шины выходной. Но на самом деле 1 не получишь....

Попробуйте!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да, там якобы можно менять ширину шины выходной. Но на самом деле 1 не получишь....

Попробуйте!

Ширина выходной шины соответствует разрядности полинома.

Извините, но проблемы в упор не вижу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ширина выходной шины соответствует разрядности полинома.

Извините, но проблемы в упор не вижу.

Ой, это я лоханулся. Извините! Конечно же входная шина!...

Выходная всегда по размеру CRC.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ой, это я лоханулся. Извините! Конечно же входная шина!...

Выходная всегда по размеру CRC.

Ну а ширину входных данных, как я уже говорил, можно выбрать при генерации.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я вам вот какой момент расскажу. Если написать функцию для однобитного потока данных и потом её применить столько раз за такт, сколько нужно битов обрабатывать в параллель, то Xilinx разведет это дело на частоту в ~1.5 раза большую, чем получается с кодом всех этих генераторов и opencores.

 

ЗЫ: исходник продается :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

xst, хотя это не важно, synplify при этом тоже хорош :) чего я только не пробовал, чтобы поднять тактовую... а оказалось все так просто и сногсшибательно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

За XST я такое замечал, а вот Synplify в таких случаях синтезировал однаково..

То есть вы хотите сказать, что применительно к этой задаче, разбиение на биты дало одинаковые результаты для XST и Synplify то есть увеличило тактовую ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

crc32 - задача, которая сильно зависит от способа реализации и размещения. И чем больше её регистры пытается дублировать синтезатор, тем она занимает больше площади и получается еще хуже.

Сражался я с этим 5 лет назад, утверждать не буду, но помнится, что я никак не мог сделать больше 212MHz на virtex-2pro никаким синтезатором. Когда уже замучался и написал себе модель для тестирования и тупо попытался её развести, получил 270Mhz. Сильно удивился.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ЗЫ: исходник продается :)

гыыы, если учесть что я раза 3 его выкладывал на форуме...... то вы сударь почти барыга ;)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Дык! Но вы выкладывали разве мой исходник? :)

а будет разница ? ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хотел было предложить соревнование, но заленился, да и некогда.

Наверное не будет разницы, если у вас все написано так, как я про это думаю.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

..Наверное не будет разницы, если у вас все написано так, как я про это думаю.

Ну вот для куражу за 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;

Изменено пользователем Мур

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...