|
Cyclone IV и SignalTap |
|
|
|
May 12 2011, 07:04
|

Местный
  
Группа: Свой
Сообщений: 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"
|
|
|
|
|
May 12 2011, 07:13
|
Частый гость
 
Группа: Участник
Сообщений: 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 порт, если мне не изменяет маразм, автоматически генерирует сам Сигналтап, это можно проверить по отчету таймквеста. Ну и общие наводящие вопросы: какой клок заводится на сигналтап? В каком клоковом домене сгенерированы сигналы, заводящиеся на входы данных сигналтапа? Если клоковые домены сигналтапа и просматриваемых сигналов разные (асинхронные), как производится синхронизация в вашей схеме?
|
|
|
|
|
May 13 2011, 14:56
|

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

|
Цитата(murmel1 @ May 12 2011, 22:29)  Были точно такие же симптомы, когда в чип поступала плохая тактовая частота - была неправильно настроена терминация на входе тактовой. Плата была Arria GX Development Kit. Нашел с трудом. Советую вывести принятую тактовую наружу и посмотреть осциллографом. С частотой порядок - весь проект (к которому надо добавить свою часть работает отлично, осциллографом посмотрел тоже) Вы хотите сказать, что я не могу асинхронные сигналы смотреть сигналтапом? Или имеющие другую частоту? Извините, но это по-моему бред. Когда я все сигналы подсинхронизировал той же частотой - ничего не поменялось
|
|
|
|
|
May 13 2011, 16:30
|
Местный
  
Группа: Участник
Сообщений: 306
Регистрация: 11-11-04
Из: Москва
Пользователь №: 1 106

|
Цитата(Sergey_Bekrenyov @ May 13 2011, 18:56)  С частотой порядок - весь проект (к которому надо добавить свою часть работает отлично, осциллографом посмотрел тоже)
Вы хотите сказать, что я не могу асинхронные сигналы смотреть сигналтапом? Или имеющие другую частоту? Извините, но это по-моему бред. Когда я все сигналы подсинхронизировал той же частотой - ничего не поменялось Осциллограф это не сигналтап. И нет смысла в "Подсинхронизации" сигналов. Должна быть одна единая частота от которой пляшет весь проект. Если таковой нет, и вы хотите сигналтапом посмотреть асинхронные сигналы, то установите частоту для сигналтапа раз в 10 выше чем та которая в проекте и посмотрите свои сигналы. Все будет похоже с осциллографом.
|
|
|
|
|
May 15 2011, 17:02
|

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

|
Цитата(andrewkrot @ May 13 2011, 20:30)  Осциллограф это не сигналтап. И нет смысла в "Подсинхронизации" сигналов. Должна быть одна единая частота от которой пляшет весь проект. Если таковой нет, и вы хотите сигналтапом посмотреть асинхронные сигналы, то установите частоту для сигналтапа раз в 10 выше чем та которая в проекте и посмотрите свои сигналы. Все будет похоже с осциллографом. Всем спасибо, беседа зашла в тупик. Речь шла о "ложных" срабатываниях Сигналтапа. Проекта нет - одна PLL, и один вход. Откуда взялась цифра в 10 раз выше? Я прекрасно понимаю, что я увижу, если попытаюсь смотреть сигнал равной или более высокой частоты. Однако сигналтап не должен давать ложных событий. Будем писать на Альтеру
|
|
|
|
|
May 15 2011, 19:14
|
Местный
  
Группа: Участник
Сообщений: 306
Регистрация: 11-11-04
Из: Москва
Пользователь №: 1 106

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

Местный
  
Группа: Свой
Сообщений: 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
|
|
|
|
|
May 16 2011, 13:20
|

Местный
  
Группа: Свой
Сообщений: 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
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|