主要内容

生成子系统的黑匣子接口

什么是黑匣子接口?

一个黑盒子系统的接口是一个生成的VHDL®组件或Verilog®模块,该模块仅包含子系统的HDL输入和输出端口定义。通过生成这样的组件,您可以在模型中使用一个子系统来生成现有手工编写的HDL代码、第三方IP或由HDL Coder™生成的其他代码的接口。

需求

  • 黑盒实现仅对低于DUT级别的子系统块可用。低于DUT级别的自定义库的虚拟和原子子系统块也可以使用黑盒实现。

  • 您最多可以为黑匣子子系统生成一个时钟端口和一个时钟启用端口。因此,即使在多速率DUT中,黑匣子子系统也必须是单速率的。

为子系统生成黑匣子接口

要生成接口,请选择黑箱实现一个或多个子系统块。考虑以下包含子系统的模型,这是正在测试的设备。

子系统包含两个低层子系统:

假设您想要生成HDL代码的黑盒接口接口子系统。指定黑匣子接口。

  1. 右键单击接口子系统和选择HDL代码>高密度脂蛋白块属性

    出现“HDL属性”对话框。

  2. 体系结构黑箱

    以下参数可用于黑盒实现:

    可用于黑盒实现的HDL块参数使您能够自定义生成的接口。看到定制黑匣子或HDL协同仿真接口有关这些参数的信息。

  3. 根据需要更改参数,然后单击应用

  4. 点击好吧关闭“HDL属性”对话框。

为黑盒子系统实现生成代码

中为DUT生成代码时ex_blackbox_subsys模型时,会出现以下消息:

>> makehdl('ex_blackbox_subsys/top') ### #为'ex_blackbox_subsys/top'生成HDL ### #启动HDL检查### HDL Check完成0个错误,0个警告和0个消息。###在ex_blackbox_subsys/top/gencode上作为hdlsrc\gencode工作。vhd ###在ex_blackbox_subsys/top上使用hdlsrc\top。vhd代码生成完成。

在进度消息中,观察gencode子系统生成一个单独的文件,gencode.vhd,用于VHDL实体定义。的接口子系统不会生成这样的文件。这个子系统的接口代码在top.vhd,生成的ex_blackbox_subsys /顶.的组件定义和实例化接口子系统。

组件接口端口(clk: IN std_logic;clk_enable: IN std_logic;reset: IN std_logic;In1: IN std_logic_vector(7 DOWNTO 0);——uint8 In2: IN std_logic_vector(15 DOWNTO 0);——uint8 In2: IN std_logic_vector(15 DOWNTO 0);——uint16 In3: IN std_logic_vector(31 DOWNTO 0);——uint32 Out1: OUT std_logic_vector(31 DOWNTO 0)——uint32);结束组件;...u_Interface: Interface PORT MAP(clk => clk, clk_enable => enb, reset => reset, In1 => gencode_out1,——uint8 In2 => gencode_out2,——uint16 In3 => gencode_out3,——uint32 Out1 => Interface_out1——uint32); enb <= clk_enable; ce_out <= enb; Out1 <= Interface_out1;

缺省情况下,子系统生成的黑匣子接口包括clock、clock enable和reset ports。定制黑匣子或HDL协同仿真接口描述如何重命名或禁止生成这些信号,以及自定义生成的接口的其他方面。

相关的话题