Проследите код, используя файл отображения

Примечание

Этот раздел ссылается на сгенерированный VHDL® сущности или Verilog® модули в общем виде как «сущности».

mapping file - это текстовый файл отчета, сгенерированный makehdl. Файлы отображения генерируются как средство отслеживания сгенерированных HDL сущностей обратно в соответствующие системы модели.

Файл отображения показывает отношения между системами в модели и сущностями VHDL или модулями Verilog, которые были сгенерированы из них. Запись файла отображения имеет форму

path --> HDL_name
где path - полный путь к системе в модели и HDL_name - имя сущности VHDL или модуля Verilog, сгенерированного из этой системы. Файл отображения содержит по одной записи на линию.

В простых случаях файл отображения может содержать только одну запись. Для примера, symmetric_fir подсистема sfir_fixed модель генерирует следующий файл отображения:

sfir_fixed/symmetric_fir --> symmetric_fir

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

Если имя подсистемы уникально в модели, HDL Coder просто использует имя подсистемы как имя сгенерированной сущности. Там, где встречаются одинаково именованные подсистемы, кодер пытается разрешить конфликт, добавляя постфиксную строку (по умолчанию '_entity') к конфликтующей подсистеме. Если впоследствии сгенерированные имена сущностей конфликтуют в свою очередь с этим именем, добавочные числа (1,2,3,... n) прилагаются.

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

Когда код генерируется для подсистемы верхнего уровня A, makehdl работает с самого глубокого уровня иерархии модели, генерируя уникальные имена сущностей для каждой подсистемы.

makehdl('mapping_file_triple_nested_subsys/A')
### Working on mapping_file_triple_nested_subsys/A/A/A as A_entity1.vhd
### Working on mapping_file_triple_nested_subsys/A/A as A_entity2.vhd
### Working on mapping_file_triple_nested_subsys/A as A.vhd

### HDL Code Generation Complete.

В следующем примере приводится содержимое результирующего файла отображения.

mapping_file_triple_nested_subsys/A/A/A --> A_entity1
mapping_file_triple_nested_subsys/A/A --> A_entity2
mapping_file_triple_nested_subsys/A --> A

Учитывая эту информацию, можно проследить сгенерированную сущность назад в ее соответствующую подсистему при помощи open_system команда, для примера:

open_system('mapping_file_triple_nested_subsys/A/A')

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

-- Module: A_entity2
-- Simulink Path: mapping_file_triple_nested_subsys/A
-- Hierarchy Level: 0