SystemC AMS - Википедия - SystemC AMS

SystemC AMS является расширением SystemC для аналоговых, смешанных сигналов и радиочастот.[1] Стандарт SystemC AMS 2.0 был выпущен 6 апреля 2016 г. как IEEE Std 1666.1-2016.

Спецификация языка

 ToDo: описание

Особенности языка

 ToDo: описание

MoC - Модель вычислений

А модель вычисления (MoC) - это набор правил, определяющих поведение и взаимодействие между примитивными модулями SystemC AMS. SystemC AMS определяет следующие модели вычислений: синхронизированный поток данных (TDF), линейный поток сигналов (LSF) и электрические линейные сети (ELN).

TDF - синхронизированный поток данных

 ToDo: описание

ELN - электрические линейные сети

 ToDo: описание

LSF - линейный поток сигналов

 ToDo: описание

Порты

Определение входящего / выходящего TDF:

 sca_tdf ::sca_in sca_tdf ::sca_out<PortType>

Определение входящего / выходящего преобразователя TDF:

 sca_tdf ::sc_in // DE → TDF inport sca_tdf ::sc_out // TDF → DE outport

Определение терминала ELN:

 sca_eln ::sca_terminal

Узлы

 sca_eln ::sca_node         // Узел ELN sca_eln ::sca_node_ref     // Ссылочный узел ELN

Кластер

 ToDo: описание

Отслеживание

sca_trace_file *tf = sca_create_tabular_trace_file("trace_file_name.dat");  sca_trace(tf, <ПОРТ|СИГНАЛ|УЗЕЛ>, "имя");

Пример кода

TDF

Модель Timed-Data-Flow 1-го порядка нижних частот:

#включают <systemc-ams>с помощью пространство имен sca_util;        // введено для удобства: sca_util :: sca_vector  → sca_vector с помощью пространство имен sca_core;        // введено для удобства: sca_core :: sca_time () → sca_time ()с помощью пространство имен sca_ac_analysis; // введено для удобства: sca_ac_analysis :: sca_ac () → sca_ac ()SCA_TDF_MODULE(tdf_low_pass){    // Порты TDF    sca_tdf::sca_in<двойной>  inp;    sca_tdf::sca_out<двойной> выход;    // параметры    двойной fcut;                 // частота среза    // методы    пустота инициализировать();           // обратный вызов симулятора для инициализации    пустота ac_processing();        // обратный вызов симулятора для реализации поведения переменного тока    пустота обработка();           // обратный вызов симулятора для реализации времени    // конструктор    SCA_CTOR(tdf_low_pass) {    	fcut = 1.0e3;            // частота среза 1 кГц    }частный:    sca_vector<двойной > число;	 // коэффициенты числителя    sca_vector<двойной > логово;	 // коэффициенты де-числителя    sca_vector<двойной > государственный;   // вектор состояния    sca_tdf::sca_ltf_nd ltf_nd;  // линейная передаточная функция (тип числителя / де-числителя)};

линейная передаточная функция:

// инициализируем коэффициенты линейной передаточной функциипустота tdf_low_pass::инициализировать(){  число(0) = 1.0;  логово(0) = 1.0;  логово(1) = 1.0/(2.0*M_PI*fcut);}

ToDo: описание

// реализация ACпустота tdf_low_pass::ac_processing(){  sca_ac(выход) = sca_ac_ltf_nd(число, логово, sca_ac(inp));}

ToDo: описание

// реализация во временной областипустота tdf_low_pass::обработка(){  выход = ltf_nd(число, логово, государственный, inp);}

ЭЛЬ Н

Список цепей нижних частот 1-го порядка Electric-Linear-Networks:

SC_MODULE(eln_low_pass_netlist){    // терминалы sca eln    sca_eln::sca_terminal n1;    sca_eln::sca_terminal n2;    // внутренние узлы    sca_eln::sca_node_ref земля;    // модули eln    sca_eln::шрам i_r;    sca_eln::sca_c IC;    SC_CTOR(eln_low_pass_netlist) : i_r("i_r"), IC("IC")    {          i_r.ценить = 1.0;          i_r.п.связывать(n1);          i_r.п.связывать(n2);          IC.ценить = 1.0/(2.0*M_PI*1.0e3);          IC.п.связывать(n2);          IC.п.связывать(земля);    }};

LSF

Список соединений Linear-Signal-Flow:

История

Исследовательская группа SystemC AMS была основана в 2002 году для разработки и сопровождения расширений SystemC для аналоговых и смешанных сигналов, а также для создания рабочей группы по OSCI (инициатива Open SystemC) SystemC-AMS. Исследовательская группа провела первоначальные исследования, а также определила и внедрила расширение SystemC, чтобы продемонстрировать осуществимость этого подхода. В 2006 году была профинансирована рабочая группа SystemC AMS, которая продолжила работу исследовательской группы внутри OSCI, а теперь продолжает работу над SystemC AMS в рамках Accellera Системная инициатива, результатом которой стал стандарт AMS 1.0 в 2010 году. После выпуска стандарта Accellera SystemC AMS 2.0 в 2013 году стандарт был передан в IEEE Standards Association в 2014 году для дальнейшего внедрения и поддержки в отрасли. Стандарт SystemC AMS был выпущен 6 апреля 2016 г. как IEEE Std 1666.1-2016.[2][3] COSEDA Technologies COSIDE предоставляет первую коммерчески доступную среду проектирования на основе стандарта SystemC AMS.

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

  1. ^ «SystemC AMS». Accellera.org. Получено 2016-08-01.
  2. ^ «SystemC AMS (аналоговый / смешанный сигнал)». Accellera.org. Получено 2016-08-01.
  3. ^ «SystemC-AMS и проектирование встроенных систем со смешанными сигналами». www.systemc-ams.org. Получено 2016-08-01.

внешняя ссылка