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

 
 
> Интерфейс между МК и ПЛИС, Использование интерфейса внешней памяти
DENth
сообщение Aug 31 2013, 14:34
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 33
Регистрация: 10-10-12
Из: Санкт-Петербург
Пользователь №: 73 890



Уважаемое сообщество! Есть следующий вопрос по взаимодействию ПЛИС и МК:
Имеем ARM7 LPC2468 и ПЛИС Cyclone 2. ПЛИС подключена к контроллеру внешней памяти ARMа. Данный интерфейс предназначен для работы с асинхронной памятью. Относительно ПЛИС сигналы Write, Read с МК асинхронны. На МК и ПЛИС поступает частота с единого генератора - 12Мгц, но в МК она перемножается до 72МГц - частота ядра. Длительность сигналов контроллера внешней памяти зависит от этой частоты. Частота 72МГц на ПЛИС не идет. Вопрос - как обеспечить максимальное быстродействие между МК и ПЛИС?

Read и Write пропускаю через два последовательных триггера для исключения метастабильного состояния. Но как поступать дальше? Использовать их для тактирования внутренних цепей ПЛИС для записи или чтения состояния регистров и памяти вроде как нельзя. Нужен явный клок. Но его нет с МК.

Сейчас получилось сделать так: стробирую эти сигналы внутренней частотой 72МГц, сформированной на PLL ПЛИС. Получаю сигнал длительностью один период частоты 72МГц. Этот сигнал подаю как сигнал разрешения на внутренние цепи. А клок 72МГц как клок на эти же цепи. Все работает. Но если в МК ускорять работу по этому интерфейсу, то всё перестает работать. Видимо пока я синхронизирую Read, Write внутри ПЛИС, МК уже захлопывает данные, а ПЛИС их еще не успела выставить. Стробировать большей частотой не получается, начинает ругаться временной анализатор.

Как сделать правильно?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
DASM
сообщение Sep 1 2013, 06:46
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



а что значит «ускорять»? И что именно перестает работать? Вы пишите данные с МК а потом забирает результат с ПЛИС? Какая латентность этой обработки? И честно гоаоря не вижу криминала стробы чтения записи подать на входы глобал клоков, а потом передать из на обработку в другой плисовый клоковый домен через фифо например. Также неясно ,что вы там наворотили, что уже на 72 мгц ругается анализатор.
Go to the top of the page
 
+Quote Post
DENth
сообщение Sep 1 2013, 09:19
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 33
Регистрация: 10-10-12
Из: Санкт-Петербург
Пользователь №: 73 890



Цитата(DASM @ Sep 1 2013, 10:46) *
а что значит «ускорять»? И что именно перестает работать? Вы пишите данные с МК а потом забирает результат с ПЛИС? Какая латентность этой обработки? И честно гоаоря не вижу криминала стробы чтения записи подать на входы глобал клоков, а потом передать из на обработку в другой плисовый клоковый домен через фифо например. Также неясно ,что вы там наворотили, что уже на 72 мгц ругается анализатор.


Под ускорением подразумеваю увеличение количества циклов чтения/записи со стороны МК за единицу времени. В ARMе сделано так, что при этом длительности сигналов write, read уменьшаются с увеличением частоты обращений. Зависят от неких величин, которые приведены в табличке выше.

Стробы записи и чтения я как раз-таки завел на глобал клоки. При 72МГц анализатор пока не ругается, но при увеличении частоты стробирования начинаются проблемы. Код попробую подготовить, чтобы стало более понятнее.

Цитата(olegras @ Sep 1 2013, 11:03) *
Правильный вопрос. Что значит "перестает работать"?
Я так понял - при однократном WRITE с МК - ПЛИС принимает данные корректно. При зацикливании этого процесса на МК - ПЛИС принимает абракадабру/нули/единицы/предыдущее значение/... Подчеркните нужное.


Нет, дело не в однократном-многократном. Проблема именно в общих принципах правильного построения подобного взаимодействия.

Цитата(iosifk @ Sep 1 2013, 11:24) *
Два триггера - это правильно.
А дальше усть варианты. Если ПЛИС значительно быстрее, чем МК, то с точки зрения МК все будет укладываться в один цикл "записи". А вот если их скорости примерно одинаковы, то тогда при чтении надо будет переходить к "пакетному" режиму. Т.е. при первом чтении в ПЛИС запишется адрес и перетактируются данные из памяти в выходной регистр, а при втором - данные уйдут в МК. И далее, если сделаете пост-инкремент адреса, то можно будет делать чтение берстом (пакетом)...
А более подробно - у меня на сайте "Краткий Курс", раздел CDC... Кстати и Вам, olegras тоже рекомендую...


Считаем, что нужно построить систему с одним циклом записи, чтения. При пакетном производительность упадет в два раза? Это крайне не желательно.
Ваш курс по описанию временных ограничений с удовольствием читал и постоянно заглядываю при случае. Пожалуй, самое толковое, что есть в рунете по данной теме. Спасибо!

Сообщение отредактировал DENth - Sep 1 2013, 09:14
Go to the top of the page
 
+Quote Post
klop
сообщение Sep 1 2013, 09:26
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 433
Регистрация: 28-02-06
Пользователь №: 14 788



Цитата(DENth @ Sep 1 2013, 12:19) *
Стробы записи и чтения я как раз-таки завел на глобал клоки. При 72МГц анализатор пока не ругается, но при увеличении частоты стробирования начинаются проблемы.

Конечно не ругается - ему ведь неизвестны времянки на СРАМ интерфейсе ЛПЦ
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- DENth   Интерфейс между МК и ПЛИС   Aug 31 2013, 14:34
- - olegras   Во-первых, лично я для исключения метастабильности...   Sep 1 2013, 04:46
|- - DENth   Цитата(olegras @ Sep 1 2013, 08:46) Во-пе...   Sep 1 2013, 09:01
|- - olegras   Цитата(DASM @ Sep 1 2013, 10:46) И что им...   Sep 1 2013, 07:03
||- - DENth   Цитата(klop @ Sep 1 2013, 13:26) Конечно ...   Sep 1 2013, 09:31
|- - iosifk   Цитата(DENth @ Sep 1 2013, 13:19) Считаем...   Sep 1 2013, 11:48
- - Raven   Относящиеся к делу фрагменты кода - в студию! ...   Sep 1 2013, 07:02
- - iosifk   Цитата(DENth @ Aug 31 2013, 18:34) Read и...   Sep 1 2013, 07:24
|- - olegras   Цитата(iosifk @ Sep 1 2013, 11:24) Два тр...   Sep 1 2013, 08:27
|- - klop   Цитата(olegras @ Sep 1 2013, 11:27) Я лиш...   Sep 1 2013, 09:09
|- - olegras   Цитата(klop @ Sep 1 2013, 13:09) Да заявы...   Sep 1 2013, 10:08
|- - klop   Цитата(olegras @ Sep 1 2013, 13:08) Я гов...   Sep 1 2013, 10:25
|- - olegras   Цитата(klop @ Sep 1 2013, 14:25) Вау. А н...   Sep 1 2013, 10:48
- - DENth   RE: Интерфейс между МК и ПЛИС   Sep 1 2013, 17:21
|- - iosifk   Цитата(DENth @ Sep 1 2013, 21:21) ..... П...   Sep 1 2013, 18:13
||- - DENth   Цитата(iosifk @ Sep 1 2013, 22:13) После ...   Sep 1 2013, 19:22
||- - iosifk   Цитата(DENth @ Sep 1 2013, 23:22) Серьезн...   Sep 2 2013, 06:47
|- - vladz   Цитата(DENth @ Sep 1 2013, 20:21) Пояснит...   Sep 1 2013, 20:54
||- - Victor®   Цитата(vladz @ Sep 1 2013, 23:54) Пока чт...   Sep 2 2013, 13:14
|- - olegras   Цитата(DENth @ Sep 1 2013, 21:21) ... сиг...   Sep 2 2013, 06:11
||- - DENth   Цитата(olegras @ Sep 2 2013, 10:11) Это к...   Sep 2 2013, 13:02
||- - olegras   Что-то я запутался. То есть у Вас когда то была од...   Sep 2 2013, 13:21
|||- - DENth   Цитата(olegras @ Sep 2 2013, 17:21) Что-т...   Sep 2 2013, 14:38
|||- - olegras   Для Вашего МК (по даташиту) я бы делал так (пока в...   Sep 2 2013, 15:59
|||- - DENth   Цитата(olegras @ Sep 2 2013, 19:59) Для В...   Sep 2 2013, 18:08
|||- - olegras   Цитата(DENth @ Sep 2 2013, 22:08) ... опе...   Sep 3 2013, 06:14
|||- - DENth   Цитата(olegras @ Sep 3 2013, 10:14) Набро...   Sep 3 2013, 14:59
|||- - olegras   С чтением всегда проблем больше. Приходится играть...   Sep 4 2013, 05:26
||- - psL   Цитата(DENth @ Sep 2 2013, 17:02) Длитель...   Sep 2 2013, 13:36
|- - psL   Цитата(DENth @ Sep 1 2013, 21:21) Обещаны...   Sep 2 2013, 08:45
- - ViKo   В LPC нельзя добавить тактов (ожидания) при записи...   Sep 2 2013, 09:16
- - Corner   Решал подобную задачку на связке 5576ХС+1986ВЕ91. ...   Sep 2 2013, 15:22
- - DASM   --   Sep 3 2013, 07:00
|- - olegras   Цитата(DASM @ Sep 3 2013, 11:00) А что та...   Sep 3 2013, 07:54
- - kenning   Цитата(Corner @ Sep 2 2013, 18:22) Решал ...   Jul 8 2016, 14:02


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

 


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


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