HDL Coder™ соответствует следующим соглашениям о присвоении имен и основным руководствам по кодированию, а также проверяет конструкции моделирования, которые нарушают эти правила. HDL Coder сообщает о потенциальных нарушениях правил в отчете стандарта кодирования HDL. Чтобы избежать этих нарушений, смотрите рекомендации правила.
1.A.A проекта и соглашения об именовании верхнего уровня
Правило/серьезность | Сообщение | Проблема | Рекомендации |
---|---|---|---|
1.A.A.1 Предупреждение |
| По умолчанию HDL Coder генерирует код, который имеет то же имя модуля и файла. Если вы используете | Если вы используете |
| Имя исходного файла должно использовать определенные рекомендуемые соглашения об именовании и расширения файлов. | Используйте VHDL file extension option в HDL Workflow Advisor или | |
1.A.A.2 Сообщение | Verilog/VHDL: Identifiers and names should follow recommended naming convention. | Имя в проекте не начинается с буквы или содержит символ, отличный от числа, буквы или подчеркивания. | Обновите имена в вашем проекте так, чтобы они начинались с буквы алфавита ( |
1.A.A.3 Сообщение | Verilog/VHDL: Keywords in Verilog-HDL(IEEE1364), SystemVerilog(v3.1a), and keywords in VHDL(IEEE1076.X) must not be used. | Есть Верилог®, SystemVerilog или VHDL® ключевые слова в именах в вашем проекте. | Обновляйте имена в проекте так, чтобы они не содержали ключевых слов Verilog, SystemVerilog или VHDL. Можно отключить проверку этого правила при помощи |
1.A.A.3vb Сообщение | VHDL: Do not use standard VHDL names. | HDL Coder не использует стандартные имена VHDL. | Никаких действий не требуется. |
1.A.A.4 Ошибка |
| Имя или имена в проекте не используют стандартное соглашение об именовании. | Обновите имена в вашем проекте так, чтобы они начинались с буквы алфавита ( |
1.A.A.5 Ошибка |
| Два или более имен в вашем проекте, в пределах одной возможности, идентичны, кроме случая. Для примера имена | Обновляйте имена в проекте так, чтобы никакие два имени в одной возможности не отличались только в случае. Можно отключить проверку этого правила при помощи |
1.A.A.6 Предупреждение |
| HDL Coder генерирует код, который соответствует этому правилу для Verilog и VHDL. | Никаких действий не требуется. |
| |||
1.A.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.A.C.3 Ошибка |
| Сигнал, порт, параметр, задайте или имя функции в сгенерированном коде менее 2 символов или более 40 символов в длину. | Обновите имена функции или подсистем в проекте так, чтобы они составляли от 2 до 40 символов. Вы можете настроить это правило с помощью |
|
1.A.D именования файлов, пакетов и параметров
Правило/серьезность | Сообщение | Проблема | Рекомендации |
---|---|---|---|
1.A.D.1 Предупреждение |
| Сгенерированные файлы включения совпадают с этими расширениями для testbench. | Никаких действий не требуется. |
| По умолчанию сгенерированный файл пакета postfix | В диалоговом окне Configuration Parameters, на HDL Code Generation> Global Settings> General панель, определяют Package postfix к | |
1.A.D.4 Предупреждение |
| HDL Coder не генерирует макросы в коде Verilog и не переопределяет константы в коде VHDL. | Никаких действий не требуется. |
| |||
1.A.D.9 Предупреждение |
| HDL Coder не задает в сгенерированном коде ширину бита более 32 бит. | Никаких действий не требуется. |
| Если вы используете дженерики в модуле верхнего уровня или если у вас есть параметры маски в проекте и установите | Если у вас есть параметры маски в проекте, установите |
1.A.E именования регистров и синхроимпульсов
Правило/серьезность | Сообщение | Проблема | Рекомендации |
---|---|---|---|
1.A.E.2 Предупреждение |
| Синхросигналы, сброс и активация не используют рекомендуемое соглашение об именовании. | В диалоговом окне Configuration Parameters на панели HDL Code Generation > Global Settings с помощью параметров clock input port, reset input port и clock enable input port обновляйте имена часов, сбрасывайте и активируйте сигналы соответственно. Имена тактовых сигналов должны содержать |
1.A.F именования архитектуры
Правило/серьезность | Сообщение | Проблема | Рекомендации |
---|---|---|---|
1.A.F.1 Предупреждение |
| В сгенерированном коде VHDL имя архитектуры не содержит RTL. | Во вкладке <reservedrangesplaceholder3>> <reservedrangesplaceholder2>> <reservedrangesplaceholder1> обновите VHDL architecture name, чтобы использовать имя архитектуры, которое содержит RTL. |
1.A.F.4 Предупреждение |
| По умолчанию HDL Coder описывает сущность и архитектуру кода VHDL в том же файле. Если вы задаете | Задайте |
1.B.A тактовых импульсов
Правило/серьезность | Сообщение | Проблема | Рекомендации |
---|---|---|---|
1.B.A.1 Сообщение |
| Ваш проект использует несколько ребра синхроимпульса или содержит более одного синхроимпульса. Если вы задаете свойство ClockInputs равным | Обновите свой проект, чтобы использовать один синхросигнал. На панели HDL Code Generation > Global Settings установите Clock inputs |
1.B.A.2 Ошибка |
| HDL Coder не создает защелки и соответствует этому правилу. | Никаких действий не требуется. |
1.B.A.3 Ошибка |
| HDL Coder не создает комбинационные циклы. | Никаких действий не требуется. |
1.C.A синхроимпульсов с триггерами
Правило/серьезность | Сообщение | Проблема | Рекомендации |
---|---|---|---|
1.C.A.3 Предупреждение |
| HDL Coder не использует сигналы асинхронного сброса в качестве сигналов без сброса или синхронного сброса. | Никаких действий не требуется. |
1.C.A.6 Ошибка |
| HDL Coder добавляет логику управления сбросом за пределы DUT и не генерирует как асинхронные сигналы сброса, так и синхронные сигналы сброса. | Никаких действий не требуется. |
1.C.A.7 Предупреждение |
| HDL Coder не генерирует код как с сигналами асинхронного набора, так и с сигналами сброса. | Никаких действий не требуется. |
1.C.B соглашения о сбросе
Правило/серьезность | Сообщение | Проблема | Рекомендации |
---|---|---|---|
1.C.B.1a Сообщение |
| HDL Coder не логирует сигналы асинхронного набора или сброса. | Никаких действий не требуется. |
1.C.B.1b Сообщение |
| Сгенерированный код соответствует этому правилу, поскольку DUT не содержит экземпляров сброса. | Никаких действий не требуется. |
1.C.B.2 Предупреждение |
| HDL Coder использует только начальные сигналы сброса для входных входов асинхронного сброса триггера. | Никаких действий не требуется. |
1.D.A пакетные ограничения синхроимпульса
Правило/серьезность | Сообщение | Проблема | Рекомендации |
---|---|---|---|
1.D.A.1 Предупреждение |
| HDL Coder генерирует код, соответствующий этому правилу, поскольку DUT не содержит экземпляров синхроимпульса. | Никаких действий не требуется. |
1.D.C стробирования синхроимпульсов
Правило/серьезность | Сообщение | Проблема | Рекомендации |
---|---|---|---|
1.D.C.2–4 Сообщение |
| HDL Coder не использует выход триггеров как синхроимпульсы других триггеров или тактовые сигналы триггера как некратные сигналы. | Никаких действий не требуется. |
1.D.C.6 Сообщение |
| Если ваш Simulink® модель использует блок Triggered Subsystem с поднимающимися и падающими триггерами и имеет | Отключить |
1.D.D иерархии синхроимпульсов
Правило/серьезность | Сообщение | Проблема | Рекомендации |
---|---|---|---|
1.D.D.2 Сообщение |
| Ваша модель Simulink использует несколько синхросигналов. | Обновите свой проект, чтобы использовать один синхросигнал. На панели HDL Code Generation > Global Settings установите Clock inputs |
1.F.A основных размеров блоков
Правило/серьезность | Сообщение | Проблема | Рекомендации |
---|---|---|---|
1.F.A.4 Ошибка |
| HDL Coder генерирует отдельные модули для контроллера DUT, оперативной памяти, синхронизации, чтобы он соответствовал этому правилу. | Никаких действий не требуется. |