Микроконтроллер + средство моделирования Verilog/VHDL?

Чтобы получить трехмерный массив numpy, вы можете сделать это:

yourlist=[]
for i in range(30):
    yourlist.append([(0, None),(0, 1000),(0, 3000)])
yourarray=np.asarray(yourlist)

Это основано на ваших комментариях, так как ваш вопрос задает 2d матрицу.

16
задан Brandon Fosdick 17 December 2008 в 19:23
поделиться

6 ответов

Я использовал процессор Altera Nios II, встроенный на FPGA. Altera обеспечивает набор инструментальных средств для моделирования ЦП (с его программным обеспечением) вместе с Вашей пользовательской логикой в средстве моделирования. Я предполагаю, что подобная установка может быть достигнута путем загрузки ядра VHDL/Verilog ЦП (Вы пробовали opencores? У них есть много материала там).

Но имейте в виду, что это будет медленным умом-bogglingly, не ожидайте моделировать целые процессы комплекса этот путь. Лучшее, на которое можно надеяться, моделирует прекрасные точки столкновения аппаратных средств программного обеспечения для отладки проблем. Если Вы нуждаетесь в более глубоком моделировании, рассматриваете выполнение его на FPGA со встроенным контрольным кодом.

4
ответ дан 30 November 2019 в 23:09
поделиться

Для "моделируют целую плату" подход, Свободный Образцовый Литейный завод имеет большое количество моделей, некоторых в других VHDL в Verilog, которые доступны теперь.. но необходимо будет заплатить, чтобы создать новые модели. Они очень полезны в том, чтобы быть уверенным, что плата создается правильно.

Но я думаю, более общий подход при отладке PIC должен просто создать плату, затем работать над встроенным микропрограммным обеспечением. В мире микросхемы (где встроенное микропрограммное обеспечение работает на микропроцессоре в микросхеме, которая еще не перешла к потрясающему) люди часто обращаются к очень дорогим системам (или аренда времени на них), которые позволяют компилировать часть дизайна в эмулятор, в то время как остальная часть дизайна работает в нормальной среде средства моделирования. Без барьера дорогого комплекта масок для микросхемы стоимость просто не допустима для Печатной платы. Хотя я услышал о некоторых творческих приложениях Simulink (MathWorks) с FPGA, но мое воспоминание - то, что один или выполнил систему на компьютере, или запрограммировал устройство и выполнил то же самое в в реальном времени.

Я верю, обе Cadence (спросите о палладии), и Mentor Graphics имеют то интегрированное решение, если у Вас есть деньги для расходов на него.

3
ответ дан 30 November 2019 в 23:09
поделиться

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

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

Я пошел один шаг вперед и использовал (Беркли) сокеты между хостом и испытательным стендом так, чтобы моделирование могло продолжать бежать, в то время как хост-приложения останавливаются и запускаются. Мало чем отличаясь от наличия реального процессора с ОС, что Вы запускаете приложения и выполняете их к завершению и запускаете другого. По крайней мере, для тестовых приложений, для доставки у Вас, вероятно, только есть одно приложение.

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

Конкретно на этот раз я использую hdl язык cyclicity cdl, который находится на SourceForge, документация нуждается в некоторой помощи, но примеры могут получить Вас движение, и это производит синтезируемый verilog, таким образом, Вы получаете дополнительную победу там. Я вывел весь материал пакета сценариев кроме абсолютного минимума, должен был соединить и запустить имитационную модель C. Таким образом, мой испытательный стенд находится в C (хорошо C++ технически), слой сокетов был сделан там. Вывод может быть .vcd файлами, которые использует gtkwave. В основном можно сделать объем дизайна HDL с помощью программного обеспечения с открытым исходным кодом без лицензий и т.д. Путем добавления одной или двух строк кода к первой части моделирования CDL смог иметь выполненный как бесконечный цикл, который я могу сказать, что работы вполне хорошо, там, кажется, не утечки памяти, и т.д.

и modelsim и тактовый сигнал имеют стандартизованные способы соединяющегося хоста C программы к миру моделирования, и оттуда можно использовать IPC для получения до хост-приложений, говорящих с API уровня абстракции.

это - вероятно, путь излишество для рис., я бросил рисунки только что для быстрее и дружественная рука C базирующийся micros так или иначе. Существует открытый базовый рис., который Вы могли просто включить в свое моделирование, даже при том, что это не то, что Вы пытаетесь сделать здесь.

2
ответ дан 30 November 2019 в 23:09
поделиться

Не то, чтобы я видел. Ваш лучший выбор состоит в том, чтобы правильно определить интерфейсы и поведение между uC и FPGA и затем определить серию тестовых форм сигнала, которые могут быть применены с помощью автоматизированного тестера. Необходимо было бы сделать автоматизированный тестер (или возможно анализатор логики может иметь некоторую такую функциональность) из FPGA, или uC (примените форму сигнала, наблюдайте прерывания, точки останова, и т.д.). Если Вы действительно хотите, я знаю, что Opencores.org имеет PIC и подобные AVR 8-разрядные uC ядра, определенные как VHDL, таким образом, Вы могли реализовать свой весь проект на FPGA и затем просто отладить это.

1
ответ дан 30 November 2019 в 23:09
поделиться

Обычно нет потребности смоделировать ЦП на уровне RTL. Так как Вы действительно не заботитесь о том, что это делает поразрядно; Вы обычно заботитесь о том, что это делает, например, регистрирует значения, памяти и доступ к шине.

Самое простое, заходят в Функциональную модель Шины. Это просто генерирует чтение и пишет, что ЦП делает, часто на основе текстового файла. Они доступны для некоторых центральных процессоров и многих популярных шин (например, PCI, PCIe). Они моделируют супер быстро.

Следующие повышаются, функциональная точная циклом модель. Они моделируют быстро. Они часто шифруются.

В последний раз полная модель RTL. Это обычно только доступно, если Вы работаете в тесном сотрудничестве с поставщиком ЦП, например, используете их ядро в Вашем ASIC. Обычно они шифруются, если Вы не огромная компания.

Модели памяти обычно точны циклом (например, Микрон).

1
ответ дан 30 November 2019 в 23:09
поделиться

Мои коллеги от аппаратного отдела используют программное обеспечение моделирования FPGA довольно часто, чтобы найти ошибки синхронизации и проследить вниз странные поведения.

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

Можно хотеть взглянуть на SystemC все же. http://en.wikipedia.org/wiki/SystemC

0
ответ дан 30 November 2019 в 23:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: