Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Помогите с lpm_fifo, пожалуйста!
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
RHnd
Итак, в чем проблема. Берем альтеровскую стандартную lpm_fifo, добавлем небольшую логику управления read_request и моделируем: гоним по кругу 0x00 - 0xFF. Получаем в квартусе такую диаграмму:

Здесь все правильно, претензий нет. Теперь берем эту же фифошку и засовываем в модуль для SOPC. Смотрим внутрь сигналтабом и видим:
.
Здесь u_clk и u_data - вход фифо, а fifo_o - выход.

Я не понимаю, откуда берется провал, помеченный стрелочкой? Почему rd_empty сбрасыватся? Получается, что фифо дважды записывает/выдает 0xFF. Почему и как с этим бороться? Я рабочий день на это потратил - не мог понять, почему модуль 0xFF дважды записывает, передающую сторону всю перебрал. А перед окончанием рабочего дня нашел сигналтабом эту странность фифо. sad.gif

На всякий случай прилагаю линки на файлы:
TF.rar файлы для моделирования фифошки.
Tmod.rar - файл с кодом модуля и файлом SignalTap. Несколько слов о модуле: Извне приходят данне - один кадр. Кадр - набор из строк с интервалами между ними, каждая строка - подряд идущие байты. Тактовка этого дела - 5MHz. Эти байты загружаются в фифо, откуда мастер-порт их вытаскивает и пишет в сдрам. Тактовка мастера - 50 MHz. В прилагаемом файле нет слейв-порта, еще кое-что урезано по мелочи - оставлено только нужное для моделирования фифо. Кстати, если кто-нибудь посмотрим на писанину начинающего верилогера и ткнет его носом во всевозможные косяки и т.п., то буду очень признателен.

Помогите, плиз!
RHnd
Неужели никому совсем нечего сказать? Ну ответьте хотя бы в духе:
1) Не знаю, никогда с таким не сталкивался (такой ответ от опытных разработчиков тоже о многом говорит),
или
2) Вопрос плохо составлен, вообще не понял, о чем речь.

А то я в тишине сижу и не знаю, что думать. sad.gif Эх, похоже придется свое фифо писать, хотя очень не хочется. sad.gif
RHnd
Все, нашел глюк. Данные шли по 40 жильному проводу без подтяжек и т.п.. Причем, и жила с синхроимпульсом, и жилы с данными были рядом. Поэтому при перекючении всех жил с данными из 1 в 0 появлялись наводки на синхроимпульс. Этой наводки вполне хватало для защелкивания лишнего байта, но сигналтаб ее не видел. Разнес сигналы по жилам - все заработало. Уря!
vikk
а вот вопрос в тему
токи какие были установлены по ногам?
а то они меня волнуют последнее время почти с такими же проблемами

пробовал уменьшать токи помогает вроде)
RHnd
Цитата(vikk @ Jul 31 2007, 11:22) *
а вот вопрос в тему
токи какие были установлены по ногам?
а то они меня волнуют последнее время почти с такими же проблемами

пробовал уменьшать токи помогает вроде)

Так как я их не менял, то по умолчанию. А что там по умолчанию - не помню.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.