Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Программируемые логические схемы и их применение»

в двух словах и мутно (+)

Отправлено shtirlits 22 июня 2007 г. 14:05
В ответ на: Ответ: Да интересно(+) отправлено <font color=gray>discreet</font> 22 июня 2007 г. 13:53

Смотрю на xilinx-овыский даташит на ethernet-овский CRC или infiniband-овскую спецификацию, где нарисовано какой бит с каким xor-ится.
На VHDL пишу 2 функции:
1) вычисляеи что случится с CRC-регистром после добавления 1 бита данных, сами данные еще не добавляются
2) вычисляет с чем нужно по-xor-ить результат первой функции, чтобы получился таки CRC-регистр после добавления 1 бита данных.

Дальше рекурсивно получаю из первых двух функций варианты функций для сколько нужно битов.
Предположим, у меня CRC-32 и данных поступают по 40 бит.
Тогда я делаю 2 netlist-а, один реализует все необходимые xor-ы над CRC-регистром, а второй над данными. Результаты у обоих 32-битные, так как CRC у нас 32-битный. Регистров в netlist-ах нет.
Netlist-ы делаю synplify-ем, xst не справляется.

Все, остается результаты обоих нетлистов засунуть в регистры и выходы регистров по-xor-ить.

В чем секрет. Во-первых, функции записывались таким образом чтобы не ошибиться и по счастью такая форма записи позволила эффективно построить деревья xor-ов. Во-вторых, раздельный синтез xor-ов дает компактные netlist-ы, которые размещаются на маленькой площади и не теряют много на проводах. В-третьих, половина вычислений делается на такт раньше, так как xor-ы над данными не зависят от CRC-регистра.

Подробнее будет через несколько минут.



Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
поделите 6 на два:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru