Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Странное влияние altera fifo на поведение карты.
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
new123
Имею altrea stratix V на борту.

Решил к проекту прикрутить мегафункцию FIFO c асинхронным входом/выходом. После этого перестал заводиться чип marvell на карте.

1) Делаю модуль для работы marvell полностью отвязанным от fifo в проекте, лишь бы просто fifo присутствовал в коде. Не помогает
2) Делаю вход/выход синхронным по одному клоку, уменьшаю кол-во памяти. Не помогает.

Еще обратил внимание, что на плате загорается диод, который к проекту вообще отношения не имеет.

Хорошо. Собираю маленький проект с fifo.
1) Записываю единицу в fifo и ее же читаю.
2) Прочитанное значение инкрементирую в отдельный счетчик.
3) Когда счетчик достигает какой то величину, инвертирую значение диода на карте.
Вообщем сделал обычный делитель частоты, чтобы каждую секунду мигал диод. Только значение инкремента читаю из fifo.

Прошиваю карту, зажигаются абсолютно все диоды на карте.
Нахожусь в недоумении, может ли так мегафункция на работу влиять?

Еще ремарка.

Из делителя частоты убираю прочитанное значение fifo, а просто вставляю константу 1 (делают простой инкремент на 1). Делал такое 100 раз на карте. Но при этом в проекте остается fifo висеть. Начинают моргать на карте светодиоды хоатично.
Александр77
Может со сбросом чего напутали?
В своих проектах фифо очищал высоким уровнем.
Если какой-нибудь ниос есть, то у него может активный 0.
new123
Цитата(Александр77 @ Mar 16 2018, 21:08) *
Может со сбросом чего напутали?

мысль интересная, но сбросы у меня не подключены.

частично убрало проблему - удалил все ненужные выводы из главного модуля, которые висели в воздухе (отсутствовали привязка в assigments pin) ради ModelSim (отслеживал через них различные состояния регистров в ModelSim). Теперь нужный диод моргает, при этом fifo в проекте есть, но пока не используется. С задействованием fifo еще не попробовал.

все таки ума не приложу, почему карта моргала как новогодняя елка. У меня в пинах в квартусе задействованы только 2 штуки - клок и 1 лед. Как будто альтера что хотела, то и делала со своими ногами
new123
Удивительно, убрал во всех модулях ненужные выводы (неподключенные), используемые только в ModelSim и все заработало в обоих проектах.
Andrew Su
Добрый день.
Не удивительно. Если есть в проекте вывод и ему не указан пин, то при разводке система его подключает по своему усмотрению.
Это должно быть в одном из файлов, которые формируются при выполнении place & route.
Названия конкретного файла у Altera не знаю, пользуюсь Xilinx, но наверняка такой должен быть.
Александр77
Цитата(Andrew Su @ Mar 17 2018, 19:29) *
Добрый день.
Не удивительно. Если есть в проекте вывод и ему не указан пин, то при разводке система его подключает по своему усмотрению.

Подтверждаю. Мой коллега очень сильно и долго удивлялся когда квартус назначил как захотел выводы, которые автор поленился явно назначить и искренне считал "раз не назначил, значит не подключен".
new123
Буду теперь знать. Спасибо. Посмотрим что сама альтера ответит.
До этого много раз в квартусе оставлял неподключенные выводы, таких вот проблем не было.
BSACPLD
Цитата(new123 @ Mar 17 2018, 23:07) *
Буду теперь знать. Спасибо. Посмотрим что сама альтера ответит.
До этого много раз в квартусе оставлял неподключенные выводы, таких вот проблем не было.

Пины для моделирования нужно назначать как Virtual Pin, тогда Quartus их подключать не будет.
Не в обиду Вам будет сказано, но за не подключенные пины нужно бить по рукам. Собственно Quartus это и сделал.
Flip-fl0p
Цитата(BSACPLD @ Mar 18 2018, 10:05) *
Пины для моделирования нужно назначать как Virtual Pin, тогда Quartus их подключать не будет.
Не в обиду Вам будет сказано, но за не подключенные пины нужно бить по рукам. Собственно Quartus это и сделал.

А где эта опция находится ?
Знаю как сделать на TCL все пины виртуальными. А как сделать только неиспользуемые выводы ?
BSACPLD
Цитата(Flip-fl0p @ Mar 18 2018, 10:44) *
А где эта опция находится ?
Знаю как сделать на TCL все пины виртуальными. А как сделать только неиспользуемые выводы ?

Assigments->Assigment Editor->в Assigment Name выбираем Virtual Pin и назначаем для него сигналы, в поле value ставим on.
new123
Цитата(BSACPLD @ Mar 18 2018, 10:05) *
Пины для моделирования нужно назначать как Virtual Pin, тогда Quartus их подключать не будет.
Не в обиду Вам будет сказано, но за не подключенные пины нужно бить по рукам. Собственно Quartus это и сделал.

спасибо, знал бы, сам по рукам себя ударил =)
виртуальные пины кстати я видел в примерах альтеры для pci-e и 10G. Еще подумал, для чего же это, теперь буду знать, спасибо
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.