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

 
 
> DC_FIFO, прошу помощи
Evgeny72
сообщение Dec 12 2016, 12:33
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 66
Регистрация: 4-01-14
Пользователь №: 79 899



Вот в чем вопрос. Есть 24 битный последовательный сигнал. Нужно ли его переводить в параллельный 24 битный для подачи на вход dual clock FIFO? (Разрядность вход - выход останется без изменений, 24 бита.) Или можно сделать FIFO с параметрами LPM_WIDTH - 1. На входа wrreg и rdreg подавать импульсы записи и чтения длиной 24 такта. Частоты wrclk и rdclk поданные на FIFO будут пока будут одинаковы, возможно rdclk будет в два раза выше.

(Использовать кучу DFF в качестве синхронизатора просьба не предлагать. biggrin.gif )
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
RobFPGA
сообщение Dec 12 2016, 13:06
Сообщение #2


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

Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643



Приветствую!
Цитата(Evgeny72 @ Dec 12 2016, 15:33) *
Вот в чем вопрос. Есть 24 битный последовательный сигнал. Нужно ли его переводить в параллельный 24 битный для подачи на вход dual clock FIFO? (Разрядность вход - выход останется без изменений, 24 бита.) Или можно сделать FIFO с параметрами LPM_WIDTH - 1. На входа wrreg и rdreg подавать импульсы записи и чтения длиной 24 такта. Частоты wrclk и rdclk поданные на FIFO будут пока будут одинаковы, возможно rdclk будет в два раза выше.

(Использовать кучу DFF в качестве синхронизатора просьба не предлагать. biggrin.gif )

Да без проблем сделать 1 бит FIFO - будет у Вас на выходе такой же последовательный сигнал что и на входе.
Я бы добавил еще бит для передачи признака начала (или конца) пакета раз при записи на входе уже формируется окно приема но это уж Вам виднее.

Успехов! Rob.
Go to the top of the page
 
+Quote Post
Evgeny72
сообщение Dec 12 2016, 14:55
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 66
Регистрация: 4-01-14
Пользователь №: 79 899



Цитата(RobFPGA @ Dec 12 2016, 17:06) *
Приветствую!

Да без проблем сделать 1 бит FIFO - будет у Вас на выходе такой же последовательный сигнал что и на входе.
Я бы добавил еще бит для передачи признака начала (или конца) пакета раз при записи на входе уже формируется окно приема но это уж Вам виднее.

Успехов! Rob.


Спасибо, Rob! По всей видимости, этого бита мне и не хватает. Если сигналы записи/чтения клоков синхронны, все все ок. Все выходные биты на месте. Как только имитирую разные клоки (сдвигаю клок чтения относительно клока записи на некоторое значение ns), конец первого пакета из 24 бит вываливается в начале второго пакета из 24 бит и т.д. Тестировал в симуляторе и в железе. Про бит передачи признака начала (или конца) пакета можете поподробнее написать?
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение Dec 12 2016, 15:40
Сообщение #4


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

Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643



Приветствую!
Цитата(Evgeny72 @ Dec 12 2016, 17:55) *
Спасибо, Rob! По всей видимости, этого бита мне и не хватает. Если сигналы записи/чтения клоков синхронны, все все ок. Все выходные биты на месте. Как только имитирую разные клоки (сдвигаю клок чтения относительно клока записи на некоторое значение ns), конец первого пакета из 24 бит вываливается в начале второго пакета из 24 бит и т.д. Тестировал в симуляторе и в железе. Про бит передачи признака начала (или конца) пакета можете поподробнее написать?

На то оно и FIFO - на выходе вы видете только ФАКТ прихода бита а пакетную синхронизацию никто за вас делать не будет.
А вот как ее делать и где ее проще соорудить сильно зависит от требуемой логики работы Вашего устройства

Допустим на входе приходит НЕПРЕРЫВНЫЙ пакет из ФИКСИРОВАННОГО числа бит - соответственно есть строб записи пакета - либо внешний сигнал либо как то получен из данных В простейшем случае в FIFO пишете бит данных на каждом такте когда стоб==1 и в первом бите пакета или в последнем 1 во второй бит. Соответственно при чтении из FIFO увидев во втором бите 1 точно можно знать где начался/окончился пакет (ну а дальше трудится счетчик бит).
Если пакет не фиксированной длинны то проще иметь доп 2 бита для старт/стоп отдельно.

Успехов! Rob.



Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Evgeny72   DC_FIFO, прошу помощи   Dec 12 2016, 12:33
|- - iosifk   Цитата(RobFPGA @ Dec 12 2016, 16:06) Да б...   Dec 12 2016, 13:40
||- - andrew_b   Цитата(iosifk @ Dec 12 2016, 16:40) Ксайл...   Dec 12 2016, 13:44
|- - Evgeny72   Если я Вас, RobFPGA и krux, правильно понял, то: ...   Dec 12 2016, 19:15
|- - Bad0512   Цитата(Evgeny72 @ Dec 13 2016, 02:15) Есл...   Dec 13 2016, 02:17
||- - Evgeny72   Цитата(Bad0512 @ Dec 13 2016, 06:17) А не...   Dec 13 2016, 04:26
||- - Maverick   Цитата(Evgeny72 @ Dec 13 2016, 06:26) Воз...   Dec 13 2016, 06:44
|- - RobFPGA   Приветствую! Цитата(Evgeny72 @ Dec 12 201...   Dec 13 2016, 06:11
- - krux   входные, в 2-битное FIFO: бит1 - данные бит2 - стр...   Dec 12 2016, 17:53
- - Evgeny72   Спасибо за советы! Посмотрев ещё раз документа...   Dec 13 2016, 08:54
|- - Flip-fl0p   Раз уж создана тема про FIFO... Не могли бы вы под...   Dec 13 2016, 12:43
|- - Maverick   Цитата(Flip-fl0p @ Dec 13 2016, 14:4...   Dec 13 2016, 12:54
|- - RobFPGA   Приветствую! Цитата(Flip-fl0p @ Dec...   Dec 13 2016, 14:29
|- - Flip-fl0p   Цитата(RobFPGA @ Dec 13 2016, 17:29) Прив...   Dec 13 2016, 15:57
- - vikk   По времянке куча вопросов: - если частоты на глаз ...   Dec 13 2016, 13:49
|- - Evgeny72   Цитата(vikk @ Dec 13 2016, 16:49) По врем...   Dec 13 2016, 14:15
- - Evgeny72   Приложите кто-нибудь схему реализации или тайминги...   Dec 25 2016, 11:03


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

 


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


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