Katty94
Nov 25 2012, 09:57
Помогите пожалуйста.
Необходимо реализовать на ПЛИС устройство памяти. ПЛИС принимает данные по внешней 8-биной шине и запоминает их каждые 10мкс. Выходные данные выходят также по 8-битной шине. Частота работы ПЛИС 100 МГЦ.
Нужна схемка для реализации.
Кстати вот нашел
http://vhdlguru.blogspot.ru/2010/03/basic-...ue-in-vhdl.htmlНадо только для Вашего случая вместо (0 to 255) поставить (0 to 1023) в размер массива.
Как учебное задание должно прокатить. Или пускай меня закидают камнями воротилы местного бизнеса
Katty94
Nov 25 2012, 10:18
Цитата(bookd @ Nov 26 2012, 00:14)

Кстати вот нашел
http://vhdlguru.blogspot.ru/2010/03/basic-...ue-in-vhdl.htmlНадо только для Вашего случая вместо (0 to 255) поставить (0 to 1023) в размер массива.
Как учебное задание должно прокатить. Или пускай меня закидают камнями воротилы местного бизнеса

сейчас погляжу) мне еще по-любому на ahdl переводить надо

и еще: мне надо учитывать время хранения данных и частоту работы... не вижу, где они в той программке упоминаются
FIFO не может ничего знать о внешних данных. Поэтому время хранения данных, частоты поступления данных определяются внешними клоками.
Вы говорили о 10us хранения при поступлении с частотой 100MHz. Как я понимаю, данные заливаются в FIFO в течение 10us, а при настулении момента 10us данные начинают считываться из FIFO с частотой 100MHz или выше.
Поведение внешних устройств определяется внешними устройствами. На FIFO идут только клоки синхронизации и сигналы чтения, записи.
FIFO при начале чтения из него начинает выдавать данные, одновременно продолжая принимать данные на запись. Если чтение идет быстрее, то FIFO опустошается частично или полностью.
Далее на следующей отметке 10us и все повторяется. Если чтение идет медленнее, чем запись, то есть внешнее устройство не успевает выбрать все данные из FIFO, они теряются.
Если наоборот успевает, то либо оно продолжает "долбить" FIFO и получает отказ по сигналу "пусто", либо прочитав 1000 байт внешнее устройство ждет следующей порции.
Обычно делают так, прочитать все что есть в FIFO и получить первый отказ "пусто", после чего ждать накопления данных.
Можете для уверенности сделать FIFO 2000 байт или более.
В общем суть одна, поведение данных определяется внешними сигналами.