Просто мысли вслух. ИМХО. Без желания поучать.
Ну как бы в общем случае:
1) Весь дизайн разбивают на блоки
2) Описывают как и что они должны делать
3) пишутся блоки - как бы отдельным проектом
4) пишется тестбенч для отдельного блока
5) в симуляторе проверяется "как работает" блок при подачи "нужных сигналов" - должен выполняться пункт 2 - "компиляция" достаточно быстро проходит и все нужные сигналы видны.
6) апосля соединяются блоки в один общий дизайн
7) повторяем 4 и 5 для 6 пункта
Общая мысль: пока не будет выполнены первые стадии разработки - не зачем "лезть осциллографом" в заведомо не работающую плису.
Грубо говоря можно нарисовать проект , который заведомо по ресурсам не лезет в плису или не выполняются временные ограничения, вот такой проект даже и не стоит имплементировать и грузить в плис.
Удачи.
ПС: к примеру если времянки не укладываются - то процесс имплементации может идти "сутки", а если времянки укладываются в ограничения - то за "пять минут".
ПСПС: в пользу альтеры - она в бытности быстрее синтезировала и имплементировала проекты, чем ксайлинкс (по крайней мере то что я встречал). но это не значит что альтера лучше чем ксайлинкс. они оба достаточно "кривые".