05.09.2015, 18:43
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.09.2009
Сообщений: 1,899
Сказал спасибо: 470
Сказали Спасибо 408 раз(а) в 255 сообщении(ях)
|
FIFO (CPLD+SRAM)
Доброго времени суток уважаемые!!!
Есть задача построить модуль FIFO на связке CPLD+SRAM. Это образно говоря решение будет использоваться как простое FIFO для передачи данных в микроконтроллер. Мозги кипят и требуется помощь знающих людей которые смогут помочь разобраться в проблеме.
Вопрос коммутационного плана на выложенной схеме дело в том что мк и плис работают на разных тактовых частотах и тут то и проблема.
Я думаю так сделать:
Данные со входа IN_DATA[15..0] поступают во внешнюю sram и там фиксируются сигналом (wd_sram) по адресу схемы которая тут не представлена в принципе это не важно. Начало работы начинается с того что мк подаёт запрос на то чтоб данные записались в регистр (inst5) сигналом (request) и если sram находится в режиме чтения то данные записываются в регистр при этом выставляется флаг регистр загружен -(confirmation) и сбрасывается регистр запроса на запись данных из sram. По приходу следующего запроса записи из sram в регистр (inst5) флаг (confirmation) сбрасывается в ноль и мк ожидает загрузки регистра (inst5) из него потом сдвиговым регистром будут выгружены данные в мк. Так я предположил выйти из проблемы пересечения клоковых доменов асинхронной фифо. Подскажите в правильном ли я направлении двигаюсь?
__________________
Я бы изменил весь мир, но бог не дал исходников
|
|
|
|
05.09.2015, 19:56
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 7,049
Сказал спасибо: 3,040
Сказали Спасибо 3,209 раз(а) в 2,179 сообщении(ях)
|
Re: FIFO (CPLD+SRAM)
Без двухпортовки-то - всё равно никуда. Пока МК будет читать - писать не сможете - потеря данных.
|
|
|
Сказали "Спасибо" ForcePoint
|
|
|
05.09.2015, 20:08
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: FIFO (CPLD+SRAM)
В данном случае лучше начать с самого начала. Что именно требуется реализовать в конечном итоге?
|
|
|
Сказали "Спасибо" Easyrider83
|
|
|
05.09.2015, 20:14
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.09.2009
Сообщений: 1,899
Сказал спасибо: 470
Сказали Спасибо 408 раз(а) в 255 сообщении(ях)
|
Re: FIFO (CPLD+SRAM)
Сообщение от Easyrider83
|
В данном случае лучше начать с самого начала. Что именно требуется реализовать в конечном итоге?
|
Есть FPGA+внешняя SRAM. Нужно реализовать FIFO буфер на этой связке.
__________________
Я бы изменил весь мир, но бог не дал исходников
|
|
|
|
05.09.2015, 20:17
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.09.2009
Сообщений: 1,899
Сказал спасибо: 470
Сказали Спасибо 408 раз(а) в 255 сообщении(ях)
|
Re: FIFO (CPLD+SRAM)
Сообщение от ForcePoint
|
Без двухпортовки-то - всё равно никуда. Пока МК будет читать - писать не сможете - потеря данных.
|
Двух портовка это что? Я могу разделить в срам данные и адрес на 2 независимых порта. Использую CY7C1041DV33 в качестве срам, а интересует только 8 бит
__________________
Я бы изменил весь мир, но бог не дал исходников
|
|
|
|
05.09.2015, 21:16
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 7,049
Сказал спасибо: 3,040
Сказали Спасибо 3,209 раз(а) в 2,179 сообщении(ях)
|
Re: FIFO (CPLD+SRAM)
Сообщение от Uragan90
|
Есть FPGA+внешняя SRAM. Нужно реализовать FIFO буфер на этой связке.
|
С какой целью-то? Если денег съэкономить взяв (условно) ЦПЛД и ОЗУ по два бакса каждая, то не выйдет.
Сообщение от Uragan90
|
Двух портовка это что? Я могу разделить в срам данные и адрес на 2 независимых порта. Использую CY7C1041DV33 в качестве срам, а интересует только 8 бит
|
Они у неё и так разделены. Проблема в том, что ШД одна. Пока будете считывать данные в МК - входные данные записать не сможете.
А если брать двухпортовое ОЗУ (с двумя ШД), то уже вылетаете на тот-же уровень денег, что можно купить сразу FIFO без всякого цирка.
Можно, конечно, два банка сделать и писать/читать попеременно. Некий выигрыш может иметь место (надо только ещё посчитать стоимость лишних см печатки, точек пайки, написания прошивки ЦПЛД и её программирования).
Какой объём-то нужен? Если именно такой большой, как у 7C1041, то покувыркайтесь. А если намного меньше (ИМС выбрана потому, что меньшие объёмы щас редки и не намного дешевле), то, может и один корпус FIFO встанет в приемлемую цену.
А если ФПГА, а не ЦПЛД, то там и встроенная двухпортовая память найдётся.
|
|
|
|
05.09.2015, 21:27
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.09.2009
Сообщений: 1,899
Сказал спасибо: 470
Сказали Спасибо 408 раз(а) в 255 сообщении(ях)
|
Re: FIFO (CPLD+SRAM)
Сообщение от ForcePoint
|
С какой целью-то? Если денег съэкономить взяв (условно) ЦПЛД и ОЗУ по два бакса каждая, то не выйдет.
Они у неё и так разделены. Проблема в том, что ШД одна. Пока будете считывать данные в МК - входные данные записать не сможете.
А если брать двухпортовое ОЗУ (с двумя ШД), то уже вылетаете на тот-же уровень денег, что можно купить сразу FIFO без всякого цирка.
Можно, конечно, два банка сделать и писать/читать попеременно. Некий выигрыш может иметь место (надо только ещё посчитать стоимость лишних см печатки, точек пайки, написания прошивки ЦПЛД и её программирования).
Какой объём-то нужен? Если именно такой большой, как у 7C1041, то покувыркайтесь. А если намного меньше (ИМС выбрана потому, что меньшие объёмы щас редки и не намного дешевле), то, может и один корпус FIFO встанет в приемлемую цену.
А если ФПГА, а не ЦПЛД, то там и встроенная двухпортовая память найдётся.
|
Мне и не нужно одновременное чтение и запись! Мне нужно чтоб запись была в приоритете к чтению!
Вот картинка вдохновившая на постройку такого псевдо-фифо.
__________________
Я бы изменил весь мир, но бог не дал исходников
|
|
|
|
05.09.2015, 21:46
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,294
Сказал спасибо: 442
Сказали Спасибо 1,048 раз(а) в 706 сообщении(ях)
|
Re: FIFO (CPLD+SRAM)
Работать будет, но лучше перевести схему на синхронный режим работы. При этом уйдут проблемы синхронизации.
__________________
misterdi<@>i.ua
|
|
|
Сказали "Спасибо" MisterDi
|
|
|
05.09.2015, 21:50
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 7,049
Сказал спасибо: 3,040
Сказали Спасибо 3,209 раз(а) в 2,179 сообщении(ях)
|
Re: FIFO (CPLD+SRAM)
Сообщение от Uragan90
|
Мне и не нужно одновременное чтение и запись!
|
Чего кричишь? В первом посте трудно написать было?
|
|
|
|
05.09.2015, 21:52
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.09.2009
Сообщений: 1,899
Сказал спасибо: 470
Сказали Спасибо 408 раз(а) в 255 сообщении(ях)
|
Re: FIFO (CPLD+SRAM)
Сообщение от MisterDi
|
Работать будет, но лучше перевести схему на синхронный режим работы. При этом уйдут проблемы синхронизации.
|
С синхронизацией здесь как раз полная засада! Вот вы знающий человек, ведь это возможно реализовать фифо на плис+срам? Ну пусь не реальное фифо но его подобие.
__________________
Я бы изменил весь мир, но бог не дал исходников
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 19:12.
|
|