stringtranslate.com

Моделирование на уровне транзакций

Моделирование на уровне транзакций ( TLM ) — это подход к моделированию сложных цифровых систем с использованием программного обеспечения для автоматизации электронного проектирования . [1] : 1955  Язык TLM (TLML) — язык описания аппаратного обеспечения , обычно написанный на C++ и основанный на библиотеке SystemC . [1] TLML используются для моделирования, где детали взаимодействия между модулями отделены от деталей реализации функциональных блоков или архитектуры связи. Он используется для моделирования систем, в которых задействованы сложные механизмы передачи данных. [1] : 1955 г. 

Такие компоненты, как шины или FIFO, моделируются как каналы и представляются модулям с использованием классов интерфейса SystemC . Запросы транзакций выполняются путем вызова функций интерфейса этих моделей каналов, которые инкапсулируют низкоуровневые детали обмена информацией. На уровне транзакций упор больше делается на функциональность передачи данных (какие данные передаются в какие места и из них), а не на их фактическую реализацию, то есть на фактический протокол, используемый для передачи данных. Такой подход позволяет разработчику системного уровня экспериментировать, например, с различными архитектурами шин (все они поддерживают общий абстрактный интерфейс) без необходимости перекодирования моделей, которые взаимодействуют с любой из шин, при условии, что эти модели взаимодействуют с шиной посредством общий интерфейс. [2]

Однако применение моделирования на уровне транзакций не является специфичным для языка SystemC и может использоваться с другими языками. Концепция TLM впервые появляется на языке системного уровня и в области моделирования. [3]

Модели уровня транзакций используются для высокоуровневого синтеза моделей уровня передачи регистров (RTL) для моделирования более низкого уровня и реализации компонентов системы. RTL обычно представлен исходным кодом языка описания оборудования (например, VHDL , SystemC , Verilog ). [1] : 1955–1957 гг. 

История

В 2000 году Торстен Грёткер, менеджер по исследованиям и разработкам Synopsys , готовил презентацию о механизме связи, который должен был стать стандартом SystemC 2.0, и назвал его «моделированием на основе транзакций». Жиль Байе, тогдашний инженер корпоративных приложений в Synopsys, настаивал на том, что новый термин должен содержать «уровень», например « уровень передачи регистров » или «поведенческий уровень». Тот факт, что TLM обозначает не какой-то отдельный уровень абстракции, а скорее технику моделирования, не заставил его изменить свое мнение. Чтобы он приклеился, он должен был быть «ровным». Так оно и стало «ТЛМ». [ нужна цитата ]

Инициатива Open SystemC была создана с целью стандартизации и расширения использования языка SystemC. Эту организацию спонсируют крупные поставщики и клиенты EDA , разделяющие общий интерес в содействии разработке инструментов и совместимости IP. Организация разработала симулятор OSCI для открытого использования и распространения.

С тех пор SystemC был принят в качестве предпочтительного языка для синтеза высокого уровня, соединяя области моделирования конструкции и виртуальных прототипов с функциональной проверкой и автоматизированной реализацией уровня шлюзов пути. Это дает проектным группам возможность создавать одну модель для нескольких целей. На мероприятии DVCon 2010 года OSCI представила спецификацию первого синтезируемого подмножества SystemC для отраслевой стандартизации.

Смотрите также

Рекомендации

  1. ^ abcd Справочник по СБИС. Вай-Кай Чен (2-е изд.). Бока-Ратон, Флорида: CRC/Тейлор и Фрэнсис. 2007. ISBN 978-0-8493-4199-1. ОСЛК  70699056.{{cite book}}: CS1 maint: другие ( ссылка )
  2. ^ Т. Грёткер, С. Ляо, Г. Мартин, С. Свон, Проектирование системы с помощью SystemC. Springer, 2002, глава 8, стр. 131. ISBN 1-4020-7072-1 (цитируется с разрешения) 
  3. ^ Л. Кай, Д. Гайски, Моделирование уровня транзакций: обзор, в материалах Int. Конференция по кодированию HW/SW и синтезу систем (CODES-ISSS), октябрь 2003 г., стр. 19–24.

Внешние ссылки