МАРСОХОД

Open Source Hardware Project

Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
  • Страница:
  • 1

ТЕМА: BusUpsizer

BusUpsizer 11 мес. 3 нед. назад #7475

  • Gangam
  • Gangam аватар Автор темы
  • Не в сети
  • Новый участник
  • Новый участник
  • Сообщений: 1
  • Спасибо получено: 0
Здравствуйте!
Не так давно начал изучать verilog. Нашел пару книжек, ознакомился с курсом на данном сайте. На данный момент передо мной стоит задача, с которой у меня возникли трудности в плане понимания того, что требуется реализовать. Прошу подсказать мне направление, в котором мне нужно двигаться, что бы решить данную проблему.
Задача поставлена следующим образом: необходимо написать модуль "Bus Upsizer 8x32", который бы принимал:
4 8-битных слова на входном интерфейсе, склеивал из них одно 32-битное и передавал на выходной интерфейс - m_data = {s_data<3>, s_data<2>,s_data<1>, s_data<0>}.
Интерфейс модуля выглядит следующим образом:
input clk - Синхросигнал
input rst_n - Ресет
input s_val - Валидность входных данных ( не понятно каким образом проверять валидность)
input s_data[31:0] - Входные данные
output s_rdy - Готовность очереди к приёму данных
output m_val - Валидность выходных данных ( не понятно каким образом проверять валидность)
output m_data[7:0] - Выходные данные
input m_rdy - Готовнсть окружения к приёму данных (тоже вызывает вопрос)

Буду рад любым наставлениям!

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

BusUpsizer 11 мес. 3 нед. назад #7476

Задача поставлена не очень точно, и вам обязательно нужно уточнять более конкретно, что от вас хотят.
Ну а я, могу только высказывать свои предположения.
Самый простой вариант бассайзера, это когда входные данные поступают регулярно с тактовой частотой, а выходные
потребляются с частотой ровно в четыре раза меньше. И не важно какой байт входных данных в какую группу бит выходных данных попадет.
Для такой схемы нужно только 3 включенных последовательно восьмиразрядных регистра и двухбитный счетчик(счетчик байт).
Две "1" на выходе счетчика будут означать валидность выходных данных.
Если входные данные идут не регулярно и, например, группами по 4, то это сложнее, нужен сигнал для синхронизации работы счетчика байт,
типа "валидность входных данных".
Хуже всего если скорость между входным и выходным потоками отличается не точно в 4 раза.
Схема получится очень сложная и должна содержать FIFO.
Спасибо сказали: Gangam

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • Страница:
  • 1
Время создания страницы: 0.122 секунд

facebook  GitHub  YouTube  Twitter