Цитата(count_enable @ Jul 14 2015, 18:23)

FF это флипфлоп, но то что синтезатор "оптимизирует" схему, оставляя
только 3 FF, означает что где-то в коде я накосячил

с чего вы так решили? Из вашего же поста
Цитата
Flip-Flops : 18
А дальше он пишет что значения трех битов всегда равны четвертому. Поэтому смысла их оставлять нет. Т.е. по идее триггеров должно быть 15 после разводки. Так работает resource sharing.
Вот вам задачка для мозгов: Есть устройство : квадратор : y = x^2. Числа знаковые. Знаковый бит на выходе уже отрезали. Разрядности согласованы. В выходном результате есть бит, триггер которого можно выкинуть. Вопрос : что это за бит(его индекс) и почему его триггер можно выкинуть?