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

 
 
> проблема с двунаправленной шиной
Faton_11
сообщение Apr 10 2014, 15:45
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 92
Регистрация: 10-06-13
Пользователь №: 77 128



Добрый вечер!
Использую альтеровский примитив двунаправленной шины, смысл которого вот в чем:
Код
//Input Ports Declaration
input i;
input oe;
//Output Ports Declaration
output o;
inout io;

//IMPLEMENTATION BEGIN
assign o = io;
assign io = (oe == 1'b1) ? i : 1'bz;


Анализатор Signal Tap, встроенный в квартус, выдает такую картинку:
Прикрепленное изображение


На i и o видим разное. И действительно, данные, которые на i и o совпали, в ПЛИС правильно записываются. Которые не совпали - записываются в 3-м варианте. В чем может быть причина?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 5)
krux
сообщение Apr 10 2014, 16:11
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 700
Регистрация: 2-07-12
Из: дефолт-сити
Пользователь №: 72 596



Цитата
assign io = ...

io - это у вас нога ПЛИС или что-то ещё?

Цитата
данные, которые на i и o совпали, в ПЛИС правильно записываются. Которые не совпали - записываются в 3-м варианте. В чем может быть причина?

что подаете на oe?
каким клоком защёлкиваете данные, получаемые с o? и какой клок используете для тактирования сигналтапа?

зы. сигналтап - инвазивный инструмент, и способен вносить существенные изменения в наблюдаемые сигналы, если использовать его без осознания того, какие коррективы он способен привнести.
короче, это не осцил ;-)


--------------------
провоцируем неудовлетворенных провокаторов с удовольствием.
Go to the top of the page
 
+Quote Post
Faton_11
сообщение Apr 10 2014, 16:53
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 92
Регистрация: 10-06-13
Пользователь №: 77 128



io - это шина данных SRAMa. На oe подаю единицу, если хочу записать в шину.

И то, и другое клоком 24 MHz.

С коррективами сигнал тапа уже пришлось столкнуться. Но если на диаграмме в сигнал тапе получу что надо, то и в железке все нормально будет. Вот новая картинка, кстати
Прикрепленное изображение

На ней проблема видна с новыми подробностями, мне ни о чем не говорящими

Сообщение отредактировал Faton_11 - Apr 10 2014, 16:55
Go to the top of the page
 
+Quote Post
Faton_11
сообщение Apr 24 2014, 17:20
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 92
Регистрация: 10-06-13
Пользователь №: 77 128



Теперь на диаграмме все хорошо, но в реальности данные все же записываются не правильно

Сообщение отредактировал Faton_11 - Apr 24 2014, 17:25
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Apr 24 2014, 22:02
Сообщение #5


Лентяй
******

Группа: Свой
Сообщений: 2 203
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 843



По фрагменту Вашего исходника, увы, ничего не понятно.
Сделайте вот так: http://www.altera.com/support/examples/ver...er_bidirec.html


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
Faton_11
сообщение Apr 27 2014, 06:32
Сообщение #6


Частый гость
**

Группа: Участник
Сообщений: 92
Регистрация: 10-06-13
Пользователь №: 77 128



Урра! Стал записывать, спасибо! =)

Можно ещё посоветоваться на счет буфера. Использую мегафункцию, в настройках выбираю вместимость 128 слов.

Код
module FIFO (
    clock,
    data,
    rdreq,// ставим в 1, если читаем из фифо
    wrreq,// ставим в 1 если пишем в фифо
    empty,// буфер пуст
    full, //буфер заполнен
    q,// выход буфера
    usedw);


Если 128 слов, значит 256 байт можно в него записать. Посылаю 256 данных (числа от 1 до 256), однако после 128 вижу, что буфер заполнился (full=1). На выходе буфера могу видеть числа от 1 до 128

Делаю сброс и снова посылаю эти же данные, но вижу что в буфер записался остаток от прошлой отправки - числа от 128 до 256.

Значит, вместимость буфера все же 256 байт? Тогда почему сигнал "full" выставляется после 128?

Или это особенность Сom Port Toolkit, через который я отправляю?

Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 22:44
Рейтинг@Mail.ru


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