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

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

3. Инструкции для создания функциональных библиотек

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

Управляйте / СерьезностьСообщениеПроблемаРекомендации
3.A.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 Coder сохраняет порядок объявлений порта модуля и подключений порта экземпляра, когда они появляются в исходном Simulink® DUT.

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

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

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

HDL Coder выполняет это правило.

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

3. Нашей эры сигнал, ограничения порта - 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 Coder сворачивает длинные линии в проекте только, насколько синтаксис HDL-кода не повреждается.

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

3. A.F типичные ограничения использования

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

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

HDL Coder не генерирует, если - генерируют операторы, но может сгенерировать для - генерируют операторы в сгенерированном HDL-коде.

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

3. B инструкции для того, чтобы пользоваться функциональными библиотеками

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 Coder не генерирует макросы в HDL-коде.

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

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

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

HDL Coder не генерирует макросы в 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 Coder осуществляет тип и соответствие битной ширины, так, чтобы это выполнило это правило.

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

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

VHDL: Do not use entity instantiation in the design.

HDL Coder не использует инстанцирование сущности в проекте. Сгенерированный 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 Coder выполняет это правило.

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

3. C инструкции для тестового проекта помощи

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

Управляйте / СерьезностьСообщениеПроблемаРекомендации
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 Coder соединяет пакет часов с сущностью или черным ящиком и не изменяет его, таким образом, сгенерированный код выполняет это правило.

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

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 Coder не использует часы в качестве данных.

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

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

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

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

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

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

Смотрите также

Свойства

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

Больше о