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

 
 
> Шина на VHDL?, Нужна концепция
dotnot
сообщение Feb 17 2014, 13:43
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 55
Регистрация: 29-05-12
Пользователь №: 72 074



Добрый день! Есть ПЛИС в которой реализованы всякие относительно медленные интерфейсы ввода вывода и один высокоскоростной SPI интерфейс который в себе должен объединять потоки данных с этих интерфейсов:

Реализации отдельных этих интерфейсов написаны, но вот как объединить лучшим образом данные с узкими потоками в один широкий поток не могу придумать.
Какую лучше глобально выбрать стратегию реализации объединения этих потоков? Где лучше разместить буфферы и как их связать?. Делал ли кто-нибудь что-нибудь подобное? Возможно есть какие-нибудь открытые шины на VHDL, предназначенные для такого рода арбитража.
Прошу прощения за столь глобальный и нечеткий вопрос, но боюсь изобретать велосипед так как могу это сделать неграмотно в связи с отсутствием опыта.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ZASADA
сообщение Feb 17 2014, 17:43
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 738
Регистрация: 13-01-11
Из: Минск
Пользователь №: 62 210



не совсем понял конечную цель и кто с кем должен объединяться.
ИМХО обмен между модулями проще всего организовать черезблоки двухпортовой памяти.
Go to the top of the page
 
+Quote Post
dotnot
сообщение Feb 17 2014, 18:34
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 55
Регистрация: 29-05-12
Пользователь №: 72 074



Спасибо за ответ!
Цитата(ZASADA @ Feb 17 2014, 21:43) *
не совсем понял конечную цель

Цель на ПЛИС приходит один выско-скоростной поток с маленькими пачками данных для нескольких низко-скоростных интерфейсов, а плис разгребает этот поток и кидает его в эти интерфейсы. Наверно я с сильно сложного начал, на самом деле меня интересует как сделать вот это:

Цитата
и кто с кем должен объединяться.

Должен объединятся модуль SPI Slave(в который из вне ПЛИС входит один высокоскоростной поток данных и выходит один такой же)
со всеми низкозкоскоростными модулями.
Цитата
двухпортовой памяти.

То есть реализовать очереди FIFO на основе внутренней блочной двухпортовой памяти для каждого низкоуровневого интерфейса, и получается в один порт будет писать/читать низко-скоростной интерфейс а из второго порта будет читать/писать высоко-скоростной? Или я не правильно понял?

2iosifk
Спасибо, Да, видимо придется "пакетить" еще наверное до того как отправлять налево, но тут сложность в том что нужно определить на какие размеры дробить эти пакеты. И получается справа нужно еще реализовать логику обработки ошибок. Хотелось конечно уйти от всяческих протоколов и сделать такой обмен наиболее прозрачным, но ваши слова действительно заставили задуматься еще и об этом. Таки наверно придется делать классическую схему: первый байт пакета размер, потом пару каких-нибудь служебных байтов с адресом и потом уже данные.
Спасибо, действительно нужно начать с проработки протокола, буду думать

Сообщение отредактировал dotnot - Feb 17 2014, 18:35
Go to the top of the page
 
+Quote Post
iosifk
сообщение Feb 17 2014, 18:38
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(dotnot @ Feb 17 2014, 22:34) *
2iosifk
Спасибо, действительно нужно начать с проработки протокола, буду думать

Начинать надо с "Гайки М3", если не читали...(Ну пусть будут высказывания, я уже привык... sm.gif)



--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
krux
сообщение Feb 17 2014, 19:05
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 700
Регистрация: 2-07-12
Из: дефолт-сити
Пользователь №: 72 596



Цитата(iosifk @ Feb 17 2014, 22:38) *
Начинать надо с "Гайки М3", если не читали...(Ну пусть будут высказывания, я уже привык... sm.gif)

я тоже за "гайку М3", однако похоже что у ребят даже её пока что нет ;-)


--------------------
провоцируем неудовлетворенных провокаторов с удовольствием.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- dotnot   Шина на VHDL?   Feb 17 2014, 13:43
||- - iosifk   Цитата(krux @ Feb 17 2014, 23:05) я тоже ...   Feb 17 2014, 19:12
|- - Джеймс   Цитата(dotnot @ Feb 17 2014, 21:34) Цель ...   Feb 18 2014, 06:44
- - iosifk   Цитата(dotnot @ Feb 17 2014, 17:43) Добры...   Feb 17 2014, 18:08
- - vzelenuk   Самый простой способ, подключить процессор софтовы...   Feb 17 2014, 18:41
|- - Bad0512   Цитата(vzelenuk @ Feb 18 2014, 01:41) Сам...   Feb 17 2014, 23:39
|- - vzelenuk   Уже написали выше, что потребуется арбитраж и рабо...   Feb 18 2014, 02:07
|- - Bad0512   Цитата(vzelenuk @ Feb 18 2014, 09:07) Уже...   Feb 18 2014, 04:27
- - count_enable   Если вы сильны в программировании МК - поставьте с...   Feb 17 2014, 22:59
- - SM   Что-то мне кажется, что все эти софт-коры и процы ...   Feb 17 2014, 23:22
- - count_enable   Сейчас проц на 160 МГц стоит 4-5 баксов Дешевле б...   Feb 17 2014, 23:37
- - SM   Цитата(count_enable @ Feb 18 2014, 03:37)...   Feb 17 2014, 23:44
- - count_enable   Цитата(SM @ Feb 18 2014, 03:44) Сейчас ПЛ...   Feb 18 2014, 13:39
- - Maverick   Цитата(dotnot @ Feb 17 2014, 15:43) я пр...   Feb 19 2014, 06:47
- - dotnot   Цитата(Maverick @ Feb 19 2014, 09:47) я п...   Feb 19 2014, 21:45


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

 


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


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