Котяточки, разбирающиеся в Verilog, всем привет! Очень-очень нужна ваша помощь Мне нужно разработать устройство с быстродействующей буферной памятью, которая формирует непрерывный поток цифровых данных в канал связи и содержит два блока памяти 512x8. буфер должен работать так что, пока в первый блок пишутся данные, параллельно во втором блоке данные считываются и по окончании этих операция происходит переключение блоков, т.е. во второй теперь данные записываются, а из первого параллельно считываются. И параллельно со считывание такой буфер обеспечивает запись данных со стороны внешнего источника. так же еще сказано, что данные в каждом из блоков должны читаться подряд начиная с последнего адеса вниз до 0 (Это как я понимаю буфер LIFO). И запись данных в каждый блок памяти ведется последовательно с адреса пришедшего по некоторой шине (А) по последний, оба блока подключен к двум шинам данных, т.е. по одной шине поступают данные со стороны вн.источника на запись в буфер, по другой шине выходные данные поступают на канал связи. Если есть у кого-нибудь идеи хотя бы с чего начать, помогите пожалуйста)))
Привет! Для начала нужно нарисовать структурную/функциональную схему как Вы это себе представляете. Затем разбить задание на более мелкие подзадачи, например: 1) Контроллер записи в память. 2) LIFO. 3) Схема управления блоками памяти. 4) И т.д.
Котятки, посоветуйте, может у кого-то есть идеи по решению данной задачи: Надо было разработать буферную память включающую два блока памяти 512х8 бит., т.е. есть строчки reg [7:0]Memory1[511:0]; reg [7:0]Memory2[511:0]; и далее такое задание предусмотреть режим считывания по 16 бит. Как можно от 8 перейти к 16? Заменить в тех двух строчках 7 на 16 не прокатит(. Если есть у кого идеи, напишите плизики
1. Если считать из Memory1 и Memory2 по 8 бит за один такт (итого 16 бит), то например, данные из Memory1 пишуться в младшие разряды шины "[15:0] bus", тоесть в bus[7:0], а данные из Memory2 пишутся в старшие разряды bus[15:8]. 2. Если считывать 16 байт надо из только одного массива, например Memory1, то просто сделать выходной порт в 15 разрядов, а кол-во бит на выходе задавать по определенному условию.
Для начала, на какой ПЛИС собираетесь делать реализацию? (Потому что придется разбираться ещё с IDE). Поэтому лучше и быстрее тут подскажут кто работает с той же платформой (Альтероводы, Ксилинуксоводы, Латтисоводы, либо Говиноводы) Ну и желательно модель EV board написать.
Теперь мне выпала участь решать это задание. И с его реализацией тоже беда. Какие-то наброски структурной схемы имеются, но не уверен, что она правильная и она не закончена. Хотя бы начать. С полным пониманием, а тем более с написанием кода совсем беда. Надеюсь на вашу помощь. Решил начать со счетчика адреса и наверное управления, кода совсем пара строк. Спойлер Спойлер
Заголовок сообщения: Re: Verilog. Если есть у кого-нибудь идеи хотя бы с чего нач
Добавлено: Чт апр 24, 2025 08:05:54
Друг Кота
Карма: 67
Рейтинг сообщений: 1071
Зарегистрирован: Чт сен 18, 2008 12:27:21 Сообщений: 20047 Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения:0 Медали: 1
Это где такое задают? Матлаб есть? В задании ошибка: либо "два блока памяти 256х8 бит", либо "блок памяти 512х8 бит". Да и в принципе задание - говно какое-то с одним клоком на чтение и запись, без сигнала разрешения записи/считывания.
_________________ [ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Это где такое задают? Матлаб есть? В задании ошибка: либо "два блока памяти 256х8 бит", либо "блок памяти 512х8 бит". Да и в принципе задание - говно какое-то с одним клоком на чтение и запись, без сигнала разрешения записи/считывания.
Саратовский технический Матлаба нет, но установить не проблема. Нужно два блока памяти по 512х8.
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения