симуляция уровня после ворот в modelsim

Я пытаюсь сделать симуляцию уровня после ворот для конвейерного процессора. У меня есть список соединений в формате vhdl, и теперь мне нужно снова смоделировать его, чтобы убедиться, что функциональность работает сразу после синтеза. Проблема в том, что у меня есть 2 ОЗУ, один для инструкций, а другой для данных, при моделировании уровня после ворот у меня нет возможности просматривать список памяти и загружать мои инструкции и данные в мои 2 ОЗУ. Как я могу вставить свои данные в ОЗУ, поскольку они были переведены в триггеры и мультиплексоры?

Заранее спасибо.


person user1673892    schedule 18.05.2013    source источник
comment
Похоже, проблема похожа на stackoverflow.com /вопросы/16607812/   -  person user_1818839    schedule 18.05.2013


Ответы (1)


Из вашего описания я бы предположил, что две ОЗУ предназначены для кеша инструкций и кеша данных. Поскольку они обычно имеют значительный размер даже на меньших процессорах, я сомневаюсь, что эти ОЗУ реализованы в триггерах и мультиплексорах. Поэтому мое первое предложение будет заключаться в том, чтобы вы проверили список соединений, чтобы увидеть, действительно ли ОЗУ являются отдельными примитивными модулями ОЗУ.

Причина в том, что примитивные модули ОЗУ иногда (в зависимости от модели) могут быть инициализированы содержимым файла. В этом случае вам просто нужно сделать файл с правильным форматом.

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

Если оперативная память фактически преобразуется в триггеры и мультиплексоры, то процессор может поддерживать некоторые инструкции по работе с кешем, обычно доступные в защищенном (ядерном) режиме. Эти инструкции можно использовать для загрузки кэша инструкций и кэша данных содержимым, предоставленным исполняемой программой. Загрузка кэш-памяти таким образом может потребовать многочисленных инструкций, что потребует некоторого времени моделирования.

Наконец, вы можете подумать о том, чтобы не тратить так много времени на моделирование уровня ворот. Может быть нормально немного поработать, просто чтобы убедиться, что нетлист в порядке, но хорошо известные коммерческие инструменты синтеза, как правило, имеют высокое качество, так что вряд ли они будут причиной ошибок в вашем проекте. Риск ошибок намного больше в специальном дизайне для проекта, поэтому вы можете потратить больше времени на проверку функций и проверку кода ;-)

person Morten Zilmer    schedule 18.05.2013