ПОИСК Статьи Чертежи Таблицы Типы языков из "Проектирование на ПЛИС архитектура, средства и методы " С точки зрения пользователя, щелчок мышью на одном из этих блоков структурной схемы может автоматически открыть НОЬ-редак-тор. В качестве такого редактора может выступать простой текстовый редактор, запускаемый из командной строки, подобный VI, или можно использовать более сложный специализированный НОЬ-редактор со встроенной функцией выделения различными цветами ключевых слова языка, автоматическим завершением выражений и другие. [c.143] Кроме того, щелкнув мышью на одном из таких блоков современных систем проектирования можно сделать выбор между описанием и просмотром содержимого этого блока, блоков нижнего уровня, исходного НОЬ-кода, графической диаграммы состояний, используемой для описания конечных автоматов, графической блок-схемы и так далее. Для графических представлений, подобных графическим диаграммам состояний и блок-схемам, существует возможность автоматически генерировать их описания на уровне регистровых передач (Рис. 9.4). [c.143] Инженеры в процессе разработки довольно часто используют табулированный файл, содержащий информацию о внешних входах и выходах устройства. При этом блок-схема верхнего уровня устройства и табулированный файл будут напрямую связаны одними и теми же данными, и на самом деле будут представлять различные интерпретации этих данных. При изменении любой из этих интерпретаций система автоматически модифицирует все связанные с этой модификацией данные и немедленно отобразит внесённые изменения в других интерпретациях. [c.143] С появлением единого представителя, который мог быть использован средствами моделирования, синтеза и так далее, для многих разработчиков жизнь значительно упростилась. Однако не стоит забывать, что Verilog изначально разрабатывался совместно со средствами моделирования, а средства синтеза при этом находились в стороне. Это значило, что при создании устройства, инженеры были вынуждены использовать подкласс средств синтеза используемого ими языка, который примерно можно было определить, как некую совокупность языковых конструкций, понятную и поддерживаемую приложением синтеза, выбранным пользователем. [c.145] В идеале справочные страницы LRM должны довольно строго определять понятия языка, исключая какие-либо неверные или двусмысленные толкования. В действительности, однако, Verilog LRM допускает некоторую неопределенность. Эти неопределенности возникали в выражениях вида если управляющий сигнал на триггере переходит в неактивное состояние, а в это же время происходит переключение синхросигнала, то какой из этих сигналов сработает первым Это приводило к тому, что в различных версиях средств моделирования могли генерироваться различные результаты, что зачастую и приводило пользователя в замешательство. [c.146] Кроме того, различные части системы зачастую разрабатывались и тестировались с помощью разнотипных и несовместимых средств разработки и моделирования. [c.146] Язык VHDL отличался большой мощностью на функциональном (булевы выражения и RTL) и поведенческом (алгоритмическом) уровнях абстракции, а также поддерживал некоторые конструкции системного уровня. Однако он не оправдал своих возможностей при работе на структурном (вентили и ключи) уровне абстракции, особенно в части моделирования задержек. [c.147] Вернуться к основной статье