Двойной уровень двухпортовый RAM

Двухпортовый RAM, который поддерживает два уровня

Библиотека

HDL Coder / Операции HDL

Описание

Блок Dual Rate Dual Port RAM моделирует RAM, который поддерживает одновременные операции чтения и операции записи к различным адресам на двух тактовых частотах. Порт RAM может достигнуть одного уровня, и порт B может запуститься на различном уровне.

В высокоэффективных аппаратных приложениях можно использовать этот блок, чтобы получить доступ к RAM дважды на такт. Если вы генерируете HDL-код, это блок-диаграммы к двойному тактовому двухпортовому RAM в большей части FPGAs.

Одновременный доступ

Можно получить доступ к различным адресам от портов A и B одновременно. Можно также считать тот же адрес из портов A и B одновременно.

Однако не получайте доступ к адресу от одного порта RAM, в то время как он пишется из другого порта RAM. Во время симуляции, если вы получаете доступ к адресу от одного порта RAM в то же время, что и вы пишете, что адрес от другого порта RAM, программное обеспечение сообщает об ошибке.

Поведение чтения во время записи

RAM имеет запись первое поведение. То, когда вы пишете в RAM, новые записывают данные, сразу доступно в выходном порту.

Генерация HDL-кода

Для результатов симуляции, которые совпадают со сгенерированным HDL-кодом в панели Решателя диалогового окна Configuration Parameters, снимают флажок для Treat each discrete rate as a separate task. Когда флажок снимается, однозадачный режим включен.

Если вы моделируете этот блок с выбранным Treat each discrete rate as a separate task, многозадачный режим включен. Выходные данные могут обновить в том же цикле, но в сгенерированном HDL-коде, выходные данные обновляются один цикл позже.

Параметры

Address port width

Ширина адресного бита. Минимальная битная ширина равняется 2, и максимальная битная ширина равняется 28. Значение по умолчанию равняется 8.

Порты

Блок имеет следующие порты:

din_A

Запишите данные вход для порта RAM A. Данные могут быть любой шириной. Это наследовало ширину и тип данных от входного сигнала.

Тип данных: скалярная фиксированная точка, целое число или комплекс

addr_A

Запишите адрес для порта RAM A.

Тип данных: скалярное беззнаковое целое (uintN) или фиксированная точка без знака (ufixN) с дробной длиной 0

we_A

Разрешите запись для порта RAM A. Установите we_A на true для операции записи или false для операции чтения.

Тип данных: булевская переменная

din_B

Запишите данные вход для порта RAM B. Данные могут иметь любую ширину и наследовали ширину и тип данных от входного сигнала.

Тип данных: скалярная фиксированная точка, целое число или комплекс

addr_B

Запишите адрес для порта RAM B.

Тип данных: скалярное беззнаковое целое (uintN) или фиксированная точка без знака (ufixN) с дробной длиной 0

we_B

Разрешите запись для порта RAM B. Установите we_B на true для операции записи или false для операции чтения.

Тип данных: булевская переменная

dout_A

Выходные данные от порта RAM адрес, addr_A.

dout_B

Выходные данные от порта RAM B адрес, addr_B.

Введенный в R2014a