Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

зависит от применямого кристалла, для ProasicPlus примерно так

Отправлено irnt 10 сентября 2009, г. 10:15
В ответ на: Спасибо. A для синтеза тогда как? отправлено пользователем Make_Pic 10 сентября 2009, г. 08:51

module bus
(inout [7:0] bus
,input nWr
,input nCS
);

wire nWr_i;
IB33 IB33_nWr (.PAD(nWr), .Y(nWr_i));//входной буфер - зависит от кристалла

wire nCS_i;
IB33 IB33_nCS (.PAD(nCS), .Y(nCS_i));

wire [7:0] bus_i;
wire [7:0] bus_o;
wire bus_en;

IOB33PN IOB33PN_bus0 (.PAD(bus[0]), .A(bus_o[0]), .EN(bus_en), .Y(bus_i[0]));//двунаправленный буфер
IOB33PN IOB33PN_bus1 (.PAD(bus[1]), .A(bus_o[1]), .EN(bus_en), .Y(bus_i[1]));
IOB33PN IOB33PN_bus2 (.PAD(bus[2]), .A(bus_o[2]), .EN(bus_en), .Y(bus_i[2]));
IOB33PN IOB33PN_bus3 (.PAD(bus[3]), .A(bus_o[3]), .EN(bus_en), .Y(bus_i[3]));
IOB33PN IOB33PN_bus4 (.PAD(bus[4]), .A(bus_o[4]), .EN(bus_en), .Y(bus_i[4]));
IOB33PN IOB33PN_bus5 (.PAD(bus[5]), .A(bus_o[5]), .EN(bus_en), .Y(bus_i[5]));
IOB33PN IOB33PN_bus6 (.PAD(bus[6]), .A(bus_o[6]), .EN(bus_en), .Y(bus_i[6]));
IOB33PN IOB33PN_bus7 (.PAD(bus[7]), .A(bus_o[7]), .EN(bus_en), .Y(bus_i[7]));

reg [7:0] data;
always @(negedge nCS_i)
if (~nWr_i)
data <= bus_i;

assign bus_o = data;
assign bus_en = (~nCS_i & nWr_i);

endmodule


Составить ответ | Вернуться на конференцию.

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 387:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru