Перейти к содержанию
    

Странное влияние altera fifo на поведение карты.

Имею altrea stratix V на борту.

 

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

 

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

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

 

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

 

Хорошо. Собираю маленький проект с fifo.

1) Записываю единицу в fifo и ее же читаю.

2) Прочитанное значение инкрементирую в отдельный счетчик.

3) Когда счетчик достигает какой то величину, инвертирую значение диода на карте.

Вообщем сделал обычный делитель частоты, чтобы каждую секунду мигал диод. Только значение инкремента читаю из fifo.

 

Прошиваю карту, зажигаются абсолютно все диоды на карте.

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

 

Еще ремарка.

 

Из делителя частоты убираю прочитанное значение fifo, а просто вставляю константу 1 (делают простой инкремент на 1). Делал такое 100 раз на карте. Но при этом в проекте остается fifo висеть. Начинают моргать на карте светодиоды хоатично.

Изменено пользователем new123

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может со сбросом чего напутали?

В своих проектах фифо очищал высоким уровнем.

Если какой-нибудь ниос есть, то у него может активный 0.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может со сбросом чего напутали?

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

 

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

 

все таки ума не приложу, почему карта моргала как новогодняя елка. У меня в пинах в квартусе задействованы только 2 штуки - клок и 1 лед. Как будто альтера что хотела, то и делала со своими ногами

Изменено пользователем new123

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Удивительно, убрал во всех модулях ненужные выводы (неподключенные), используемые только в ModelSim и все заработало в обоих проектах.

Изменено пользователем new123

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Добрый день.

Не удивительно. Если есть в проекте вывод и ему не указан пин, то при разводке система его подключает по своему усмотрению.

Это должно быть в одном из файлов, которые формируются при выполнении place & route.

Названия конкретного файла у Altera не знаю, пользуюсь Xilinx, но наверняка такой должен быть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Добрый день.

Не удивительно. Если есть в проекте вывод и ему не указан пин, то при разводке система его подключает по своему усмотрению.

Подтверждаю. Мой коллега очень сильно и долго удивлялся когда квартус назначил как захотел выводы, которые автор поленился явно назначить и искренне считал "раз не назначил, значит не подключен".

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Буду теперь знать. Спасибо. Посмотрим что сама альтера ответит.

До этого много раз в квартусе оставлял неподключенные выводы, таких вот проблем не было.

Изменено пользователем new123

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Буду теперь знать. Спасибо. Посмотрим что сама альтера ответит.

До этого много раз в квартусе оставлял неподключенные выводы, таких вот проблем не было.

Пины для моделирования нужно назначать как Virtual Pin, тогда Quartus их подключать не будет.

Не в обиду Вам будет сказано, но за не подключенные пины нужно бить по рукам. Собственно Quartus это и сделал.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пины для моделирования нужно назначать как Virtual Pin, тогда Quartus их подключать не будет.

Не в обиду Вам будет сказано, но за не подключенные пины нужно бить по рукам. Собственно Quartus это и сделал.

А где эта опция находится ?

Знаю как сделать на TCL все пины виртуальными. А как сделать только неиспользуемые выводы ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А где эта опция находится ?

Знаю как сделать на TCL все пины виртуальными. А как сделать только неиспользуемые выводы ?

Assigments->Assigment Editor->в Assigment Name выбираем Virtual Pin и назначаем для него сигналы, в поле value ставим on.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пины для моделирования нужно назначать как Virtual Pin, тогда Quartus их подключать не будет.

Не в обиду Вам будет сказано, но за не подключенные пины нужно бить по рукам. Собственно Quartus это и сделал.

спасибо, знал бы, сам по рукам себя ударил =)

виртуальные пины кстати я видел в примерах альтеры для pci-e и 10G. Еще подумал, для чего же это, теперь буду знать, спасибо

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...