Simple Dual Port RAM System
Страница в процессе разработки. |
Простая двухпортовая оперативная память, поддерживающая одновременные операции чтения и записи.
Тип: SimpleDualPortRAMSystem
Путь в библиотеке:
|
Описание
Блок Simple Dual Port RAM System моделирует простую двухпортовую оперативную память (random access memory, RAM), которая поддерживает одновременные операции чтения и записи. Чтобы настроить этот блок, откройте его и установите значение для параметра Specify the type of RAM:
-
Single port
— моделирует RAM, которая выполняет либо операцию чтения, либо операцию записи, в зависимости от сигнала на порту wr_en: при значении1
происходит запись, при значении0
— чтение. При записи доступно два режима, в зависимости от значения параметра Specify the output data for a write operation:-
Old data
— выполняется вывод на выходной порт предыдущих данных, вместо которых были записаны новые данные; -
New data
— выполняется повторение на выход данных со входа.
-
-
Simple dual port
— моделирует RAM с поддержкой одновременных операций чтения и записи. Чтение осуществляется постоянно, запись — только по разрешающему сигналу на порту wr_en. В том случае, если чтение и запись происходят по одному адресу, операция чтения происходит перед операцией записи. На выход всегда поступает результат операции чтения. -
Dual port
— моделирует RAM с поддержкой одновременных операций чтения и записи. Ключевым отличием от предыдущего режима является наличие двух выходных портов. На один всегда поступает результат операции чтения, на второй — результат операции записи. В зависимости от выбранного значения параметра Specify the output data for a write operation (New data
илиOld data
) результатом операции служат либо новые данные, записанные по адресу, либо данные, которые хранились по адресу до операции записи. Запись новых данных осуществляется только по разрешающему сигналу на порту wr_en. Если операции чтения и записи осуществляются по одному адресу, то операция чтения идет до операции записи.
Ограничения
-
Адрес оперативной памяти может иметь тип данных с фиксированной точкой или целочисленный тип, должен быть беззнаковым и иметь длину от
2
до31
бит.
Порты
Выход
#
rd_dout
—
вывод данных с адреса для чтения
скаляр
| вектор
Details
Вывод данных с адреса для чтения rd_addr.
Зависимости
Чтобы использовать это порт, установите для параметра Specify the type of RAM значение Simple dual port
или Dual port
.
Типы данных |
|
Поддержка комплексных чисел |
Нет |
#
dout
—
вывод данных с адреса чтения
скаляр
| вектор
Details
Вывод данных с адреса чтения addr.
Зависимости
Чтобы использовать это порт, установите для параметра Specify the type of RAM значение Single port
.
Типы данных |
|
Поддержка комплексных чисел |
Нет |
#
wr_dout
—
вывод данных с адреса для записи
скаляр
| вектор
Details
Вывод данных с адреса для записи wr_addr.
Зависимости
Чтобы использовать это порт, установите для параметра Specify the type of RAM значение Simple dual port
или Dual port
.
Типы данных |
|
Поддержка комплексных чисел |
Нет |
Вход
#
din
—
данные для записи
скаляр
| вектор
Details
Данные для записи, заданные в виде скаляра или вектора. Вы можете записать данные в ячейку оперативной памяти, если сигнал разрешения записи на порту wr_en имеет значение 1
.
Типы данных |
|
Поддержка комплексных чисел |
Нет |
#
wr_addr
—
адрес для записи
скаляр
| вектор
Details
Адрес для записи, заданный в виде скаляра или вектора. Используйте этот адрес для записи в оперативную память, когда сигнал на порту wr_en равен 1
.
Зависимости
Чтобы использовать это порт, установите для параметра Specify the type of RAM значение Simple dual port
или Dual port
.
Типы данных |
|
Поддержка комплексных чисел |
Нет |
#
wr_en
—
разрешение записи
скаляр
| вектор
Details
Разрешение записи, заданное в виде скаляра или вектора. Когда сигнал на порту wr_en равен 1
, блок записывает данные в указанную ячейку памяти. В режиме Single port
, когда сигнал на порту wr_en равен 0
, блок считывает значение из ячейки памяти, указанной портом addr. В остальных режимах операция чтения происходит вне зависимости от сигнал на порту wr_en.
Чтобы использовать метод записи в столбец, тип данных должен быть целым или с фиксированной точкой. |
Типы данных |
|
Поддержка комплексных чисел |
Нет |
#
rd_addr
—
адрес для чтения
скаляр
| вектор
Details
Адрес для чтения, заданный в виде скаляра или вектора. Используйте этот адрес для чтения из оперативной памяти. Это значение может иметь тип данных с фиксированной точкой или целочисленный тип, должен быть беззнаковым и иметь длину от 2
до 31
бит.
Зависимости
Чтобы использовать это порт, установите для параметра Specify the type of RAM значение Simple dual port
или Dual port
.
Типы данных |
|
Поддержка комплексных чисел |
Нет |
#
addr
—
адрес для чтения или для записи
скаляр
| вектор
Details
Адрес для чтения или для записи в зависимости от сигнала на порту wr_en: при значении 1
происходит запись, при значении 0
— чтение.
Зависимости
Чтобы использовать это порт, установите для параметра Specify the type of RAM значение Single port
.
Типы данных |
|
Поддержка комплексных чисел |
Нет |
Параметры
Main
#
Specify the type of RAM —
тип RAM
Single port
| Simple dual port
| Dual port
Details
Тип RAM:
-
Single port
— однопортовая RAM, которая выполняет либо операцию чтения, либо операцию записи, в зависимости от сигнала на порту wr_en: при значении1
происходит запись, при значении0
— чтение. На выход поступают данные с адреса чтения addr. -
Simple dual port
— простая двухпортовая RAM с данными для записи, адресом записи, разрешением записи и адресом чтения в качестве входов и данными из адреса чтения в качестве выхода. -
Dual port
— истинная двухпортовая RAM с данными записиa
иb
, адресами записи и чтения дляa
иb
, разрешением записиa
иb
в качестве входов и данными с адресов записиa
иb
в качестве выходов.
Значения |
|
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Нет |
#
Specify the output data for a write operation —
выходные данные для операции записи
New data
| Old data
Details
Укажите выходные данные для операции записи:
-
Old data
— выполняется вывод на выходной порт предыдущих данных, вместо которых были записаны новые данные; -
New data
— выполняется повторение на выход данных со входа.
Зависимости
Чтобы использовать этот параметр, установите для параметра Specify the type of RAM значение Single port
или Dual port
.
Значения |
|
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Нет |
# Specify the RAM initial value — начальные выходные данные симуляции 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= |
|
Ограничения
-
Входы со знаковыми типами данных и с ненулевыми длинами дробей не поддерживаются входным портом разрешения записи.
-
Длина слова входных данных для записи должна быть кратна длине слова разрешения записи.