Jump to content

    

Непредсказуемые результаты синтеза?

Доводилось работать с платой, где тактовые приходили куда попало.

Ничего, работало вроде...

 

На мой взгляд, гораздо критичнее, чтобы все выходные сигналы DCM (с которых собственно работает схема) были подключены через BUFG.

Если так не сделать, то глюки возможны, даже если конкретный тактовый "питает" относительно немного логики.

И констрейны здесь не очень помогают (по крайней мере, констрейны на период клока).

Share this post


Link to post
Share on other sites

Проблема из той же оперы:

не работает конечный автомат.

Начинаю искать причину: подключаю

к выходам автомата schipscope.

Автомат начинает работать!

Удаляю из проекта schipscope -

автомат не работает!

 

Share this post


Link to post
Share on other sites
Начинаю искать причину: подключаю

к выходам автомата schipscope.

Автомат начинает работать!

Удаляю из проекта schipscope -

автомат не работает!

асинхра на входах управления?

Share this post


Link to post
Share on other sites

Асинхра есть, но ее я протактировал через триггер.

Share this post


Link to post
Share on other sites
Асинхра есть, но ее я протактировал через триггер.

а надо было через два минимум

Share this post


Link to post
Share on other sites
Имеется проект для ПЛИС Virtex4 на базе встроенного процессора PowerPC.

По мере роста проекта и обвешивания процессора различной периферией

результаты синтеза(по-моему предположению) стали непредсказуемыми.

 

Проявляется это в том, что после внесения каких-либо изменений в проект

(или даже без внесения изменений) и перекомпиляции проекта, он перестает

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

нет сигналов на соответствующих выходах. Иногда происходит так, что проект

работает частично(процессор не работает, часть логики работает).

 

Констрейнты указаны на тактовый сигнал, на шины памяти, результаты синтеза удовлетворительные.

Процессорная система является подмодулем в ISE.

Еще возникает вопрос, нужно ли указывать констрейнты в самом EDK?

 

Как можно найти причину и решить эту проблему?

Это не простая задача, к томуже мало информации:

какая частота на входе?

сколько частот используется для синхронизации проекта и их значения?

сколько DСM и синхронизируется ли их запуск?

сколько модулей на шине и сколько из них с своим интерфейсом?

сколько модулей с возможностью их чтения и не используются ли при этом BUFT?

есть ли модули с выработкой сигналов прерывания и сколько?

используется ли DMA?

память внешняя или BRAM, если внешняя какого типа?

используется ли FPU и CACHE?

есть ли констрейнты на все тактовые сигналы или только на один и при этом на входной?

 

В зависимости от ответов потребуется дальнейшая конкретизация.

Как получилось что системный клок не глобальный и нельзя использовать отладчик?

Такой проект как мне кажется лучше похоронить иначе или рак мозга будет или станеш

супер специалистом.

В любом случае если нет возможности залезть внутрь, необходимо тщательно и по возможности

полно задать ограничения на все критичные элементы проекта с учётом приоритетов (имеются в виду приоритеты

выполнения операторов в .ucf).

Тогда вы получите максимум информции в Timing Constraints и хотя бы так сможете оценить

критичные задержки и найти решение. Т.к. исходя из "По мере роста проекта и обвешивания процессора различной периферией результаты синтеза(по-моему предположению) стали непредсказуемыми." это

оновная причина.

Хотя как мне кажется ещё могут быть версии.

Люди подскажут.

 

По поводу констрейнов в EDK:

Если проект ISE, в версиях до 9-ой было без разницы использовался только ISE-овый .ucf

с 9-ой я не работал, а вот начиная с 10 - ой ISE стал цеплять EDK-й .ucf и информацию прописанную

в нём переносить в ISE в файл <имя файла>.ncf и использовать в проекте.

Но как мне показалось исходя из Timing Constraints приоритет остаётся за ISE .ucf.

Возможно кто-то подробнее сможет осветить данный вопрос.

 

 

 

 

 

 

Share this post


Link to post
Share on other sites
Это не простая задача, к томуже мало информации:

какая частота на входе?

сколько частот используется для синхронизации проекта и их значения?

сколько DСM и синхронизируется ли их запуск?

сколько модулей на шине и сколько из них с своим интерфейсом?

сколько модулей с возможностью их чтения и не используются ли при этом BUFT?

есть ли модули с выработкой сигналов прерывания и сколько?

используется ли DMA?

память внешняя или BRAM, если внешняя какого типа?

используется ли FPU и CACHE?

есть ли констрейнты на все тактовые сигналы или только на один и при этом на входной?

 

В зависимости от ответов потребуется дальнейшая конкретизация.

Как получилось что системный клок не глобальный и нельзя использовать отладчик?

Такой проект как мне кажется лучше похоронить иначе или рак мозга будет или станеш

супер специалистом.

В любом случае если нет возможности залезть внутрь, необходимо тщательно и по возможности

полно задать ограничения на все критичные элементы проекта с учётом приоритетов (имеются в виду приоритеты

выполнения операторов в .ucf).

Тогда вы получите максимум информции в Timing Constraints и хотя бы так сможете оценить

критичные задержки и найти решение. Т.к. исходя из "По мере роста проекта и обвешивания процессора различной периферией результаты синтеза(по-моему предположению) стали непредсказуемыми." это

оновная причина.

Хотя как мне кажется ещё могут быть версии.

Люди подскажут.

 

По поводу констрейнов в EDK:

Если проект ISE, в версиях до 9-ой было без разницы использовался только ISE-овый .ucf

с 9-ой я не работал, а вот начиная с 10 - ой ISE стал цеплять EDK-й .ucf и информацию прописанную

в нём переносить в ISE в файл <имя файла>.ncf и использовать в проекте.

Но как мне показалось исходя из Timing Constraints приоритет остаётся за ISE .ucf.

Возможно кто-то подробнее сможет осветить данный вопрос.

Извините за словоблудие Alex77 сделал мне замечание но я тут успел

влезть до того как прочитал его замечание.

Постараюсь больше не мусорить.

 

 

Share this post


Link to post
Share on other sites

1)сколько частот используется для синхронизации проекта и их значения?

Два тактовых сигнала заходят в ПЛИС: 50Mhz и 65Mhz.

50 идет на вход EDK-ой системы, где данный сигнал с помощью DCM(который мне вставил сам визард) умножается на 2 и на 4. (100 Mhz на шину PLB, а 200 на CPU). 65Mhz используется в модуле(там задействован еще один DCM), который вне EDK. Но эта же частота является входом в модуль на шине PLB. На этой частоте принимаются данные. С PLB синхронизация выполнена с помощью FIFO.

 

2)сколько DСM и синхронизируется ли их запуск?

И того - DCM в EDK и еще один вне EDK. Запуск никак не синхронизируется.

 

3) сколько модулей на шине и сколько из них с своим интерфейсом?

на шине 11 модулей. из них 3 - custom.

 

4) сколько модулей с возможностью их чтения и не используются ли при этом BUFT?

все с возможностью чтения. BUFT в моих модулях нет, а вот в Xilinx-их скорее всего есть.

 

5) есть ли модули с выработкой сигналов прерывания и сколько?

есть. не думаю, что проблема в этом. проблемы с зависаниями по причине прерываний я успешно не решил,

( до CPU то ведь при этом можно достучаться с отладчиком)

 

6) используется ли DMA?

нет

 

7) память внешняя или BRAM, если внешняя какого типа?

Внешняя DDR 256Mbit, и внутренняя BRAM 64k

 

8)используется ли FPU и CACHE?

Используются

 

9)есть ли констрейнты на все тактовые сигналы или только на один и при этом на входной?

только на входной. Наверное, вот здесь нужно что-то доработать.

 

Как получилось что системный клок не глобальный и нельзя использовать отладчик?

это ошибка. отладчик использовать можно, без него никак, проблема в том, что после перекомпиляции часто невозможно подключиться с CPU.

 

Такой проект как мне кажется лучше похоронить иначе или рак мозга будет или станеш

супер специалистом.

 

Похоронить никак нельзя, остается только последний вариант! :-)

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this