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

 
 
 
Reply to this topicStart new topic
Acvarif
сообщение Oct 12 2017, 10:47
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850



Имеется проект для Cyclone 3 (Sopc компонент + Nios F) Частота на которой работает Sopc компонент 55 мГц Системная частота Nios + обвъязка(контроллер RAM, UART и пр.) 100 мГц
Sopc компонент имеет связь с Nios по Avalon (запись-чтение)
Для потребностей Sopc компонента пытаюсь увеличить частоту вдвое 110 мГц затем внутри делю на 2 - получаю те же 55, а 110 предполагается использовать для точной подсинхронизации некоторых процессов в компоненте. Вроде для компонента ничего не должно меняться. Но система перестает работать вообще.
Ничего не сделал, только входной клок увеличил вдвое и поделил на 2.
Подскажите пожалуйста в чем может быть проблема?
Go to the top of the page
 
+Quote Post
Burenkov Sergey
сообщение Oct 12 2017, 11:35
Сообщение #2


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

Группа: Участник
Сообщений: 86
Регистрация: 10-01-13
Пользователь №: 75 145



Цитата(Acvarif @ Oct 12 2017, 13:47) *
Имеется проект для Cyclone 3 (Sopc компонент + Nios F) Частота на которой работает Sopc компонент 55 мГц Системная частота Nios + обвъязка(контроллер RAM, UART и пр.) 100 мГц
Sopc компонент имеет связь с Nios по Avalon (запись-чтение)
Для потребностей Sopc компонента пытаюсь увеличить частоту вдвое 110 мГц затем внутри делю на 2 - получаю те же 55, а 110 предполагается использовать для точной подсинхронизации некоторых процессов в компоненте. Вроде для компонента ничего не должно меняться. Но система перестает работать вообще.
Ничего не сделал, только входной клок увеличил вдвое и поделил на 2.
Подскажите пожалуйста в чем может быть проблема?

У вас Nios отдельно от Sopc, снаружи? Сделайте хотя бы скриншот структуры, ничего не понятно. Где и как умножаете и делите частоту?
Go to the top of the page
 
+Quote Post
Acvarif
сообщение Oct 12 2017, 12:41
Сообщение #3


Знающий
****

Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850



Цитата(Burenkov Sergey @ Oct 12 2017, 14:35) *
У вас Nios отдельно от Sopc, снаружи? Сделайте хотя бы скриншот структуры, ничего не понятно. Где и как умножаете и делите частоту?

Структура
 Р В Р’ Р’ Р’ Р’ Р’ Р в‚¬Р В РЎВ˜Р В Р’µР Р…ьшено Р Т‘Р С• 83%
Прикрепленное изображение
987 x 605 (143.45 килобайт)

Компонент на который подается 55,55.. мГц (altpll_io) - amulet0
Go to the top of the page
 
+Quote Post
Burenkov Sergey
сообщение Oct 12 2017, 13:03
Сообщение #4


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

Группа: Участник
Сообщений: 86
Регистрация: 10-01-13
Пользователь №: 75 145



Цитата(Acvarif @ Oct 12 2017, 15:41) *
Структура
 Р В Р’ Р’ Р’ Р’ Р’ Р в‚¬Р В РЎВ˜Р В Р’µР Р…ьшено Р Т‘Р С• 68%
Прикрепленное изображение
987 x 605 (143.45 килобайт)

Компонент на который подается 55,55.. мГц (altpll_io) - amulet0

Вам надо убедиться что логика, которая обслуживает slave порт вашего блока работает на частоте altpll_io, а не на ее производной. SOPC поставил clock cross логику между портом slave вашего блока и мастерами на sys_clk, и все сигналы slave порта у вас работают на частоте altpll_io. Как вы делите частоту внутри amulet0? Это момент тоже важен, нельзя клок так просто пропускать через триггер-делитель, из-за этого тоже могут быть проблемы

Сообщение отредактировал Burenkov Sergey - Oct 12 2017, 13:04
Go to the top of the page
 
+Quote Post
Acvarif
сообщение Oct 12 2017, 13:22
Сообщение #5


Знающий
****

Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850



Цитата(Burenkov Sergey @ Oct 12 2017, 16:03) *
Вам надо убедиться что логика, которая обслуживает slave порт вашего блока работает на частоте altpll_io, а не на ее производной. SOPC поставил clock cross логику между портом slave вашего блока и мастерами на sys_clk, и все сигналы slave порта у вас работают на частоте altpll_io. Как вы делите частоту внутри amulet0? Это момент тоже важен, нельзя клок так просто пропускать через триггер-делитель, из-за этого тоже могут быть проблемы

Да именно так. altpll_i0 делаю 110, а в компоненте amulet0 просто делю ее на тригере. Предполагаю, что логика компонента должна работать также. Другое дело, что там (в компоненте) где осуществляется запись(чтение) данних в регистры(из регистров) компонента посредством Avalon нужно оставить неделенную на 2 altpll_i0. Я правильно понимаю?
Go to the top of the page
 
+Quote Post
Burenkov Sergey
сообщение Oct 12 2017, 13:33
Сообщение #6


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

Группа: Участник
Сообщений: 86
Регистрация: 10-01-13
Пользователь №: 75 145



Цитата(Acvarif @ Oct 12 2017, 16:22) *
Да именно так. altpll_i0 делаю 110, а в компоненте amulet0 просто делю ее на тригере. Предполагаю, что логика компонента должна работать также. Другое дело, что там (в компоненте) где осуществляется запись(чтение) данних в регистры(из регистров) компонента посредством Avalon нужно оставить неделенную на 2 altpll_i0. Я правильно понимаю?

Да, все что связано с Avalon нужно тактировать от altpll_io, либо сделать переход между домена вручную.
Раз уж деление на триггере никак нельзя убрать, то после триггера поставьте клоковый буфер и опишите эту частоту в sdc
Go to the top of the page
 
+Quote Post
Acvarif
сообщение Oct 12 2017, 13:38
Сообщение #7


Знающий
****

Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850



Цитата(Burenkov Sergey @ Oct 12 2017, 16:33) *
Да, все что связано с Avalon нужно тактировать от altpll_io, либо сделать переход между домена вручную.
Раз уж деление на триггере никак нельзя убрать, то после триггера поставьте клоковый буфер и опишите эту частоту в sdc

Понял. Спасибо.
Как выглядит клоковый буфер?
Я так понимаю это должно быть описание на VHDL(Verilog)?
В sdc ее просто прописать.. ?
Go to the top of the page
 
+Quote Post
Burenkov Sergey
сообщение Oct 12 2017, 13:54
Сообщение #8


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

Группа: Участник
Сообщений: 86
Регистрация: 10-01-13
Пользователь №: 75 145



Цитата(Acvarif @ Oct 12 2017, 16:38) *
Понял. Спасибо.
Как выглядит клоковый буфер?
Я так понимаю это должно быть описание на VHDL(Verilog)?
В sdc ее просто прописать.. ?

Видимо надо такую штуку поставить https://www.altera.com/content/dam/altera-w...ug_altclock.pdf
не уверен...

Я бы сделал лучше просто второй вход клока, и на него подал с PLL частоту, так как-то прозрачнее и понятнее...
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th June 2025 - 20:23
Рейтинг@Mail.ru


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