реклама на сайте
подробности

 
 
> inout шины в Verilog, для MAX+plus II
Волощенко
сообщение Jun 8 2007, 08:29
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 347
Регистрация: 16-02-06
Из: г.Николаев, Украина
Пользователь №: 14 377



Привет всем!
Есть двунаправленная шина ввода-вывода для FPGA типа FLEX10KA, с декларацией на Verilog как:
inout [31:0] IO;
MAX+plus II запретил применить следующую запись (выдача DATA единицей на OE):
assign IO = OE ? DATA : {32{1'bz}};
а вместо неё рекомендовал применить примитив TRI (с тремя состояниями) или OPNDRN (открытый коллектор).
Тогда, следуя рекомендациям, и используя TRI, получил:
TRI aaa(DATA, OE, IO);
Однако, на выходах IO почему-то всегда нули, хотя код на DATA есть, что проверил контрольным считыванием по центру сигнала OE (его длительность 30нс), во вспомогательные регистры R1 и R2:
always @ (posedge CLK) R1<=DATA;
always @ (posedge CLK) R2<=IO;

Аналогичная ситуация с использованием OPNDRN, с конструкцией:
assign DATAx = OE ? DATA : {32{1'b1}};
OPNDRN bbb(DATAx, IO);
При этом была установлена опция "Automatic Open-Drain Pins"

Вопрос: Кто сталкивался с подобным, почему так происходит, почему не выдается информация в шину?
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 15:34
Рейтинг@Mail.ru


Страница сгенерированна за 0.01344 секунд с 7
ELECTRONIX ©2004-2016