Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс. e-mail:jobsmp@pochta.ru |
Дальше рекурсивно получаю из первых двух функций варианты функций для сколько нужно битов.
Предположим, у меня CRC-32 и данных поступают по 40 бит.
Тогда я делаю 2 netlist-а, один реализует все необходимые xor-ы над CRC-регистром, а второй над данными. Результаты у обоих 32-битные, так как CRC у нас 32-битный. Регистров в netlist-ах нет.
Netlist-ы делаю synplify-ем, xst не справляется.
Все, остается результаты обоих нетлистов засунуть в регистры и выходы регистров по-xor-ить.
В чем секрет. Во-первых, функции записывались таким образом чтобы не ошибиться и по счастью такая форма записи позволила эффективно построить деревья xor-ов. Во-вторых, раздельный синтез xor-ов дает компактные netlist-ы, которые размещаются на маленькой площади и не теряют много на проводах. В-третьих, половина вычислений делается на такт раньше, так как xor-ы над данными не зависят от CRC-регистра.
Подробнее будет через несколько минут.