Обычной практикой при разработке конфигураций программируемых логических интегральных схем (ПЛИС) является создание проекта с помощью систем автоматизированного проектирования (САПР) [1]. Проект состоит из иерархии директорий и множества файлов – как файлов, созданных разработчиком, так и файлов, автоматически созданных используемым САПР. Графический интерфейс САПР направляет процесс разработки устройства, содержит подсказки для разработчика и значительно облегчает его работу. Иногда даже возможно создать конфигурацию для ПЛИС с использованием одной только «мышки», практически не прикасаясь к клавиатуре. Однако, такой подход хорошо работает только в маленьких и простых проектах, или проектах, в которых только требуется соединить существующие IP-блоки, для получения некоей специфической комбинации этих блоков, необходимой для решения конкретной практической задачи. В сложных больших проектах такой подход имеет значительные недостатки. Простые в использовании инструменты, удобные для проектирования несложных устройств оказываются недостаточно гибкими для сложных проектов.
В больших и сложных проектах, состоящий из большого количества модулей, специально спроектированных для решения конкретной задачи, такой проектно-ориентированный подход создаёт значительные сложности. Проблемы возникают с попытками использовать систему управления версиями, технику разработки через тестирование (test-driven design), а также другие систематические техники тестирования разрабатываемой схемы. Использование инструментов разработки без применения проектов САПР позволяет избежать этих сложностей.