Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Контроллер прерываний
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
Serega Doc
Существует отлаженый блок работы со SDRAM памятью выполняющий потоковое копирование данных внутри этой памяти и на 1 приемник данных

Необходимо добавить еще 1-3 приемников для выполнения дополнительных операций с данными из память. Как их добавить так чтобы можно было указывать приоритет работы с памятью каждого из дополнительных приемников.

Отлаженый блок работает по строгому циклу - период которого изменять нельзя.

Подскажите где можно почитать про основы построения контроллера прерываний или где взять корку?
tonjo
А может использовать систему на кристалле?
des00
Цитата(Serega Doc @ Jun 30 2005, 00:50)
Существует отлаженый блок работы со SDRAM памятью выполняющий потоковое копирование данных внутри этой памяти и на 1 приемник данных

Необходимо добавить еще 1-3 приемников для выполнения дополнительных операций с данными из память. Как их добавить так чтобы можно было указывать приоритет работы с памятью каждого из дополнительных приемников.

Отлаженый блок работает по строгому циклу - период которого изменять нельзя.

Подскажите где можно почитать про основы построения контроллера прерываний или где взять корку?
*

Не совсем понял вам нужен контроллер прерываний или приоритетный декодер ?
Serega Doc
Цитата
А может использовать систему на кристалле?


Разбираюсь с Nios II поэтому пока ниче не могу сказать. Начальство не рассматривает пока такого варианта. Но если все будет подходить по скорости, объему и ногам то думаю будем пользовать.

Кстати а какой компилятор используется для програмирования под Nios или Nios II

Цитата
Не совсем понял вам нужен контроллер прерываний или приоритетный декодер ?


А в чем разница?
des00
Цитата(Serega Doc @ Jun 30 2005, 02:38)
Цитата
Не совсем понял вам нужен контроллер прерываний или приоритетный декодер ?


А в чем разница?
*


Хммм ИМХО задача контроллера прерываний среагировать на конкретное событие и сообщить об этм системе верхней иерархии и все.
А задача приртетного декодера в вашем случае будет более точным назвать его многоканальным контроллером, развести одну память на несколько процессов/блоков. В котором доступ к разделяемуму ресурсу (памяти) определяеться приоритетом запроса.
Serega Doc
Тогда мне надо приоритетный декодер с контроллером прерываний.
У меня один процес существует всегда и имет нивысший приоритет обращения к памяти. А другие могут быть а могут и не быть.

Где взять доки и теорию. А то снова модифицировать конечный автомат а затем тестировать блок нет никакого желания.
dxp
Цитата(Serega Doc @ Jun 30 2005, 14:09)
Тогда мне надо приоритетный декодер с контроллером прерываний.
У меня один процес существует всегда и имет нивысший приоритет обращения к памяти. А другие могут быть а могут и не быть.

Где взять доки и теорию. А то снова модифицировать конечный автомат а затем тестировать блок нет никакого желания.
*

Может я чего-то не понимаю, но, имхо, тут никакой глубокой теории нет - как организуете, так и будет. Я делал просто, по зравому смыслу: имеется внешняя память, внутри ПЛИС имеется несколько устройств, которым надо туда лазить (по очереди, ессно). Устройств было 4 штуки. Контроллер памяти содержал соответствующее количество шин данных и адресов (для каждого устройства) и сигналы Request, Grant для каждого устройства. Когда устройство хочет обратиться к памяти, оно выставляет сигнал Request и ждет своего сигнала Grant, при получении которого начинает работать. Контроллер памяти для обработки запросов и формирования логики разрешений использует простой арбитр - если ресурс не занят, то по запросу предоставляется разрешение. Если ресурс занят, то очередной запрос ждет. Если при освобождении ресурса запросы выставили два и более устройств, то разрешение получит устройство с наибольшим приоритетом. Все это успешно работает в 6-м циклоне.
Serega Doc
Сейчас у меня все приблизительно так и построено. Сделал основную операцию с Источник1 смотрим есть ли команда по передаче на Источник2
Если есть Отдаем данные Источнику2 - нет простой
Это реализовано с помощью конечного автомата.
Сейчас:
Добавили Источник3 - изменили автомат
отладили
протестировали
Источник4 - изменили автомат
отладили
протестировали
Источник5 - изменили автомат
отладили
протестировали
и т. д.
Сейчас не извесно сколько будет источников

Хочу:
Добавили приоритетный декодер
отладили
протестировали
Добавили Источник3
Добавили Источник4
Добавили Источник5
и т. д.

Задача возникла в процессе разработки поектому изначально на нее никто не закладывался

Думаете так не производительней?
ASN
Serega Doc
Уже в который раз человечество изобретает велосипед smile.gif
Посмотрите описание на шину AHB, Wishbone. Там это уже всё есть.
dxp
Цитата(Serega Doc @ Jun 30 2005, 15:30)
Сейчас у меня все приблизительно так и построено. Сделал основную
[...]
Источник5 - изменили автомат
отладили
протестировали
и т. д.
Сейчас не извесно сколько будет источников

Хочу:
Добавили приоритетный декодер
отладили
протестировали
Добавили Источник3
Добавили Источник4
Добавили Источник5
и т. д.

Задача возникла в процессе разработки поектому изначально на нее никто не закладывался

Думаете так не производительней?
*

Видимо, требуется просто параметризовать контроллер памяти. Т.е. чтобы можно было указать, сколько девайсов с ним работают, и синтезатор сгенерил нужное количество экземпляров шин и сигналов.
des00
Цитата(Serega Doc @ Jun 30 2005, 03:09)
Тогда мне надо приоритетный декодер с контроллером прерываний.
У меня один процес существует всегда и имет нивысший приоритет обращения к памяти. А другие могут быть а могут и не быть.

Где взять доки и теорию. А то снова модифицировать конечный автомат а затем тестировать блок нет никакого желания.
*

наткнулся вчера, посмотрите может что поможет
xapp535 "High Performance Multi-Port Memory Controller"
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.