Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Можно ли решить проблему
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
zombi
Решил переразвести старое рабочее изделие и заодно (чёрт меня дёрнул) сэкономить один проводник.

В изделии имеется мк и две абсолютно одинаковые альтеры EMP570.
Мк по SPI гонит паралельно в обе альтеры данные в их внутр. регистры.
В посылке несколько быйт данных и адрес регистра.
И затем стробирует нужную альтеру двумя разными пинами.

В новом изделии решил в посылке сразу передавать и адрес альтеры (0/1) и стробировать сразу обе одним сигналом.

Альтера с адресом 0 работает стабильно а с адресом 1 нет.

Разница в проектах для альтер всего лишь в одном единственном инверторе.

Проект для альтеры не синхронный, альтера забита на 95%.
Возможно из за этого и грабли.

Можно ли к проекту для альтеры с адресом 0 добавить один инвертор с минимумом или с полным отсутствием изменений в её прошивке после компиляции.

Спасайте. горю.
Maverick
Цитата(zombi @ Aug 8 2013, 23:30) *
Решил переразвести старое рабочее изделие и заодно (чёрт меня дёрнул) сэкономить один проводник.

В изделии имеется мк и две абсолютно одинаковые альтеры EMP570.
Мк по SPI гонит паралельно в обе альтеры данные в их внутр. регистры.
В посылке несколько быйт данных и адрес регистра.
И затем стробирует нужную альтеру двумя разными пинами.

В новом изделии решил в посылке сразу передавать и адрес альтеры (0/1) и стробировать сразу обе одним сигналом.

Альтера с адресом 0 работает стабильно а с адресом 1 нет.

Разница в проектах для альтер всего лишь в одном единственном инверторе.

Проект для альтеры не синхронный, альтера забита на 95%.
Возможно из за этого и грабли.

Можно ли к проекту для альтеры с адресом 0 добавить один инвертор с минимумом или с полным отсутствием изменений в её прошивке после компиляции.

Спасайте. горю.

попробуйте оставить в двух ПЛИС только модуль SPI + логика обработки строба для приема данных.
Если данный модуль заработает - отдельно от всего проекта, тогда причина в остальном проекте....
Результаты можно вывести в сигналтап - чтобы видеть значения регистров или сделать петлю (та ПЛИС которая приняла данные возвращает их обратно в МК)
Но кажется для МАХ ІІ сигналтап не работает... (нужно проверить - не помню)
zombi
Обе альтеры принимают только свои (адресуемые именно им) данные.
Проблема именно в нарушении работы всего остального пректа (т.е. того что и как альтера должна делать на основании содержимого регистров) из за добавления всего навсего одного единственного инвертора и перекомпиляции.
Raven
А для EPM570 работает эта альтеровская штука - Incremental Compilation с ее разделением дизайна на partitions, и LogicLock? Можно было бы весь уже имеющийся удачный дизайн выделить в Post-Fit partition (что не давало бы ему переразводиться при компиляции), а добавления - в новую партицию. Это гипотетический вариант №1.

Хотя в вашем случае, возможно, лучше сразу попробовать №2 - вручную через редактирование gate-level результата компиляции (Chip Planner etc).
zombi
Цитата(Raven @ Aug 9 2013, 07:24) *
А для EPM570 работает эта альтеровская штука - Incremental Compilation с ее разделением дизайна на partitions, и LogicLock? Можно было бы весь уже имеющийся удачный дизайн выделить в Post-Fit partition (что не давало бы ему переразводиться при компиляции), а добавления - в новую партицию. Это гипотетический вариант №1.

Хотя в вашем случае, возможно, лучше сразу попробовать №2 - вручную через редактирование gate-level результата компиляции (Chip Planner etc).

Никогда такого не не делал.
Где можно поподробней про оба варианта почитать?
А еслиб ещё и на русском rolleyes.gif
Torpeda
Цитата(zombi @ Aug 8 2013, 23:30) *
Проект для альтеры не синхронный, альтера забита на 95%.
Возможно из за этого и грабли.

А что значит не синхронный?
А STA проходит без ошибок?
zombi
Цитата(Torpeda @ Aug 9 2013, 15:07) *
А что значит не синхронный?
А STA проходит без ошибок?

То что на тактовые входы многих триггеров поступает не входная частота а её производные.
Хотя я не уверен что это является критерием синхронности проекта.
В языках не силён.
Рисую схему в графике.
Накидал элементов, посоединял между собой, пообзывал шины назначил пины.
Скомпилировал, прожёг и смотрю работает/нет.
Встроенным симулятором квартуса пользуюсь не часто, он не даёт реальной картины.
Raven
Цитата(zombi @ Aug 9 2013, 10:48) *
Никогда такого не не делал.

Много потеряли. Видно, пришло время все-таки
sm.gif
О, сколько нам открытий чудных
Готовит просвещенья дух...
(С) А.С.Пушкин

Цитата(zombi @ Aug 9 2013, 10:48) *
Где можно поподробней про оба варианта почитать?

Все там же - в "Большой Книге" (Quartus handbook)

Цитата(zombi @ Aug 9 2013, 10:48) *
А еслиб ещё и на русском rolleyes.gif

Ну, а на этом же сайте поискать - никак?
Сходу - QUARTUS, MODELSIM, Проект по переводу документации, Nalivator

Правда, должен заметить, что если вы придерживаетесь такой методики проектирования
Цитата(zombi @ Aug 9 2013, 20:09) *
В языках не силён.
Рисую схему в графике.
Накидал элементов, посоединял между собой, пообзывал шины назначил пины.
Скомпилировал, прожёг и смотрю работает/нет.
Встроенным симулятором квартуса пользуюсь не часто, он не даёт реальной картины.

, т.е., в определенном смысле, работаете методом тыка и блуждания во тьме, то неудивительно, что при добавлении одного инвертора компилятор вам всю малину испортил. Он вам дал то, что вы его попросили. Судя по всему, никакими надлежащими ограничениями (constraints) вы его не обложили, не так ли? Вот и результат.

В общем, я бы закатал рукава, освоил бы constraint'ы (по ним тоже разъяснения на русском есть на embedders.org, см. блог des00), и скомпилировал бы из исходника. Вы будете в сплошном плюсе со всех сторон. Не так страшен черт... За конкретными разъяснениями всегда можно вернуться на данный форум.
Maverick
Цитата(zombi @ Aug 9 2013, 19:09) *
То что на тактовые входы многих триггеров поступает не входная частота а её производные.
Хотя я не уверен что это является критерием синхронности проекта.
Рисую схему в графике.

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