Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: столбец Clock в SOPC builder
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
DASM
Ситуация такая. Система работает на 100 Мгц, но есть один Avalon slave, который на 25 Мгц, причем этот клок заводится на него чисто железно, (Альтера генерит его на ноге). Обязан ли я писать туда именно это clk_25 25 Мгц ? Компонент асинхронный. Несколько сумбурно выражаюсь, но вроде суть ясна
vadimuzzz
Цитата(DASM @ Apr 12 2010, 13:50) *
Ситуация такая. Система работает на 100 Мгц, но есть один Avalon slave, который на 25 Мгц, причем этот клок заводится на него чисто железно, (Альтера генерит его на ноге). Обязан ли я писать туда именно это clk_25 25 Мгц ? Компонент асинхронный. Несколько сумбурно выражаюсь, но вроде суть ясна

нет, там пишется только клок(и) системной шины/шин
DASM
Тогда вот и разгадка скорости DMA. Создал тестовый компонент, но в домене частоты процессора - 2 такта на пересылку слова вышло. (тактовая 100 Мгц). Причем что забавно, если считать, что компонент на 25 Мгц - скорость падает в 10 раз, а не 100/25 = 4 раза.. Отключение второй SDRAM от DMA write master тоже кстати помогло процентов на 20, хотя к ней никто не обращался.. вот вам и арбитраж.. PS - остальные игры с арбитражем - ускорения не дают. Основная беда именно эти несчастные 25 МГЦ
PPS скорость совершенно одинаково что для DMA во внутреннюю что для SSRAM , что для SDRAM..... Кеши ?
vadimuzzz
а можно поподробнее, а то у вас что ни пост, то новые подробности smile.gif уже и SDRAM вторая появилась. хотя бы картинку из SOPC
DASM
щас.. запущу, чтобы все работало, отпишусь подробнее smile.gif
DASM
я правильно понимаю, чтобы все таки этот Avalon slave нормально работал ( в т.ч. с DMA, с Interrupt который в нем есть) системный клок завести все же надо ? А на тактирование асинхронного чипа спокойно свои 25 Мгц вывожу "железно" ? Ну и в TCL пишу fixed времянку нужную ? Чот не пашет пока crying.gif
vadimuzzz
Цитата(DASM @ Apr 12 2010, 15:46) *
я правильно понимаю, чтобы все таки этот Avalon slave нормально работал ( в т.ч. с DMA, с Interrupt который в нем есть) системный клок завести все же надо ? А на тактирование асинхронного чипа спокойно свои 25 Мгц вывожу "железно" ? Ну и в TCL пишу fixed времянку нужную ? Чот не пашет пока crying.gif

да, слейв должен работать на системном клоке, если внешнее железо по каким-то причинам требует свой клок, то стандартные действия при переходе из одного клокового домена в другой: FIFO`ы, generated clocks и т.п (констрейны не забываем). не понял только, откуда выплыл "асинхронный" интерфейс, он же относительно 25 МГц синхронный? схемку бы хоть накидали, вход/выход там, буферы, где какая шина, где какой клок.
DASM
так это.. у ethernet чипа просто своя тактовая 25 Мгц, а внешний интерфейс - как у обычной асинхронной SRAM... Так что не совсем пониаю, зачем тут по доменам шастать. Т.е. обычный MAC чип, ему генератор нужен 25 Мгц, в ките просто сэкономили на отдельном кварце 25 Мгц и гонят этот клок с Альтеры. Но сам интерфей чипа - как у обычной SRAM - CS WR RD ... в дэйташите нормированы только длительности этих импульсов - их я задаю в tcl файле. Саме же эти сигналы привязки к 25 Мгц никакой не имеют
vadimuzzz
Цитата(DASM @ Apr 12 2010, 16:20) *
так это.. у ethernet чипа просто своя тактовая 25 Мгц, а внешний интерфейс - как у обычной асинхронной SRAM... Так что не совсем пониаю, зачем тут по доменам шастать

ну так и пусть все от системного клока пашет. асинхронность SRAM тут роли не играет - адрес/данные ниос будет читать по системному клоку. если частоты позволяют.
DASM
ну так я и говорю - подам на Avalon slave 100 Мгц и буду спокойно читать MAC чип как асинхронную SRAM. Всякие cross clocking тут имхо не нужны ? Для чипа тока такая времянка есть
Уф... все заработало как надо smile.gif
vadimuzzz
Цитата(DASM @ Apr 12 2010, 16:27) *
Уф... все заработало как надо smile.gif

скорость какая?
DASM
70 мбит / сек забиваю в uncashed sdram smile.gif Больше сетка не тянет =) На самом деле да, 2 такта вышло на слово. Немного дольше - потому что у меня "readWaitStates" "30" нс С SDRAM правдв непонятки - выходит в открытый row она пишется без задержек ? Ну лана, буду дальше работать.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.