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

lena709

Новичок
  • Постов

    1
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный
  1. Здравствуйте всем. Реализовала шифр на vhdl, но проект не синтезируется из-за циклов while. Помогите, пожалуйста, переписать операции умножения полиномов и деления полиномов по модулю неприводимого многочлена над полем Галуа (GF(2)[x]∕p(x), где p(x) = x^8 + x^7 + x^6 + x + 1 ∈ GF(2)[x] - неприводимый многочлен). Вот что написала я: f15 := ress(127 downto 120); b15 := "00000000" & f15; e15 := std_logic_vector (to_unsigned(148,8)); if (b15 /= "0000000000000000") then i := 0; while (i /= 8) loop if ((e15 AND one) = one) then mu15 := b15 xor mu15; end if; b15 := b15(14 downto 0) & '0'; e15 := '0' & e15(7 downto 1); i := i+1; end loop; di15 := mu15; j := 15; one3 := one2; while ((di15 AND one3) = "0000000000000000") loop j := j-1; one3 := '0' & one3(15 downto 1); end loop; while (j >= 8) loop k:=0; poly2 := "0000000" & poly; while (k /= (j-8)) loop poly2:= poly2(14 downto 0) & '0'; k := k+1; end loop; di15 := di15 xor poly2; while ((di15 AND one3) = "0000000000000000") loop j := j-1; one3 := '0' & one3(15 downto 1); end loop; end loop; else mu15 := "0000000000000000"; di15 := "0000000000000000"; end if; Заранее спасибо)
×
×
  • Создать...