Я блуждал с точки зрения «производительности», если есть какая-то разница между структурным и поведенческим поведением VHDL. Я знаю, что сегодня более распространено писать поведенческие, а не структурные, но поскольку я хотел бы иметь понимание с точки зрения производительности, я думал, что, возможно, есть какая-то разница ...Поведение VHDL по сравнению с структурными характеристиками
ответ
Нет причин, связанных с оборудованием предпочитают одну или другую форму.
Возможно, что одна форма приводит к более быстрой симуляции, чем к другой; Я вообще не видел никаких доказательств этого, но тогда я не смотрел. Это правда, что после синтеза конструкция преобразуется в структурную форму, а постсинтетическое моделирование происходит медленно, но это связано с огромным размером результирующей структурной версии, выраженной в виде тысяч отдельных ворот и их взаимосвязей.
Важнее качество результатов синтеза: должно быть возможно написать дизайн в обеих формах и синтезировать его по существу на одном и том же оборудовании. По моему опыту это, как правило, верно.
Иногда вы обнаружите, что инструменты синтеза затрудняют эффективный перевод конструкции (обычно поведенческой), но не так часто, как в прошлом.
Что наиболее важно (если вы не раздвигают границы скорости или размера FPGA) ясность, что приводит к удобочитаемости, надежности, эффективности, контролируемости, ремонтопригодности и так далее. Если вы не можете понять это, вы не можете увидеть неэффективность или даже проверить его правильно.
Здесь структурный VHDL играет определенную роль на верхнем уровне: разделение системы на блоки, такие как процессор, интерфейс памяти, процессор FFT, UART, SPI и так далее. Иногда иерархически, поэтому вы можете разделить интерфейс памяти на логику обновления, исправление ошибок, мультиплексирование адресов и т. Д.
Но большинство блоков - например, задачи, которые может обрабатывать один конечный автомат, являются самыми ясными и простыми, когда они выражены поведением. Таким образом, в UART у вас могут быть два отдельных процесса для TX и RX, в то время как интерфейс SPI (который отправляет и получает на тех же частотах SPI), вероятно, лучше всего в качестве одного поведенческого процесса.
Поскольку нет особых причин, чтобы предпочесть конкретный описатель (с точки зрения аппаратного синтеза). Может ли структурное описание каким-то образом повлиять на скорость компиляции? (Предполагая, что у нас есть два эквивалентных описания оборудования поведенческих и один структурный). – user8469759
- 1. VHDL - поведение переменной по сравнению с сигналом в очереди
- 2. Поведение фейсов PHP по сравнению с C
- 3. неправильное поведение M2Crypto по сравнению с OpenSSL
- 4. Любопытный поведение ApplicationInstance.CompleteRequest() по сравнению с Response.End()
- 5. VHDL странное поведение
- 6. поведение по-разному по сравнению с ионовым модным фоном
- 7. Странное поведение VHDL, если заявление
- 8. jquery.trim по сравнению с string.trim
- 9. Поведение оператора сравнения VHDL с целым аргументом
- 10. Различные поведение на Firefox по сравнению с другим браузером
- 11. поведение распаковки кортежа в цикле for по сравнению с inline
- 12. поведение postbacks linkbuttons по сравнению с не postback
- 13. Нечетное загруженное поведение в разметке по сравнению с кодом
- 14. Поведение ротации и отсечения по сравнению с Android 4.3
- 15. Различное поведение eax по сравнению с другими регистрами
- 16. Weird lldb поведение (по сравнению с gdb) C
- 17. Listview поведение навигации в xbap по сравнению с автономным приложением
- 18. Неожиданное поведение простой схемы VHDL
- 19. Проблемы с характеристиками haskell
- 20. ReactFX по сравнению с натрием
- 21. по сравнению с строкой
- 22. по сравнению с датами?
- 23. По сравнению с CompareTo
- 24. по сравнению с undefined
- 25. Лучшая производительность по сравнению с String.Empty (с #)
- 26. найти элементы с одинаковыми характеристиками
- 27. Работает ли OCL с составными структурными диаграммами?
- 28. Подстрока с аварийными характеристиками диапазона
- 29. Конструктор классов со структурными компонентами
- 30. поведение по-разному с двумя входными списками с одинаковой длиной по сравнению с разной длиной (схема)
Всегда полезно посмотреть на сгенерированный [RTL] (https://en.wikipedia.org/wiki/Register-transfer_level) и сравнить. – dlask
Вы можете сделать это для небольшой системы, я думаю ... для большой системы вы, я не думаю, что имеет смысл писать обе модели и сравнивать. – user8469759
Обычно ваша задача - быть продуктивной, и задача компилятора - понять ваши намерения. По этой причине обычно используется поведенческий код. – dlask