Replies: 1 comment
-
|
Привет! Вижу тут три вопроса (не по порядку):
Делать сумматор нужно, чтобы понять как они устроены, что они бывают разные и чтоб получить базовый опыт описания аппаратуры на verilog. А не используем его, потому что сумматор является одним из наиболее популярных и используемых устройств (блоков, модулей) в цифровой электронике, поэтому они уже есть как готовые модули в ПЛИС. То, что они готовы дает много плюсов. Они компактнее и меньше потребляют, чем сделанные из избыточных элементов ПЛИС (LUTов), у них меньше критический путь, они быстрее, короче сплошные плюсы. Очень высока вероятность, что разработчик под ПЛИС задействует память или сумматор, или интерфейс какой-нибудь, поэтому в ПЛИС сразу есть какие-то реализованные в кремнии блоки. Когда пишешь на verilog под ПЛИС, например
Для этого нужно запустить симуляцию в постимплементации (то есть с учетом реального оборудования, ресурсов ПЛИС, на которых будет запущено устройство. Vivado известны все задержки на кристалле). Как проверить? В тестовом окружении моделируется ситуация, что в некоторый момент времени Но тут надо помнить, что сравнение происходит для ПЛИС, а не для кремния. Это значит, что один и тот же код на разных ПЛИС может давать (и будет давать) разное время. При разных настройках оптимизации даже один и тот же код на одной ПЛИС может давать разное время (потому что, например, при других настройках были выбраны другие элементы ПЛИС расположенные дальше друг от друга). В некоторых случаях, при низкой разрядности сумматора и настройках оптимизации, последовательный сумматор на LUTах в ПЛИС может оказаться быстрее параллельного. Все это любопытно поковырять, и исследовать самому, особенно если написать тестбенч, который сам автоматически замеряет время, только сумматоры ему разные подсовывай.
Вот такую презенташку хорошую нашел @HepoH3 ссылка Также небольшое описание можно найти в книге Романова/Панчула "Цифровой синтез". Если после просмотра не станет понятнее, то напиши еще раз, постараюсь объяснить или найти материалы получше. Если все будет понятно и вопросов не останется, то отметь коммент, как ответ. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Здравствуйте!
Ещё летом я начал изучать первую лабораторную по АЛУ и лекции к нему.
Построил простейший сумматор, затем с ускоренным переносом (хотел сравнить по скорости, но не понял, как надо). И хотел реализовать префиксный сумматор, но из книги и других источников мне не было понятно, как он работает.
А потом, оказывается, мы просто пишем A + B, а не делаем отдельные модули, что не очень интересно.
Хотелось бы углубиться в это направление, чтобы была полная ясность, как именно всё работает.
Beta Was this translation helpful? Give feedback.
All reactions