Сгенерируйте код с аннотациями или комментариями

В следующих разделах описывается, как использовать программное обеспечение HDL- Coder™ для добавления текстовых аннотаций к сгенерированному коду в виде аннотаций модели, текстовых комментариев или комментариев к требованиям.

Аннотации Simulink

Вы можете ввести текст непосредственно на блоке как Simulink® аннотации. HDL Coder отображает текст из аннотаций Simulink как простые текстовые комментарии в сгенерированном коде. Комментарии генерируются на том же уровне иерархии модели, что и подсистемы, содержащие аннотации, как если бы они были блоками Simulink.

Для блоков Constant, чтобы отразить аннотации как комментарии в HDL-коде, снимите флажок Минимизировать промежуточные сигналы и установите стиль трассируемости равным Comment Based.

Общие сведения об аннотациях см. в разделе «Описание моделей с использованием примечаний и аннотаций».

Описание сигнала

Вы можете предоставить описание для сигналов в вашей модели Simulink. Сгенерированный HDL-код отображает эти описания как комментарии над операторами объявления сигнала. Чтобы задать описание сигнала, щелкните правой кнопкой мыши сигнал и выберите Properties, чтобы открыть диалоговое окно Свойства. Затем выберите вкладку Documentation, а в разделе Description введите описание сигнала. Для описания сигнала используйте символы ASCII, потому что не-ASCII символы в сгенерированном коде могут потенциально мешать нисходящим инструментам синтеза и линт. В некоторых случаях из-за определенных оптимизаций, которые действуют на сигналы, сгенерированный код может не преобразовывать все описания сигналов в комментарии HDL или может создавать реплики комментариев HDL для определенных описаний сигналов.

Текстовые комментарии

Можно вводить текстовые комментарии на любом уровне модели путем размещения DocBlock на желаемом уровне и ввода текстовых комментариев. HDL Coder отображает текст из DocBlock в сгенерированном коде как простые текстовые комментарии. Комментарии генерируются на том же уровне иерархии модели, что и подсистема, содержащая DocBlock.

Установите параметр Document type DocBlock равным Text. HDL Coder не поддерживает HTML или RTF опции.

Для получения общей информации о DocBlock см. DocBlock.

Требования Комментарии и гиперссылки

Блокам можно присвоить комментарии к требованию.

Если ваша модель включает комментарии к требованиям, можно выбрать отображение комментариев в одном из следующих форматов:

  • Текстовые комментарии в сгенерированном коде: Чтобы включить требования в качестве текстовых комментариев в код, используйте значения по умолчанию для Include requirements in block comments (on) и Generate traceability report (off) в диалоговом окне Параметры конфигурации (Configuration Parameters).

    Если вы генерируете код из командной строки, установите Traceability и RequirementComments свойства. Этот код показывает текстовые требования, комментарии, сгенерированные для блока Gain из mcombo модель:

    open_system('mcombo')
    makehdl(gcb,'Traceability','off','RequirementComments','on');
    
        BEGIN
          In1_signed <= signed(In1);
    
          --
          -- Block requirements for <S10>/Gain
          -- 1. Gain Requirements Sect 1
          -- 2. Gain Requirements Sect 2
          Gain_gainparam <= to_signed(16384, 16);
    
          Gain_out1 <= resize(In1_signed(15 DOWNTO 0) & '0'
    
          Out1 <= std_logic_vector(Gain_out1);
    
        END rtl;
    
  • Гиперссылочные комментарии: Чтобы включить комментарии требований в качестве гиперссылок в отчет генерации кода HTML, выберите как Generate traceability report, так и Include requirements in block comments в диалоговом окне Параметры конфигурации (Configuration Parameters).

    Если вы генерируете код из командной строки, установите Traceability и RequirementComments свойства:

    makehdl(gcb,'Traceability','on','RequirementComments','on');
    

    Комментарии включают ссылки назад на документ требований, связанный с блоком, и на блок в исходной модели. Для примера на следующем рисунке показаны две ссылки требований, присвоенные блоку Gain. Ссылки указывают на разделы файла текстовых требований.

Следующий код показывает гиперссылочные комментарии требований, сгенерированные для блока Gain.

    BEGIN
      In1_signed <= signed(In1);

      -- <S10>/Gain
      --
      --
      -- Block requirements for <S10>/Gain
      -- 1. Gain Requirements Sect 1
      -- 2. Gain Requirements Sect 2
      Gain_gainparam <= to_signed(16384, 16);

      Gain_out1 <= resize(In1_signed(15 DOWNTO 0) & '0'

      Out1 <= std_logic_vector(Gain_out1);

    END rtl;