HDL Coder™ соответствует следующим соглашениям по присвоению имен и основным рекомендациям по кодированию, а также проверяет конструкции моделирования, нарушающие эти правила. Кодер HDL сообщает о возможных нарушениях правил в стандартном отчете по кодированию HDL. Чтобы избежать этих нарушений, см. рекомендации правила.
1.A.A Соглашения о проектировании и именовании верхнего уровня
| Правило/серьезность | Сообщение | Проблема | Рекомендации |
|---|---|---|---|
| 1. A.1 Предупреждение |
| По умолчанию кодер HDL генерирует код с одинаковым именем модуля и файла. Если вы используете | Если вы используете |
| Имя исходного файла должно использовать определенные рекомендуемые правила именования и расширения файлов. | Используйте опцию расширения файла VHDL в помощнике по рабочим процессам HDL или | |
| 1. A.2 Сообщение | Verilog/VHDL: Identifiers and names should follow recommended naming convention. | Имя в конструкции не начинается с буквы или содержит символ, отличный от цифры, буквы или подчеркивания. | Обновите имена в вашем дизайне так, чтобы они начинались с буквы алфавита ( |
| 1. A.3 Сообщение | Verilog/VHDL: Keywords in Verilog-HDL(IEEE1364), SystemVerilog(v3.1a), and keywords in VHDL(IEEE1076.X) must not be used. | Ключевые слова Verilog ®, SystemVerilog или VHDL ® находятся в именах проекта. | Обновите имена в конструкции таким образом, чтобы они не содержали ключевые слова Verilog, SystemVerilog или VHDL. Эту проверку правил можно отключить с помощью |
| 1. A.3vb Сообщение | VHDL: Do not use standard VHDL names. | Кодер HDL не использует стандартные имена VHDL. | Никаких действий не требуется. |
| 1. A.4 Ошибка |
| Имя или имена в конструкции не используют стандартное соглашение об именовании. | Обновите имена в вашем дизайне так, чтобы они начинались с буквы алфавита ( |
| 1. A.5 Ошибка |
| Два или более имен в конструкции в пределах одной области действия идентичны, за исключением случая. Например, имена | Обновите имена в проекте таким образом, чтобы ни одно из двух имен в одной области не отличалось только в случае. Эту проверку правил можно отключить с помощью |
| 1. A.6 Предупреждение |
| Кодер HDL генерирует код, соответствующий этому правилу для Verilog и VHDL. | Никаких действий не требуется. |
| |||
| 1. A.9 Предупреждение | Verilog/VHDL: Top-level module/entity and port names should be less than or equal to 16 characters in length and not be mixed-case. | Длина имени модуля, объекта или порта верхнего уровня в сгенерированном коде превышает 16 символов, либо используются буквы со смешанным регистром. | Обновите указанное имя в конструкции так, чтобы оно было меньше или равно 16 символам, а все буквы были строчными. все буквы должны быть либо все прописные, либо все строчные. Это правило можно настроить с помощью |
1.A.B Соглашения об именовании модулей
| Правило/серьезность | Сообщение | Проблема | Рекомендации |
|---|---|---|---|
| 1. A.B.1–1b Ошибка |
| Имя модуля, экземпляра или сущности в созданном коде имеет длину менее 2 символов или более 32 символов. | Обновите указанное имя в конструкции таким образом, чтобы оно имело длину от 2 до 32 символов. Это правило можно настроить с помощью |
|
1.A.C Соглашения об именовании сигналов
| Правило/серьезность | Сообщение | Проблема | Рекомендации |
|---|---|---|---|
| 1. C.3 Ошибка |
| Длина имени сигнала, порта, параметра, определения или функции в сгенерированном коде составляет менее 2 символов или более 40 символов. | Обновите имена функций или подсистем в конструкции, чтобы они имели длину от 2 до 40 символов. Это правило можно настроить с помощью |
|
1.A.D Соглашения по именованию файлов, пакетов и параметров
| Правило/серьезность | Сообщение | Проблема | Рекомендации |
|---|---|---|---|
| 1. D.1 Предупреждение |
| Созданные файлы включения соответствуют этим расширениям для testbench. | Никаких действий не требуется. |
| По умолчанию создается постфикс файла пакета | В диалоговом окне «Параметры конфигурации» на панели «Создание кода HDL» > «Глобальные параметры» > «Общие» укажите постфикс пакета для | |
| 1. D.4 Предупреждение |
| Кодер HDL не генерирует макросы в коде Verilog и не переопределяет константы в коде VHDL. | Никаких действий не требуется. |
| |||
| 1. D.9 Предупреждение |
| Кодер HDL не указывает битовую ширину, превышающую 32 бита в сгенерированном коде. | Никаких действий не требуется. |
| При использовании дженерик-программ в модуле верхнего уровня или при наличии параметров маски в проекте и установке | Если в проекте имеются параметры маски, установите |
1.A.E Соглашения об именовании регистров и синхросигналов
| Правило/серьезность | Сообщение | Проблема | Рекомендации |
|---|---|---|---|
| 1. E.2 Предупреждение |
| Сигналы синхронизации, сброса и включения не используют рекомендуемое соглашение об именовании. | В диалоговом окне Configuration Parameters на панели HDL Code Generation > Global Settings (Создание кода HDL > Глобальные настройки), используя параметры входного порта синхронизации, входного порта сброса и входного порта включения синхронизации, обновите имена сигналов синхронизации, сброса и включения соответственно. Имена тактовых сигналов должны содержать |
1.A.F Соглашения об именовании архитектуры
| Правило/серьезность | Сообщение | Проблема | Рекомендации |
|---|---|---|---|
| 1. F.1 Предупреждение |
| В сгенерированном коде VHDL имя архитектуры не содержит RTL. | На вкладке Создание кода HDL > Глобальные настройки > Общие обновите имя архитектуры VHDL, чтобы использовать имя архитектуры, содержащее RTL. |
| 1. F.4 Предупреждение |
| По умолчанию кодер HDL описывает сущность и архитектуру кода VHDL в одном файле. Если установить | Набор |
1.B.A Ограничения тактового сигнала
| Правило/серьезность | Сообщение | Проблема | Рекомендации |
|---|---|---|---|
| 1. B.A.1 Сообщение |
| В проекте используется несколько фронтов тактового сигнала или содержится несколько тактовых сигналов. Если для свойства ClockInputs задано значение | Обновите конструкцию, чтобы использовать один тактовый сигнал. На панели «Создание кода HDL» > «Глобальные настройки» установите для параметра «Вход часов» значение |
| 1. B.A.2 Ошибка |
| Кодер HDL не создает защелки и соответствует этому правилу. | Никаких действий не требуется. |
| 1. B.A.3 Ошибка |
| Кодер HDL не создает комбинированных циклов. | Никаких действий не требуется. |
1.C.A Зависимости тактового сигнала триггера
| Правило/серьезность | Сообщение | Проблема | Рекомендации |
|---|---|---|---|
| 1. C.A.3 Предупреждение |
| Кодер HDL не использует асинхронные сигналы сброса в качестве ненулевых или синхронных сигналов сброса. | Никаких действий не требуется. |
| 1. C.A.6 Ошибка |
| Кодер HDL добавляет логику управления сбросом вне DUT и не генерирует как асинхронные, так и синхронные сигналы сброса. | Никаких действий не требуется. |
| 1. C.A.7 Предупреждение |
| Кодер HDL не генерирует код с асинхронными сигналами установки и сброса. | Никаких действий не требуется. |
1.C.B Сброс условных обозначений
| Правило/серьезность | Сообщение | Проблема | Рекомендации |
|---|---|---|---|
| 1. C.B.1a Сообщение |
| Кодер HDL не формирует асинхронные сигналы установки или сброса. | Никаких действий не требуется. |
| 1. C.B.1b Сообщение |
| Созданный код соответствует этому правилу, поскольку DUT не содержит экземпляр сброса. | Никаких действий не требуется. |
| 1. C.B.2 Предупреждение |
| Кодер HDL использует только начальные сигналы сброса для асинхронного входа сброса триггера. | Никаких действий не требуется. |
1.D.A Ограничения упаковки часов
| Правило/серьезность | Сообщение | Проблема | Рекомендации |
|---|---|---|---|
| 1. D.A.1 Предупреждение |
| Кодер HDL генерирует код, соответствующий этому правилу, поскольку DUT не содержит экземпляра тактового сигнала. | Никаких действий не требуется. |
1.D.C Ограничения стробирования синхросигналов
| Правило/серьезность | Сообщение | Проблема | Рекомендации |
|---|---|---|---|
| 1. D.C.2–4 Сообщение |
| Кодер HDL не использует вывод триггеров в качестве тактовых сигналов других триггеров или тактовых сигналов триггеров в качестве нетактовых сигналов. | Никаких действий не требуется. |
| 1. D.C.6 Сообщение |
| Если модель Simulink ® использует блок триггерной подсистемы с восходящими и падающими триггерами и имеет | Отключить |
1.D.D Ограничения иерархии часов
| Правило/серьезность | Сообщение | Проблема | Рекомендации |
|---|---|---|---|
| 1. D.D.2 Сообщение |
| Модель Simulink использует несколько тактовых сигналов. | Обновите конструкцию, чтобы использовать один тактовый сигнал. На панели «Создание кода HDL» > «Глобальные настройки» установите для параметра «Вход часов» значение |
1.F.A Основные рекомендации по размеру блока
| Правило/серьезность | Сообщение | Проблема | Рекомендации |
|---|---|---|---|
| 1. F.A.4 Ошибка |
| Кодер HDL генерирует отдельные модули для DUT, RAM, контроллера синхронизации, чтобы он соответствовал этому правилу. | Никаких действий не требуется. |