ПОИСК Статьи Чертежи Таблицы Что такое System и его история из "Проектирование на ПЛИС архитектура, средства и методы " Как обычно, приведенный здесь синтаксис не соответствует языкам VHDL или Verilog эта общепринятая форма записи приведена здесь только для наглядности рассматриваемого примера. При этом разработчики аппаратных средств ожидают, что оба этих оператора будут выполняться одновременно. Это значит, что в регистр а, в который изначально было записано число 6, будет загружено значение, которое в настоящее время хранится в регистре Ь, т. е. 2, и одновременно в регистр Ь, в который изначально было записано число 2, будет загружено значение, которое в настоящее время хранится в регистре а, т. е. 6. В результате выполнения этих операторов регистры а и Ь обменяются своим содержанием. [c.167] Как обычно, всё наши рассуждения несколько упрощены по сравнению с практикой. Справедливо будет заметить, что HDL-операторы будут выполняться одновременно по умолчанию. Однако это правило можно отменить с помощью некоторых методов, например, метода блокирующего присваивания. Таким образом, по определению подсистема моделирования на основе RTL будет выполнять приведённые выше операторы одновременно аналогично средства синтеза на основе RTL буду синтезировать аппаратную часть устройства, которая также будет выполнять эти два действия одновременно. В отличии от них, если явно не задано иное, операторы языка / ++ будут выполняться последовательно. [c.167] Перед тем, как приступить к обсуждению методов проектирования, основанных на языке System , целесообразно кратко рассмотреть, что собой представляет этот язык, поскольку при обсуждении этого вопроса обычно возникает некоторая неразбериха, в том числе и у автора. [c.167] Относительно недокументированный открытый программный продукт Systeme пустился в свободное плавание где-то в 2000 году. Это был объектно-ориентированный язык программирования, который поддерживал библиотеки классов, что упрощало реализацию параллельных процессов (ситуации, когда несколько операций обрабатываются параллельно), синхронизации и выводов входа/выхода. Используя библиотеку классов, инженеры могли описывать устройства с помощью абстракций, выполненных на уровне регистровых передач. [c.168] В 2002 году появилась следующая версия языка — System 2.0. Эта версия отличалась от предыдущей наличием некоторых высокоуровневых схем, предназначенных ддя моделирования, например -- очереди FIFO. Это устройство представляет собой форму памяти, которая может принимать и впоследствии выдавать в обработку последовательность слов данных по принципу первым пришел, первым вышел . [c.168] Версия 2.0 также поддерживала ряд поведенческих, алгоритмических и моделирующих возможностей, например концепции транзакций и каналов (которые используются для абстрактного описания процесса передачи данных между блоками). Чтобы представить перспективу применения этих нововведений, давайте сначала рассмотрим использование первоначальной версии языка System 1.0 на простом примере. Допустим, что имеются две функции f(x) и g(x), которые требуется связать между собой (Рис. 11.2). [c.168] Это значение существенно зависит от схемы устройства в действительности, некоторые модели, созданные с помощью языка System , обрабатываются не быстрее, чем их HDL-аналоги. [c.168] Теперь связь между блоками можно было описать с помощью абстрактных записей, и на ранних стадиях проектирования устройства не заботиться о том, каким образом данные из точки а передаются в точку б, а лишь ограничиться констатацией факта такой передачи. [c.169] Маркони установил первую станцию Маркони на острове Уайт и передал сигнал через 22 км на побережье Англии. [c.170] Вернуться к основной статье