Можно следовать этим руководствам в качестве рекомендуемых методов моделирования, таких как проверка того, что выходы блоков прекращены, и то, как можно закомментировать блоки для генерации HDL-кода.
Каждое руководство имеет уровень серьезности, который указывает на уровень податливостей. Для получения дополнительной информации см. HDL-руководства по моделированию уровней серьезности.
Идентификатор руководства
1.1.9
Серьезность
Обязательный
Описание
Если вы генерируете HDL-код для Подсистемы, которая имеет несвязанные выходные порты, HDL- Coder™ генерирует ошибку. Для выходных портов, которые не подключены к нисходящей логике, соедините их с блоком.
Эта модель иллюстрирует DUT0
Подсистема, которая имеет несвязанный выходной порт Out2
.
open_system('hdlcoder_terminateout')
Если вы генерируете HDL-код для этой Подсистемы, HDL- Coder™ генерирует эту ошибку:
error in validation model generation: Failed to find source for outport 2 on 'DUT0' Please create a fully connected subsystem when generating the cosimulation model
.
close_system('hdlcoder_terminateout')
Можно использовать addterms
функция для добавления блоков Terminator к несвязанным портам в вашей модели.
load_system('hdlcoder_terminateout') addterms('hdlcoder_terminateout') open_system('hdlcoder_terminateout')
Идентификатор руководства
1.1.10
Серьезность
Информативный
Описание
Чтобы исключить блоки в модели из симуляции, не удаляя блоки из модели физически, используйте Comment Out или Comment Through. Когда вы используете Comment Out, сигналы завершаются и заземляются. Когда вы используете Comment Through, сигналы передаются.
Когда вы генерируете HDL-код, можно использовать эту возможность, чтобы исключить определенные блоки, такие как блоки, которые не поддерживаются для генерации HDL-кода.
Откройте модель hdlcoder_comment_through_out
.
open_system('hdlcoder_comment_through_out')
Генератор кода поддерживает блоки, которые комментируются, когда выходные сигналы не используются. Сгенерированный код присваивает постоянное значение 0
к сигналу на выходе. The Dut_CommentOut
подсистема содержит блоки с комментариями.
open_system('hdlcoder_comment_through_out/DUT_CommentOut/Generated_CommentOut')
Когда вы генерируете код, этот VHDL код сгенерирован для DUT_CommentOut
подсистема указывает постоянное нулевое значение, присвоенное Out1
.
ARCHITECTURE rtl OF Generated IS
-- Signals SIGNAL TmpGroundAtData_Type_DuplicateInport1_out1 : signed(15 DOWNTO 0); -- sfix16_En6
BEGIN -- Unsupported Block
TmpGroundAtData_Type_DuplicateInport1_out1 <= to_signed(16#0000#, 16);
Out1 <= std_logic_vector(TmpGroundAtData_Type_DuplicateInport1_out1);
END rtl;
Генератор кода поддерживает блоки, через которые проходят комментарии. Сгенерированный код передает входной сигнал на выход. The Dut_CommentThrough
подсистема содержит блоки с комментариями.
open_system('hdlcoder_comment_through_out/DUT_CommentThrough/Generated_CommentThrough')
Когда вы генерируете код для Dut_CommentThrough
подсистема, код VHDL показывает In1
прошел через к Out1
.
ARCHITECTURE rtl OF Generated_CommentThrough IS
BEGIN -- Unsupported Block
Out1 <= In1;
END rtl;