[an error occurred while processing this directive]
Ответ: (+)
(«Телесистемы»: Конференция «Программируемые логические схемы и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено SM 07 июля 2004 г. 17:47
В ответ на: На бит меньше чего? отправлено V61 07 июля 2004 г. 16:54

я вот о чем - делал делилку 8 на 8 бит, и размеры сгенеренных сумматоров меняются от однобитного до 8


include "lpm_add_sub.inc";
-------------------------------------------------------------------------------
subdesign tstdiv
(
in_a[7..0] : input;
in_b[7..0] : input;
outr[7..0] : output;
outq[7..0] : output;
)

-------------------------------------------------------------------------------
VARIABLE
sin [8..0][7..0]: NODE;
lcbuf[7..0][7..0]: LCELL;
temp [7..0][7..0]: NODE;
borrow[7..0] : NODE;
sel[7..0] : NODE;

-------------------------------------------------------------------------------
BEGIN

sin[][] = GND;
temp[][] = GND;

sel[7] = !borrow[7];
sel[6] = !borrow[6] # in_b[7];
sel[5] = !borrow[5] # in_b[7] # in_b[6];
sel[4] = !borrow[4] # in_b[7] # in_b[6] # in_b[5];
sel[3] = !borrow[3] # in_b[7] # in_b[6] # in_b[5] # in_b[4];
sel[2] = !borrow[2] # in_b[7] # in_b[6] # in_b[5] # in_b[4] # in_b[3];
sel[1] = !borrow[1] # in_b[7] # in_b[6] # in_b[5] # in_b[4] # in_b[3] # in_b[2];
sel[0] = !borrow[0] # in_b[7] # in_b[6] # in_b[5] # in_b[4] # in_b[3] # in_b[2] # in_b[1];


FOR k IN 0 TO 7 GENERATE

IF k==0 GENERATE
( temp[k][0], borrow[k], ) = lpm_add_sub
( .dataa[]= in_a[7-k],
.datab[]= in_b[0]
) WITH( LPM_WIDTH=1, LPM_DIRECTION="SUB" );
ELSE GENERATE
( temp[k][k..0], borrow[k], ) = lpm_add_sub
( .dataa[]= (sin[k][k-1..0], in_a[7-k] ),
.datab[]= in_b[k..0]
) WITH( LPM_WIDTH=k+1, LPM_DIRECTION="SUB" );
END GENERATE;

lcbuf[k][] =
( (sin[k][6..0],in_a[7-k]) & sel[k] ) #
( temp[k][] & !sel[k] ) ;

sin[k+1][]=lcbuf[k][];

outq[7-k] = !sel[k];

END GENERATE;

outr[] = sin[8][7..0];

END;



Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru