Я знаю два способа, которыми переменная VHDL синтезируется инструментом синтеза:
- Переменная, синтезированная как комбинационная логика
- Переменная, непреднамеренно синтезированная как Latch (когда неинициализированная переменная назначается сигналу или другой переменной)
Каковы другие способы, которыми переменная VHDL может быть синтезирована? (Пример: это можно интерпретировать как FF?)
Если вы используете значение в переменной до его сохранения, вы получите значение, которое было сохранено в прошлый раз, когда процесс сохранил его (в синхронизированном процессе - значение из предыдущего тактового цикла). Это синтезируется как регистр или FF.
Конечно, в первом такте вы получаете мусор, если только вы не инициализировали переменную в предложении сброса.
источник