2016-01-28 4 views
-1

По существу, что я хотел бы сделать, у меня будет std_logic_vector, входящий в мой подмодуль и основанный на первых 8 бит этого вектора, я хочу делать определенные вещи.Возможно создание структуры данных типа словаря в VHDL?

По существу это код операции. Однако простое питание в ALU не будет работать, потому что у меня есть инструкции переменной длины, а также циклы.

Для меня, например, к различным байтам, инструкции перехода, один занимает 3 цикл, другой 4.

Я хотел бы способ смотреть на первые байтах входного вектора, и глядя вверх точно, что такое инструкция, так что я могу установить разные значения, которые идут вместе с указанной инструкцией.

По сути, словарь или LUT с несколькими ответами.

Так, например, если первый байт 0x54 Я хочу посмотреть и посмотреть, что это скачок, и занимает 4 цикла, его прямые адреса, а общая длина команды составляет 6 байтов.

Есть ли способ сделать это, используя структуру типа словаря или LUT?

Набор инструкций, которые я пытаюсь включить, - это 65C816, если это помогает.

ответ

1

Если ключ невелик, как в этом случае всего 8 бит, то вы можете использовать ключ непосредственно в качестве адреса в памяти, а затем инициализировать память с любыми результатами, которые вам нужны из поиска. Этот поиск займет всего 1 цикл, и его довольно просто реализовать.

Для длинных ключей, которые нельзя сопоставить с поиском памяти, требуется создать сложную поисковую машину, например, на основе хэш-значений ключа и окончательной проверки соответствия ключей. Это гораздо больший дизайн с более длительной задержкой.

+0

Это блестяще ... получите инструкции от ПЗУ и используйте ПЗУ для их декодирования. Вау! Спасибо огромное! –

 Смежные вопросы

  • Нет связанных вопросов^_^