Один, простой двойной, или двухпортовый RAM для доступа для чтения-записи памяти
hdl.RAM читает из и пишет в ячейки памяти для одного, простого двойного, или двухпортового RAM. Выходные данные задерживаются один шаг. Если ваши входные данные являются скаляром, адрес и входные параметры разрешения записи должны быть скаляром, andHDL Coder™ выводит один блок RAM. Если ваши данные являются вектором, HDL Coder выводит массив параллельных банков RAM. С векторным вводом данных адрес и входные параметры разрешения записи могут быть оба скалярами или векторами. Когда вы задаете скалярные входные параметры для разрешения записи и обращаетесь к портам, системный объект применяет ту же операцию к каждому банку RAM.
Система hdl.RAM object™ может иметь байты 231 внутренней памяти. Размер RAM учитывает ширину адреса, количество байтов, которые используются, чтобы сохранить каждое слово и количество банков RAM.
Читать из или записать в ячейки памяти в RAM:
Создайте объект hdl.RAM и установите его свойства.
Вызовите объект с аргументами, как будто это была функция.
Чтобы узнать больше, как Системные объекты работают, смотрите то, Что Системные объекты? MATLAB.
ram = hdl.RAMram = hdl.RAM(Name,Value) возвращает один Системный объект порта RAM, в который можно записать или считать из ячейки памяти.ram = hdl.RAM
возвращает один, простой двойной, или двухпортовый Системный объект RAM с набором свойств с помощью одной или нескольких пар "имя-значение". Заключите каждое имя свойства в одинарные кавычки.ram = hdl.RAM(Name,Value)
Для версий ранее, чем R2016b, используйте функцию step, чтобы запустить алгоритм Системного объекта. Аргументы к step являются объектом, который вы создали, сопровождаемый аргументами, показанными в этом разделе.
Например, y = step(obj,x) и y = obj(x) выполняют эквивалентные операции.
dataOut = ram(wrData,rwAddress,wrEn)rdDataOut = ram(wrData,wrAddress,wrEn,rdAddress)[wrDataOut,rdDataOut] = ram(wrData,wrAddress,wrEn,rdAddress) читает значение в ячейке памяти dataOut = ram(wrData,rwAddress,wrEn)rwAddress, когда wrEn является ложным. Когда wrEn верен, вы пишете значению wrData в ячейку памяти rwAddress. dataOut является новыми или старыми данными в rwAddress. Используйте этот синтаксис, когда вы создадите один Системный объект порта RAM.
[ пишет значение wrDataOut,rdDataOut] = ram(wrData,wrAddress,wrEn,rdAddress)wrData в ячейку памяти wrAddress, когда wrEn верен. wrDataOut является новыми или старыми данными в ячейке памяти wrAddress. rdDataOut является старыми данными в местоположении адреса rdAddress. Используйте этот синтаксис, когда вы создадите двухпортовый Системный объект RAM.
Чтобы использовать объектную функцию, задайте Системный объект как первый входной параметр. Например, чтобы выпустить системные ресурсы Системного объекта под названием obj, используйте этот синтаксис:
release(obj)