[an error occurred while processing this directive]
В дополнение - чуть-чуть изменив логику формирования выхода можно и 12.
(«Телесистемы»: Конференция «Программируемые логические схемы и их применение»)

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

Отправлено svf 21 декабря 2004 г. 18:50
В ответ на: 2SM: А как будет выглядить тот арбитр на AHDL? :) отправлено dxp 21 декабря 2004 г. 15:23

В данном случае следующий запрос появляется через два такта после снятия предыдущего. Уж не знаю, отформатируется ли.


CONSTANT WIDTH=8;
SUBDESIGN arb
(
clk,reset : INPUT;
ack[WIDTH-1..0] : OUTPUT;
req[WIDTH-1..0] : INPUT;
)
VARIABLE
ack[WIDTH-1..0] : DFF;
reqc[WIDTH..0] : NODE;
present : DFF;
BEGIN
ack[].clk=clk;
ack[].clrn=!reset;
present.clk=clk;
present.clrn=!reset;
present.d=ack[0].q#ack[1].q#ack[2].q#ack[3].q#ack[4].q#ack[5].q#ack[6].q#ack[7].q;
reqc[0]=present.q;
FOR I IN 0 TO WIDTH-1 GENERATE
ack[i].d=req[i]&!reqc[i];
reqc[i+1]=CARRY(reqc[i]#req[i]);
END GENERATE;
END;

Если же выкинуть present и посадить reqc[0] на землю, новый запрос будет появляться в момент снятия предыдущего, но будет вообще 8 элементов.

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

Ответы


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

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

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

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

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


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

E-mail: info@telesys.ru