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

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

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

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

ID инструкции

2.1.1

Серьезность

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

Описание

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

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

Имя блокаРекомендуемое использование
Single Port RAM System

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

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

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

Simple Dual Port RAM System

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

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

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

Dual Port RAM System

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

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

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

Dual Rate Dual Port RAM

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

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

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

HDL FIFO

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

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

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

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

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

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

open_system('hdlcoder_asynchronous_fifo')

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

ID инструкции

2.1.2

Серьезность

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

Описание

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

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

Функции

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

Больше о