реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Closed TopicStart new topic
> Cyclone IV и SignalTap
Sergey_Bekrenyov
сообщение May 12 2011, 05:59
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 323
Регистрация: 14-12-10
Из: Королёв
Пользователь №: 61 599



Столкнулись с проблемой - SignalTap некорректно работает в Cyclone IVE (4c40). Ложные срабатывания триггера (данные тоже недостоверны), однако при принудительном чтении буфера (Read Data) данные вполне корректны.

Давно хотел спросить - можно ли снизить частоту TCK?
Go to the top of the page
 
+Quote Post
AndrewS6
сообщение May 12 2011, 06:30
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 125
Регистрация: 9-10-05
Из: С.-Петербург
Пользователь №: 9 418



Есть мнение, что у вас не выполняются тайминги.
Покажите ваш .sdc файл и результат выполнения макроса Таймквеста "Report Top Failing Paths"
Go to the top of the page
 
+Quote Post
Sergey_Bekrenyov
сообщение May 12 2011, 07:04
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 323
Регистрация: 14-12-10
Из: Королёв
Пользователь №: 61 599



Я раньше работал только с Xilinx, так что буду глупыми вопросами надоедать

Тестовый проект содержит только PLL, три тест-пойнта(два на выходы и один на locked) и UART (txd <= rxd).

SDC файл отсутствует, сейчас пишу его. Кроме

"
create_clock -name {altera_reserved_tck} -period 100.000 [get_ports {altera_reserved_tck}]
create_clock -name {sys_clk} -period 20.000 [get_ports {sys_clk}]
"
в голову ничего не приходит

Спасибо

Цитата(AndrewS6 @ May 12 2011, 10:30) *
Есть мнение, что у вас не выполняются тайминги.
Покажите ваш .sdc файл и результат выполнения макроса Таймквеста "Report Top Failing Paths"

Go to the top of the page
 
+Quote Post
AndrewS6
сообщение May 12 2011, 07:13
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 125
Регистрация: 9-10-05
Из: С.-Петербург
Пользователь №: 9 418



Цитата(Sergey_Bekrenyov @ May 12 2011, 11:04) *
Кроме
"
create_clock -name {altera_reserved_tck} -period 100.000 [get_ports {altera_reserved_tck}]
create_clock -name {sys_clk} -period 20.000 [get_ports {sys_clk}]
"
в голову ничего не приходит

Как минимум можно еще derive_pll_clocks добавить, автоматически обконстрейнятся выходные клоки PLL.
Констрейны на JTAG порт, если мне не изменяет маразм, автоматически генерирует сам Сигналтап, это можно проверить по отчету таймквеста.
Ну и общие наводящие вопросы: какой клок заводится на сигналтап? В каком клоковом домене сгенерированы сигналы, заводящиеся на входы данных сигналтапа? Если клоковые домены сигналтапа и просматриваемых сигналов разные (асинхронные), как производится синхронизация в вашей схеме?
Go to the top of the page
 
+Quote Post
Sergey_Bekrenyov
сообщение May 12 2011, 07:25
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 323
Регистрация: 14-12-10
Из: Королёв
Пользователь №: 61 599



-2.973 sys_clk sld_signaltap:auto_signaltap_0|sld_signaltap_impl:sld_signaltap_body|acq_data_in
_reg[1] sys_clk sys_clk 0.000 2.933 0.146
-2.972 sys_clk sld_signaltap:auto_signaltap_0|sld_signaltap_impl:sld_signaltap_body|acq_trigger
_in_reg[0] sys_clk sys_clk 0.000 2.928 0.142
-2.972 sys_clk sld_signaltap:auto_signaltap_0|sld_signaltap_impl:sld_signaltap_body|acq_data_in
_reg[0] sys_clk sys_clk 0.000 2.933 0.147
-2.766 sys_clk sld_signaltap:auto_signaltap_0|sld_signaltap_impl:sld_signaltap_body|acq_trigger
_in_reg[1] sys_clk sys_clk 0.000 2.941 0.361

На СигналТап заводил 50 МГц с генератора, синхронизацию обычно не делаю, просто имею в виду, что сигналы с близкой частотой будут отображаться некорректно

derive_pll_clocks попробую, спасибо

Попробовал подсинхронизировать, Report Top Failing Paths теперь пустой. СигналТап ведет себя по-прежнему

Сообщение отредактировал Sergey_Bekrenyov - May 12 2011, 07:44
Go to the top of the page
 
+Quote Post
des00
сообщение May 12 2011, 15:23
Сообщение #6


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Sergey_Bekrenyov @ May 11 2011, 23:59) *
Ложные срабатывания триггера (данные тоже недостоверны), однако при принудительном чтении буфера (Read Data) данные вполне корректны.

частота данных и работы сигнала тапа разная. 99.99%


--------------------
Go to the top of the page
 
+Quote Post
murmel1
сообщение May 12 2011, 18:29
Сообщение #7


Частый гость
**

Группа: Свой
Сообщений: 166
Регистрация: 2-11-08
Из: Ростов-на-Дону
Пользователь №: 41 331



Были точно такие же симптомы, когда в чип поступала плохая тактовая частота - была неправильно настроена терминация на входе тактовой. Плата была Arria GX Development Kit. Нашел с трудом. Советую вывести принятую тактовую наружу и посмотреть осциллографом.
Go to the top of the page
 
+Quote Post
Sergey_Bekrenyov
сообщение May 13 2011, 14:56
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 323
Регистрация: 14-12-10
Из: Королёв
Пользователь №: 61 599



Цитата(murmel1 @ May 12 2011, 22:29) *
Были точно такие же симптомы, когда в чип поступала плохая тактовая частота - была неправильно настроена терминация на входе тактовой. Плата была Arria GX Development Kit. Нашел с трудом. Советую вывести принятую тактовую наружу и посмотреть осциллографом.


С частотой порядок - весь проект (к которому надо добавить свою часть работает отлично, осциллографом посмотрел тоже)

Вы хотите сказать, что я не могу асинхронные сигналы смотреть сигналтапом? Или имеющие другую частоту? Извините, но это по-моему бред. Когда я все сигналы подсинхронизировал той же частотой - ничего не поменялось
Go to the top of the page
 
+Quote Post
andrewkrot
сообщение May 13 2011, 16:30
Сообщение #9


Местный
***

Группа: Участник
Сообщений: 306
Регистрация: 11-11-04
Из: Москва
Пользователь №: 1 106



Цитата(Sergey_Bekrenyov @ May 13 2011, 18:56) *
С частотой порядок - весь проект (к которому надо добавить свою часть работает отлично, осциллографом посмотрел тоже)

Вы хотите сказать, что я не могу асинхронные сигналы смотреть сигналтапом? Или имеющие другую частоту? Извините, но это по-моему бред. Когда я все сигналы подсинхронизировал той же частотой - ничего не поменялось

Осциллограф это не сигналтап. И нет смысла в "Подсинхронизации" сигналов. Должна быть одна единая частота от которой пляшет весь проект. Если таковой нет, и вы хотите сигналтапом посмотреть асинхронные сигналы, то установите частоту для сигналтапа раз в 10 выше чем та которая в проекте и посмотрите свои сигналы. Все будет похоже с осциллографом.
Go to the top of the page
 
+Quote Post
Sergey_Bekrenyov
сообщение May 15 2011, 17:02
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 323
Регистрация: 14-12-10
Из: Королёв
Пользователь №: 61 599



Цитата(andrewkrot @ May 13 2011, 20:30) *
Осциллограф это не сигналтап. И нет смысла в "Подсинхронизации" сигналов. Должна быть одна единая частота от которой пляшет весь проект. Если таковой нет, и вы хотите сигналтапом посмотреть асинхронные сигналы, то установите частоту для сигналтапа раз в 10 выше чем та которая в проекте и посмотрите свои сигналы. Все будет похоже с осциллографом.


Всем спасибо, беседа зашла в тупик.

Речь шла о "ложных" срабатываниях Сигналтапа. Проекта нет - одна PLL, и один вход.

Откуда взялась цифра в 10 раз выше? Я прекрасно понимаю, что я увижу, если попытаюсь смотреть сигнал равной или более высокой частоты. Однако сигналтап не должен давать ложных событий.

Будем писать на Альтеру
Go to the top of the page
 
+Quote Post
andrewkrot
сообщение May 15 2011, 19:14
Сообщение #11


Местный
***

Группа: Участник
Сообщений: 306
Регистрация: 11-11-04
Из: Москва
Пользователь №: 1 106



Цитата(Sergey_Bekrenyov @ May 15 2011, 21:02) *
Однако сигналтап не должен давать ложных событий.

Эт точно... Ложных событий он и не дает. Он показывает то, что творится внутри кристалла синхронно с его (SignalTap) частотой. И если результаты его работы никак не сходятся с результатами функционального моделирования то вариантов всего два - асинхронщина или времянка. Попробуйте понизить частоту всего проекта раза в 2 и посмотрите что там будет на сигналтапе. И дайте народу хоть посмотреть на Ваш проект - телепатов здесь по-прежнему нет.
Go to the top of the page
 
+Quote Post
Sergey_Bekrenyov
сообщение May 16 2011, 10:01
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 323
Регистрация: 14-12-10
Из: Королёв
Пользователь №: 61 599



Цитата(andrewkrot @ May 15 2011, 23:14) *
Эт точно... Ложных событий он и не дает. Он показывает то, что творится внутри кристалла синхронно с его (SignalTap) частотой. И если результаты его работы никак не сходятся с результатами функционального моделирования то вариантов всего два - асинхронщина или времянка. Попробуйте понизить частоту всего проекта раза в 2 и посмотрите что там будет на сигналтапе. И дайте народу хоть посмотреть на Ваш проект - телепатов здесь по-прежнему нет.


tp1 <= tp1_as;

process (fpga_reset_h, sys_clk_int) is
begin
if(fpga_reset_h = '1') then
--tp1 <= '0';
tp2 <= '0';
tp3 <= '0';
ser_txd <= '1';
elsif(rising_edge(sys_clk_int)) then
tp2 <= tp2_as;
tp3 <= tp3_as;
ser_txd <= ser_rxd;-- Synchronous Sequential Statement(s)
end if;
end process;


a1 : ENTITY work.spll
PORT MAP
(
areset => fpga_reset_h,
inclk0 => sys_clk,
c0 => sys_clk_int,
c1 => tp1_as,
c2 => tp2_as,
locked => tp3_as
);



Вот собственно и весь проект, СигналТап висит на sys_clk_int, на входах tp1, tp2, tp3
Go to the top of the page
 
+Quote Post
andrewkrot
сообщение May 16 2011, 11:35
Сообщение #13


Местный
***

Группа: Участник
Сообщений: 306
Регистрация: 11-11-04
Из: Москва
Пользователь №: 1 106



Не плохо было бы еще и картинку с сигналтапа посмотреть. Будет понятнее что там не так происходит. А где настройки PLL? Для экономии места не приводятся, или не производятся вообще в проекте?

Сообщение отредактировал andrewkrot - May 16 2011, 11:38
Go to the top of the page
 
+Quote Post
Sergey_Bekrenyov
сообщение May 16 2011, 13:20
Сообщение #14


Местный
***

Группа: Свой
Сообщений: 323
Регистрация: 14-12-10
Из: Королёв
Пользователь №: 61 599



Цитата(andrewkrot @ May 16 2011, 15:35) *
Не плохо было бы еще и картинку с сигналтапа посмотреть. Будет понятнее что там не так происходит. А где настройки PLL? Для экономии места не приводятся, или не производятся вообще в проекте?


Нашел интересный репорт "Critical Warning: Partially connected in-system debug instance "aaa" to 5 of its 7 required data inputs, trigger inputs, acquisition clocks, and dynamic pins. There were 0 illegal, 0 inaccessible, and 2 missing sources or connections."

Для PLL - входная частота 50 МГц, С0 - повторение входной, С1 - умножение на 6, деление на 5, С2 - умножение на 4, деление на 5
Go to the top of the page
 
+Quote Post
andrewkrot
сообщение May 16 2011, 13:42
Сообщение #15


Местный
***

Группа: Участник
Сообщений: 306
Регистрация: 11-11-04
Из: Москва
Пользователь №: 1 106



Так картинку покажете?
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Closed TopicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 7th July 2025 - 16:25
Рейтинг@Mail.ru


Страница сгенерированна за 0.03861 секунд с 7
ELECTRONIX ©2004-2016