exponenta event banner

Руководство по методологии проектирования RTL

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

3.А Руководство по созданию библиотек функций

3.A.C Сигнал, ограничения порта - I

Правило/серьезностьСообщениеПроблемаРекомендации
3. C.1
Предупреждение

Verilog: The order of module port decalarations and instance port connections lists should be same as the order in the module port map.

Кодер HDL сохраняет порядок объявлений портов модулей и соединений портов экземпляров в том виде, в котором они отображаются в исходном файле Simulink ® DUT.

Никаких действий не требуется.

3. C.4a
Сообщение

Verilog/VHDL: Define only one port or signal per line in I/O, reg, and wire declaration.

Кодер HDL соответствует этому правилу.

Никаких действий не требуется.

3.A.D Сигнал, ограничения порта - II

Правило/серьезностьСообщениеПроблемаРекомендации
3. A.D.4–5
Предупреждение

Verilog/VHDL: Multiple assignments should not be made in one line.

Созданный код HDL содержит несколько назначений в одной строке или строках длиной более N символов. В исходном проекте имеется имя или идентификатор, содержащий более N символов.

Сократите имена в дизайне, длина которых превышает N символов.

Можно также настроить N с помощью LineLength свойство объекта настройки стандарта кодирования HDL.

Кодер HDL складывает длинные линии в конструкции только до тех пор, пока синтаксис кода HDL не нарушен.

Verilog/VHDL: The maximum number of characters in one line should not be more than N.

3.A.F Общие ограничения использования

Правило/серьезностьСообщениеПроблемаРекомендации
3. F.1
Ссылка

Verilog: Generic should be used in conditional expression of if generate statement.

Кодер HDL не генерирует операторы if-generate, но может генерировать операторы for-generate в сгенерированном коде HDL.

Никаких действий не требуется.

3.В Руководство по использованию библиотек функций

3.B.B Параметры, постоянные зависимости

Правило/серьезностьСообщениеПроблемаРекомендации
3.B.B.2b-4
Сообщение

Verilog: Define macros should be read using include files. Include files must be specified with more than 1 level higher relative path.

Кодер HDL не генерирует макросы в коде HDL.

Никаких действий не требуется.

3. B.B.5–7
Сообщение

Verilog: Text macros should not be nested, and constants should be defined using parameters only.

Кодер HDL не генерирует макросы в коде HDL.

Никаких действий не требуется.

3.B.C Ограничения порта

Правило/серьезностьСообщениеПроблемаРекомендации
3. B.C.1
Сообщение

Verilog/VHDL: Port/Generic connections in instantiations must be made by named association rather than position association.

HDL Coder сохраняет ассоциацию портов, чтобы она соответствовала этому правилу.

Никаких действий не требуется.

3. B.C.2
Сообщение

Verilog: Bit-width of the component port and its connected net must match.

Кодер HDL обеспечивает соответствие типа и ширины битов, чтобы соответствовать этому правилу.

Никаких действий не требуется.

3. B.C.3
Сообщение

VHDL: Do not use entity instantiation in the design.

Кодер HDL не использует экземпляр объекта в конструкции. Созданный код HDL является родовым и может использоваться повторно.

Никаких действий не требуется.

3.B.D Общие ограничения

Правило/серьезностьСообщениеПроблемаРекомендации
3. B.D.1
Ошибка

Verilog/VHDL: Non-integer type used in the declaration of a generic may be unsynthesizable.

Созданный код HDL содержит неинтегрированный тип данных.

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

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

Эту проверку правил можно отключить с помощью NonIntegerTypes свойство объекта настройки стандарта кодирования HDL.

3. B.D.3
Ошибка

Verilog: Do not use defparam statements.

Кодер HDL соответствует этому правилу.

Никаких действий не требуется.

3.С Руководство по проектированию для облегчения испытаний

3.C.A Ограничения часов - I

Правило/серьезностьСообщениеПроблемаРекомендации
3. C.A.1–4
Ошибка

Verilog/VHDL: Internal clocks and aynschronous sets/resets must be controllable from external pins.

В сгенерированном коде HDL можно управлять часами с внешних контактов. Если у вас есть запускаемая подсистема и включите TriggerAsClock, то триггерный сигнал становится тактовым сигналом, которым можно управлять с внешних контактов.

Для сигналов сброса, моделируемых в Simulink, сгенерированный код VHDL может иметь порт загрузки, который является основным входом в сгенерированный код.

Чтобы избежать нарушения этого правила, отключите TriggerAsClock.

3.C.B Ограничения черного ящика

Правило/серьезностьСообщениеПроблемаРекомендации
3. C.B.3
Ошибка

Verilog/VHDL: Do not connect the outputs of a black box to clock, reset, or tristate enable pins.

Кодер HDL соединяет пакет часов с объектом или blackbox и не изменяет его, поэтому сгенерированный код соответствует этому правилу.

Никаких действий не требуется.

3.C.C Ограничения тактового сигнала - II

Правило/серьезностьСообщениеПроблемаРекомендации
3. C.C.1
Ошибка

Verilog/VHDL: A clock must not be connected to the D input of a flip-flop.

Кодер HDL не использует тактовый сигнал в качестве данных.

Никаких действий не требуется.

3.C.F Ограничения тактового сигнала - III

Правило/серьезностьСообщениеПроблемаРекомендации
3. C.F.2
Ошибка

Verilog/VHDL: Do not mix clock and reset lines.

Кодер HDL соединяет пакет часов с объектом или blackbox и не изменяет его, поэтому сгенерированный код соответствует этому правилу.

Никаких действий не требуется.

См. также

Свойства

Связанные примеры

Подробнее