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

 
 
> Параллельно запись/чтение в/из памяти ?, Как сделать ?
Саша Z
сообщение Nov 28 2007, 21:06
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 921
Регистрация: 6-04-07
Из: Israel
Пользователь №: 26 822



Есть задача: на входе идет поток и байтовых данных с rate скажем Х MHz (каждый clock - запись байта).
На выходе нужно дать строенные слова, т.е. 24 бита (паковать по 3 последовательно полученных байта и выдавать слово наружу), т.е. со скоростью Х/3 MHz.
Если предположим выходной (read) clock получен делением на 3 входного (write) clockа (значит есть небольшая задержка между edges входного и выходного clocks), можно ли каким-то образом использовать буфер из 3 байт по накоплении которого слово в 24 бита выдается наружу согласно read clock ?
Проблема (как я вижу) в том что по третьему write clockу когда третий байт только записался нужно сразу-же читать все слово (все три байта буфера параллельно) по read clockу, что может примерно совпасть с записью первого байта следующей тройки (т.е. четвертого по счету с streame).
Может ли тут помочь dual port ram ?

Если это не реально, какие более реальные идеи есть ? Может что-то врое ping-pong buffer (т.е. иметь 2 буфера по 3 байта каждый - как только первый заполнился со входа всеми тремя байтами - он тут-же асинхронно скидывается во второй и 24-битное слово считывается на выхом со второго, в то время как первый заполняется следующими 3мя байтами потока, и т.д.)...

Что скажем ?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
yuri_d
сообщение Nov 28 2007, 22:30
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 292
Регистрация: 28-01-05
Из: МО, Мытищи
Пользователь №: 2 274



Применить Dual Port RAM можно, но это напоминает стрельбу из пушки по воробьям.

Еще рекомендую отказаться от асинхронной установки регистров. Современные программируемые микросхемы (как CPLD, так и FPGA) плохо приспособлены для такого рода передачи данных.

И напоследок по поводу самой задачи. Можно обойтись двумя байтовыми регистрами и счетчиком до 3.
Порядок работы следующий:
1) если счетчик равен 0, то по входному тактовому импульсу записываем входные данные в первый регистр. увеличиваем счетчик на 1.
2) если счетчик равен 1, то по входному тактовому импульсу записываем данные во второй регистр. снова увеличивем счетчик на 1.
3) если счетчик равен 2, то по входному тактовому импульсу сбрасываем счетчик в 0. одновременно с этим передаем на выход тактовый импульс. выходным тактовым импульсом может быть равенство счетчика нулю.

Выходное 24-битное слово состоит из значений обоих регистров и байта входных данных.

напоследок хорошо бы отказаться от формирования тактовых импульсов подобным способом. Значительно лучше работают синхронные схемы, где имеется один тактовый сигнал и управлять сигналом clock enable для того, чтобы делать или не делать что либо.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Саша Z   Параллельно запись/чтение в/из памяти ?   Nov 28 2007, 21:06
- - rezident   Вы вроде начинаете работать с ПЛИС? Вот и познаком...   Nov 28 2007, 21:37
|- - skv   Цитата(yuri_d @ Nov 29 2007, 01:30) Приме...   Nov 30 2007, 12:08
|- - Саша Z   Цитата(skv @ Nov 30 2007, 16:08) Схема и ...   Nov 30 2007, 21:26
- - Саша Z   Спасибо, это действительно вариант, вроде просто. ...   Nov 29 2007, 15:01
|- - sazh   Цитата(Саша Z @ Nov 29 2007, 18:01) Спаси...   Nov 29 2007, 15:42
|- - Саша Z   Цитата(sazh @ Nov 29 2007, 19:42) Обычно ...   Nov 29 2007, 22:15
|- - AlexB   Цитата(Саша Z @ Nov 30 2007, 02:15) Что и...   Nov 29 2007, 23:05
- - BSV   Что Вы все так рветесь прикрутить еще один тактовы...   Nov 30 2007, 21:46
|- - Саша Z   Цитата(BSV @ Dec 1 2007, 01:46) Что Вы вс...   Nov 30 2007, 21:58
|- - BSV   Цитата(Саша Z @ Dec 1 2007, 00:58) Значит...   Nov 30 2007, 22:04
|- - Саша Z   Цитата(BSV @ Dec 1 2007, 02:04) Верно, то...   Nov 30 2007, 22:20
- - BSV   Почитайте мой предыдущий пост - я его немного попр...   Nov 30 2007, 22:27
|- - Саша Z   Цитата(BSV @ Dec 1 2007, 02:27) Почитайте...   Nov 30 2007, 22:56
|- - Саша Z   Цитата(BSV @ Dec 1 2007, 02:27) Почитайте...   Dec 3 2007, 16:09
- - BSV   А с генерацией выходного клока разобрались? Кстати...   Dec 3 2007, 21:12
- - Саша Z   Цитата(BSV @ Dec 4 2007, 01:12) А с генер...   Dec 3 2007, 21:33


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

 


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


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