Цитата(sd1074 @ Jun 10 2007, 11:47)

Данная тулза генерит непосредственно VHDL-код. Однако тут меня засмущал такой факт... Она по сути просто создаёт комбинационную схемы (причём довольно компактную). Правильно ли я понимаю, что данная комбинационная схема является результатом минимизации таблички, описанной в п.2?
Это зависит от того, что подразумевается под словами "результатом минимизации таблички". Если говорить про сам процесс создания такой комбинационной схемы, то никакая табличка там реально используется и не минимизируется. Комбинационная схема строится исходя из свойств генератора CRC (он же LFSR, он же делитель на образующий полином).
Лично мне нравится такой способ. На примере 4-х бит CRC 1011 (т.е. при сдвиге старший бит XOR-ится с младшим и следующим за младшим битом) для 8-бит входного слова. Старший разряд везде слева.
1. Строим таблицу состояний регистра CRC для 8-ми тактов с начальным состоянием 0001:
0. 0001
1. 0010
2. 0100
3. 1000
4. 0011
5. 0110
6. 1100
7. 1011
2. "Транспонируем" эту таблицу так, что номер такта - это номер бита входного слова, а "1" в значении состояния означает в какой бит результата CRC надо этот входной бит по-XOR-ить:
CRC[0] = D[0] ^ D[4] ^ D[7]
CRC[1] = D[1] ^ D[4] ^ D[5] ^ D[7]
CRC[2] = D[2] ^ D[5] ^ D[6]
CRC[3] = D[3] ^ D[6] ^ D[7]
Собственно, все.
Сообщение отредактировал vladv - Jun 13 2007, 22:12