Система простой двухпортовой оперативной памяти
Простая двухпортовая оперативная память, поддерживающая одновременные операции чтения и записи.
Тип: SimpleDualPortRAMSystem
Путь в библиотеке:
|
Описание
Блок Система простой двухпортовой оперативной памяти моделирует простую двухпортовую оперативную память (random access memory, RAM), которая поддерживает одновременные операции чтения и записи. Чтобы настроить этот блок, откройте его и установите значение для параметра Тип оперативной памяти:
-
Однопортовая— моделирует RAM, которая выполняет либо операцию чтения, либо операцию записи, в зависимости от сигнала на порту wr_en: при значении1происходит запись, при значении0— чтение. При записи доступно два режима, в зависимости от значения параметра Выходные данные для операции записи:-
Старые данные— выполняется вывод на выходной порт предыдущих данных, вместо которых были записаны новые данные; -
Новые данные— выполняется повторение на выход данных со входа.
-
-
Простая двухпортовая— моделирует RAM с поддержкой одновременных операций чтения и записи. Чтение осуществляется постоянно, запись — только по разрешающему сигналу на порту wr_en. В том случае, если чтение и запись происходят по одному адресу, операция чтения происходит перед операцией записи. На выход всегда поступает результат операции чтения. -
Двухпортовая— моделирует RAM с поддержкой одновременных операций чтения и записи. Ключевым отличием от предыдущего режима является наличие двух выходных портов. На один всегда поступает результат операции чтения, на второй — результат операции записи. В зависимости от выбранного значения параметра Выходные данные для операции записи (Новые данныеилиСтарые данные) результатом операции служат либо новые данные, записанные по адресу, либо данные, которые хранились по адресу до операции записи. Запись новых данных осуществляется только по разрешающему сигналу на порту wr_en. Если операции чтения и записи осуществляются по одному адресу, то операция чтения идет до операции записи.
Ограничения
-
Адрес оперативной памяти может иметь тип данных с фиксированной точкой или целочисленный тип, должен быть беззнаковым и иметь длину от
2до31бит.
Порты
Выход
#
rd_dout
—
вывод данных с адреса для чтения
скаляр | вектор
Details
Вывод данных с адреса для чтения rd_addr.
Зависимости
Чтобы использовать это порт, установите для параметра Тип оперативной памяти значение Простая двухпортовая или Двухпортовая.
| Типы данных |
|
| Поддержка комплексных чисел |
Нет |
#
dout
—
вывод данных с адреса чтения
скаляр | вектор
Details
Вывод данных с адреса чтения addr.
Зависимости
Чтобы использовать это порт, установите для параметра Тип оперативной памяти значение Однопортовая.
| Типы данных |
|
| Поддержка комплексных чисел |
Нет |
#
wr_dout
—
вывод данных с адреса для записи
скаляр | вектор
Details
Вывод данных с адреса для записи wr_addr.
Зависимости
Чтобы использовать это порт, установите для параметра Тип оперативной памяти значение Простая двухпортовая или Двухпортовая.
| Типы данных |
|
| Поддержка комплексных чисел |
Нет |
Вход
#
din
—
данные для записи
скаляр | вектор
Details
Данные для записи, заданные в виде скаляра или вектора. Вы можете записать данные в ячейку оперативной памяти, если сигнал разрешения записи на порту wr_en имеет значение 1.
| Типы данных |
|
| Поддержка комплексных чисел |
Нет |
#
wr_addr
—
адрес для записи
скаляр | вектор
Details
Адрес для записи, заданный в виде скаляра или вектора. Используйте этот адрес для записи в оперативную память, когда сигнал на порту wr_en равен 1.
Зависимости
Чтобы использовать это порт, установите для параметра Тип оперативной памяти значение Простая двухпортовая или Двухпортовая.
| Типы данных |
|
| Поддержка комплексных чисел |
Нет |
#
wr_en
—
разрешение записи
скаляр | вектор
Details
Разрешение записи, заданное в виде скаляра или вектора. Когда сигнал на порту wr_en равен 1, блок записывает данные в указанную ячейку памяти. В режиме Однопортовая, когда сигнал на порту wr_en равен 0, блок считывает значение из ячейки памяти, указанной портом addr. В остальных режимах операция чтения происходит вне зависимости от сигнал на порту wr_en.
| Чтобы использовать метод записи в столбец, тип данных должен быть целым или с фиксированной точкой. |
| Типы данных |
|
| Поддержка комплексных чисел |
Нет |
#
rd_addr
—
адрес для чтения
скаляр | вектор
Details
Адрес для чтения, заданный в виде скаляра или вектора. Используйте этот адрес для чтения из оперативной памяти. Это значение может иметь тип данных с фиксированной точкой или целочисленный тип, должен быть беззнаковым и иметь длину от 2 до 31 бит.
Зависимости
Чтобы использовать это порт, установите для параметра Тип оперативной памяти значение Простая двухпортовая или Двухпортовая.
| Типы данных |
|
| Поддержка комплексных чисел |
Нет |
#
addr
—
адрес для чтения или для записи
скаляр | вектор
Details
Адрес для чтения или для записи в зависимости от сигнала на порту wr_en: при значении 1 происходит запись, при значении 0 — чтение.
Зависимости
Чтобы использовать это порт, установите для параметра Тип оперативной памяти значение Однопортовая.
| Типы данных |
|
| Поддержка комплексных чисел |
Нет |
Параметры
Параметры
#
Тип оперативной памяти —
тип RAM
Однопортовая | Простая двухпортовая | Двухпортовая
Details
Тип RAM:
-
Однопортовая— однопортовая RAM, которая выполняет либо операцию чтения, либо операцию записи, в зависимости от сигнала на порту wr_en: при значении1происходит запись, при значении0— чтение. На выход поступают данные с адреса чтения addr. -
Простая двухпортовая— простая двухпортовая RAM с данными для записи, адресом записи, разрешением записи и адресом чтения в качестве входов и данными из адреса чтения в качестве выхода. -
Двухпортовая— истинная двухпортовая RAM с данными записиaиb, адресами записи и чтения дляaиb, разрешением записиaиbв качестве входов и данными с адресов записиaиbв качестве выходов.
| Значения |
|
| Значение по умолчанию |
|
| Имя для программного использования |
|
| Настраиваемый |
Нет |
| Вычисляемый |
Нет |
#
Выходные данные для операции записи —
выходные данные для операции записи
Новые данные | Старые данные
Details
Укажите выходные данные для операции записи:
-
Старые данные— выполняется вывод на выходной порт предыдущих данных, вместо которых были записаны новые данные; -
Новые данные— выполняется повторение на выход данных со входа.
Зависимости
Чтобы использовать этот параметр, установите для параметра Тип оперативной памяти значение Однопортовая или Двухпортовая.
| Значения |
|
| Значение по умолчанию |
|
| Имя для программного использования |
|
| Настраиваемый |
Нет |
| Вычисляемый |
Нет |
# Начальный вывод оперативной памяти — начальные выходные данные симуляции RAM
Details
Укажите начальные выходные данные симуляции RAM:
-
Скалярное значение.
-
Вектор, элементы которого соответствуют начальным значениям и словам RAM.
-
Матрица на , элементы которой соответствуют начальным значениям и словам RAM в банках RAM, где представляет собой количество банков оперативной памяти, а представляет собой количество адресных мест в блоке оперативной памяти, или наоборот.
| Значение по умолчанию |
|
| Имя для программного использования |
|
| Настраиваемый |
Нет |
| Вычисляемый |
Да |
Дополнительно
Использование метода записи в столбец для выборочной записи в столбцы
Details
Вы можете использовать метод записи в столбец, чтобы рассматривать оперативную память как набор одинаковых по размеру столбцов. Во время цикла записи вы можете записывать в каждый из этих столбцов по отдельности. Тип данных и значение входа разрешения записи, а также тип данных входа данных записи определяют размер каждого столбца и столбцы, в которые блок записывает адресуемую ячейку памяти.
В данном контексте:
-
— тип данных входного сигнала данных записи din.
-
— ширина входных данных, которая равна длине слова значения din.
-
— тип данных сигнала разрешения записи wr_en. Этот сигнал определяет, какие столбцы блок записывает в адресуемую ячейку памяти. Блок записывает столбцы, основываясь на положении
1sв двоичном представлении значения wr_en. -
— количество столбцов, на которые можно разделить пространство оперативной памяти для записи данных, равное длине слова значения wr_en.
-
— ширина каждого столбца, которая равна .
В таблице приведена взаимосвязь между типами данных входа данных записи, типами данных входа разрешения записи, количеством столбцов и шириной каждого столбца.
| в битах | ||||
|---|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Например, если — это UInt16, а — это Ufix4, то равно 16, равно 4, и равно 4 битам. Если на вход din подается 980, то его двоичное представление равно 0000001111010100. Представление din по столбцам: c4 = 0000, c3 = 0011, c2 = 1101, и c1 = 0100, где c1 — первый столбец.
В таблице приведены результаты использования метода записи в столбец для различных комбинаций входных данных.
| Значение wr_en | Двоичное представление wr_en | Столбцы, выбранные для записи в RAM | Данные в ячейке памяти: перед выполнением операции записи | Данные в ячейке памяти: после выполнения операции записи | dout |
|---|---|---|---|---|---|
|
|
c2, c1 |
c4= |
c4= |
|
|
|
c3 |
c4= |
c4= |
|
|
|
c3, c2 |
c4= |
c4= |
|
|
|
c4, c1 |
c4= |
c4= |
|
|
|
c4, c1 |
c4= |
c4= |
|
Ограничения
-
Входы со знаковыми типами данных и с ненулевыми длинами дробей не поддерживаются входным портом разрешения записи.
-
Длина слова входных данных для записи должна быть кратна длине слова разрешения записи.