Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: NIOS и PLL
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
talyankh
Есть такая вот система, когда ядро тактируется от плл то при заливке прошивки еклипс не видит проц. Если тактироватся непосредственно от кварца(48мгц), то все работает.
Может есть способы отлаживать проц на высокой частоте? smile3046.gif
Acvarif
Цитата(talyankh @ Aug 26 2012, 11:31) *
Есть такая вот система, когда ядро тактируется от плл то при заливке прошивки еклипс не видит проц. Если тактироватся непосредственно от кварца(48мгц), то все работает.

Мало информации. Каая частота? Где скриншет PLL? Где содержимое .sdc файла?
По представленному, мало что можно посоветовать.
talyankh
cpu0.sdc
Код
set     cpu_0     cpu_0:*
set     cpu_0_oci     cpu_0_nios2_oci:the_cpu_0_nios2_oci
set     cpu_0_oci_break     cpu_0_nios2_oci_break:the_cpu_0_nios2_oci_break
set     cpu_0_ocimem     cpu_0_nios2_ocimem:the_cpu_0_nios2_ocimem
set     cpu_0_oci_debug     cpu_0_nios2_oci_debug:the_cpu_0_nios2_oci_debug
set     cpu_0_wrapper     cpu_0_jtag_debug_module_wrapper:the_cpu_0_jtag_debug_module_wrapper
set     cpu_0_jtag_tck     cpu_0_jtag_debug_module_tck:the_cpu_0_jtag_debug_module_tck
set     cpu_0_jtag_sysclk     cpu_0_jtag_debug_module_sysclk:the_cpu_0_jtag_debug_module_sysclk
set     cpu_0_oci_path      [format "%s|%s" $cpu_0 $cpu_0_oci]
set     cpu_0_oci_break_path      [format "%s|%s" $cpu_0_oci_path $cpu_0_oci_break]
set     cpu_0_ocimem_path      [format "%s|%s" $cpu_0_oci_path $cpu_0_ocimem]
set     cpu_0_oci_debug_path      [format "%s|%s" $cpu_0_oci_path $cpu_0_oci_debug]
set     cpu_0_jtag_tck_path      [format "%s|%s|%s" $cpu_0_oci_path $cpu_0_wrapper $cpu_0_jtag_tck]
set     cpu_0_jtag_sysclk_path      [format "%s|%s|%s" $cpu_0_oci_path $cpu_0_wrapper $cpu_0_jtag_sysclk]
set     cpu_0_jtag_sr      [format "%s|*sr" $cpu_0_jtag_tck_path]

#**************************************************************
# Set False Paths
#**************************************************************

set_false_path -from [get_keepers *$cpu_0_oci_break_path|break_readreg*] -to [get_keepers *$cpu_0_jtag_sr*]
set_false_path -from [get_keepers *$cpu_0_oci_debug_path|*resetlatch]     -to [get_keepers *$cpu_0_jtag_sr[33]]
set_false_path -from [get_keepers *$cpu_0_oci_debug_path|monitor_ready]  -to [get_keepers *$cpu_0_jtag_sr[0]]
set_false_path -from [get_keepers *$cpu_0_oci_debug_path|monitor_error]  -to [get_keepers *$cpu_0_jtag_sr[34]]
set_false_path -from [get_keepers *$cpu_0_ocimem_path|*MonDReg*] -to [get_keepers *$cpu_0_jtag_sr*]
set_false_path -from *$cpu_0_jtag_sr*    -to *$cpu_0_jtag_sysclk_path|*jdo*
set_false_path -from sld_hub:*|irf_reg* -to *$cpu_0_jtag_sysclk_path|ir*
set_false_path -from sld_hub:*|sld_shadow_jsm:shadow_jsm|state[1] -to *$cpu_0_oci_debug_path|monitor_go


PLL создаю в sopc билдере и там-же подключаю. Входная частота 48МГц, выходная 144МГц.


Еклипс пишет:
Код
Using cable "USB-Blaster [USB-0]", device 1, instance 0x00
Pausing target processor: not responding.
Resetting and trying again: FAILED
Leaving target processor paused
Acvarif
Полезно изменить настройки PLL для процессора так
Нажмите для просмотра прикрепленного файла
а в .sdc файл добавить строки
Код
derive_pll_clocks -create_base_clocks
derive_clock_uncertainty

У меня при подобных настройках процессор нормально работает на 150 мГц
alexPec

Цитата
PLL создаю в sopc билдере и там-же подключаю. Входная частота 48МГц, выходная 144МГц.


Циклон 3? 144Мгц ниос? А спидгрейд какой?
Я не смог выжать из С8 даже 120 МГц, точно не помню, но по-моему выжал максимум 110 МГц. И это на самой простой системе (проц и ончип память+PIO, проц самый простой). А что, таймквест-то ругается на слэки?
talyankh
Почему? Максимальная частота тактирования плис овер400МГц

плис ep3c25f324c8

Та-же чепуха, когда сбавляю частоту до 60МГц smile3046.gif
alexPec
Цитата(talyankh @ Aug 26 2012, 21:50) *
Почему? Максимальная частота тактирования плис овер400МГц

плис ep3c25f324c8

Та-же чепуха, когда сбавляю частоту до 60МГц smile3046.gif


Так это понятно, что макс. тактовая 400+, но сопц-то не будет никогда работать на Cyc3 -C8 на 400 МГц. Схема сопца по таймингам не пройдет, о чем Вам скажет таймквест при компиляции проекта. Вот я и спрашивал, в отчете таймквеста что написано? Какие клоки он увидел?

А на 150МГц - по моему не реально разогнать сопц с ниосом. Два года назад было, я долго мучался, но получить рабочий сопц (самый простой) без отриц. слэков даже на 120мгц не получилось. Плюнул, снизил до 80 - больше проблем с сопцем из-за частоты не было, даже с большим включая всякие dma, sync генераторы и т.д.
talyankh
Дело не в частоте, сбавлаяю до 24 один фиг не работает(
talyankh
Дело не в частоте, сбавлаяю до 24 один фиг не работает(
alexPec
Цитата(talyankh @ Aug 27 2012, 00:26) *
Дело не в частоте, сбавлаяю до 24 один фиг не работает(


Ну так а с таймквестом то что? Ну в конце концов вытащите ПЛЛ наружу из сопца, прицепитесь к выводу locked сигнал-тапом, посмотрите, может у вас ПЛЛ не лочится.

talyankh
Я дебил, поставил на сброс pll кнопку, подтянутую к единице smile3046.gif smile3046.gif smile3046.gif
alexPec спасибо за подсказку a14.gif
Fynjisx
Цитата(Acvarif @ Aug 26 2012, 18:23) *
а в .sdc файл добавить строки
Код
derive_pll_clocks -create_base_clocks
derive_clock_uncertainty

У меня при подобных настройках процессор нормально работает на 150 мГц

Зачем пишут derive_pll_clocks -create_base_clocks???
такая запись не подойдет ->derive_pll_clocks????
и второй вопрос: а где собственно прописан базовый клок???
alexPec
Цитата(Fynjisx @ Sep 8 2013, 20:47) *
Зачем пишут derive_pll_clocks -create_base_clocks???
такая запись не подойдет ->derive_pll_clocks????
и второй вопрос: а где собственно прописан базовый клок???


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