Конструктивные соображения для блоков RAM и блоков в библиотеке операций HDL

Следуйте этим инструкциям, чтобы изучить, как можно использовать блоки RAM и блоки в библиотеке HDL Operations при моделировании проекта.

Каждая инструкция имеет уровень серьезности, который указывает на уровень требований соответствия. Чтобы узнать больше, смотрите Уровни серьезности Руководств по моделированию HDL.

Блок RAM доступ к факторам

ID инструкции

2.1.1

Серьезность

Рекомендуемый

Описание

В библиотеке блоков HDL RAMs существует семь различных блоков RAM и блок HDL FIFO. Если вы видите блок RAM, который имеет термин System как часть имени блока, такого как Один Порт Система RAM, рекомендуется, чтобы вы использовали этот блок вместо эквивалентного блока, который не имеет System как части имени, такого как Один Порт RAM. Эти блоки имеют System как часть имени, потому что реализация блока основана на Системе hdl.RAM object™. Системные блоки поддерживают векторные входные параметры и приводят к намного более быстрым результатам симуляции, когда используется в вашей модели Simulink®.

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

Имя блокаРекомендуемое использование
Один порт система RAM

Используйте этот блок, чтобы заменить блок Single Port RAM в вашей модели. Вы получаете более быстрые результаты симуляции при использовании этого блока в вашей модели.

Реализация блока использует блок MATLAB System, который использует Системный объект hdl.RAM. Используйте этот блок, чтобы выполнить последовательные операции чтения и операции записи. В диалоговом окне Block Parameters блока можно задать начальное значение для RAM. Чтобы выполнить одновременные операции чтения и операции записи к различным адресам, используйте Простую Двухпортовую Систему RAM или блок Dual Port RAM System вместо этого.

Блок не поддерживает булевы входные параметры. Бросьте типы boolean к ufix1 для входа к блоку.

Простая двухпортовая система RAM

Используйте этот блок, чтобы заменить блок Simple Dual Port RAM в вашей модели. Вы получаете более быстрые результаты симуляции при использовании этого блока в вашей модели.

Реализация блока использует блок MATLAB System, который использует Системный объект hdl.RAM. Используйте этот блок, чтобы выполнить одновременные операции чтения и операции записи. Это имеет один выходной порт, чтобы считать данные. В диалоговом окне Block Parameters блока можно задать начальное значение для RAM.

Блок не поддерживает булевы входные параметры. Бросьте типы boolean к ufix1 для входа к блоку.

Двухпортовая система RAM

Используйте этот блок, чтобы заменить блок Dual Port RAM в вашей модели. Вы получаете более быстрые результаты симуляции при использовании этого блока в вашей модели.

Реализация блока использует блок MATLAB System, который использует Системный объект hdl.RAM. Используйте этот блок, чтобы выполнить одновременные операции чтения и операции записи. Это имеет порт вывода данных чтения и порт вывода данных записи. В диалоговом окне Block Parameters блока можно задать начальное значение для RAM. Если вы не хотите использовать порт вывода данных записи, достигать лучшего вывода RAM, используйте блок Simple Dual Port RAM System вместо этого.

Блок не поддерживает булевы входные параметры. Бросьте типы boolean к ufix1 для входа к блоку.

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

Этот блок не имеет эквивалентной Системы основанной на объектах реализацией.

Используйте этот блок, чтобы выполнить одновременные операции чтения и операции записи к двум различным адресам, которые действуют на различных тактовых частотах. Вы не можете выполнить параллельный доступ к тому же адресу RAM.

Чтобы запустить порты RAM на нескольких тактовых частотах, установите Clock Inputs на Multiple. Можно получить доступ к этому RAM дважды за один такт.

FIFO HDL

Блок HDL FIFO хранит последовательность выборок в методе "первым пришел - первым вышел" (FIFO) регистр.

Входные параметры, In и Push, и выходные параметры, Out и Pop могут запуститься в различных шагах расчета. Задайте отношение вывода, чтобы ввести шаг расчета как положительное целое число или 1/N, таким образом, что N является положительным целым числом. Например:

  • Если вы задаете отношение как 2, выходной шаг расчета является дважды входным шагом расчета. Выходные параметры, запущенные медленнее, чем вход.

  • Если вы задаете отношение как 1/2, выходной шаг расчета является половиной входного шага расчета. Выходные параметры, запущенные быстрее, чем вход.

Сигналы Full, Empty и Num, запущенный на самом быстром уровне в вашей модели. Когда вы используете управление вывод FIFO во входе, вам, вероятно, придется выполнить к переходу уровня.

Уровни ввода и вывода блока FIFO синхронны друг другу. Для примера асинхронного моделирования FIFO при помощи блока HDL FIFO откройте модель hdlcoder_asynchronous_fifo.

open_system('hdlcoder_asynchronous_fifo')

Последовательно-параллельное преобразование

ID инструкции

2.1.2

Серьезность

Информативный

Описание

Можно использовать блоки Serializer1D и Deserializer1D, чтобы выполнить последовательно-параллельное и преобразование параллельного кода в последовательный.

Смотрите также

Функции

Связанные примеры

Больше о