[an error occurred while processing this directive]
|
На входе умножителя у вас операнды по 9 бит - на выходе произведение 18бит. Если трактовать ваши 2битные числа как беззнаковые, то можно подать на один такой 9x9=>18 перемножитель до 4х таких 2битных пар операндов и снять с его выхода 4 независимых 4битных произведения (произведение 2х2 не может занимать больше 4х бит). (Например операнд A[1..0]=X1, A[3..2]=X2, ... ; операнд B[1..0]=Y1,B[3..2]=Y2, ... ; тогда произведения снимайте с битов P[3..0]=Z1,B[7..4]=Z2, ... ).
Но если вам необходим аккумулятор после перемножителя, то количество пар 2х2, помещающихся в один перемножитель сократится (оно теперь определяется необходимой разрядностью аккумулятора). Все же если вас устроит, например, разрядность аккумулятора 8бит, то вы все еще можете разместить в одном умножителе до 2-ух 2битных операндов так:
A[1..0]=X1, A[5..4]=X2; операнд B[1..0]=Y1,B[5..4]=Y2; тогда произведения образуются в битах P[3..0]=Z1,B[15..12]=Z2. А накопленные суммы получите S[7..0]=S1,S[15..8]=S2.
Но как вам уже сказали ниже - это большой изврат. DSP блоки потому и введены в ПЛИС, чтобы быстро перемножать и складывать числа относительно большой разрядности.
E-mail: info@telesys.ru