主要内容

importhdl

进口Verilog代码和生成万博1manbetx模型

自从R2018b

描述

importhdl进口和解析指定的Verilog®文件生成相应的仿真软件万博1manbetx®模型。

例子

importhdl (文件名)进口指定的Verilog文件并生成相应的仿真软件模型,而不直接用于去除无关的组件输出。万博1manbetx

例子

importhdl (文件名,名称,值)进口指定的Verilog文件并生成相应的仿真软件模型,而不直接用于去除无关的组件输出,与选项指定一个或多个参数名称-值对。万博1manbetx

例子

全部折叠

这个例子展示了如何导入一个文件包含Verilog代码并生成相应的仿真软件™模型。万博1manbetx

指定输入Verilog文件

确保输入HDL文件不包含任何语法错误,synthesizable,使用构造由高密度脂蛋白导入。万博1manbetx这个例子显示了一个comparator的Verilog代码。

编辑(“comparator.v”)

Verilog文件导入

进口高密度脂蛋白文件并生成仿真软件™模型,通过文件名作为特征向量万博1manbetximporthdl函数。

importhdl (“comparator.v”)
# # #解析< a href = " matlab:编辑(comparator.v) " > comparator.v < / >。# # #高层模块的来源:“比较”。# # #确认ClkName::时钟。# # #确认RstName:: rst。# # # Hdl进口解析完成。# # #创建目标模型比较器# # #产生点布局……# # #开始布局……# # #工作层次上- - - >“比较”。# # #布局组件。# # #工作层次上- - - >“比较器/比较器”。 ### Laying out components. ### Applying Dot Layout... ### Drawing block edges... ### Applying Dot Layout... ### Drawing block edges... ### Setting the model parameters. ### Generated model as C:\Temp\examples\examples\hdlcoder-ex77699673\hdlimport\comparator\comparator.slx. ### HDL Import completed.

高密度脂蛋白进口解析输入文件并显示消息导入过程的MATLAB™命令窗口。导入生成的模型提供了一个链接™模型万博1manbetxcomparator.slx。生成的模型使用相同的名称作为顶级模块输入Verilog文件。

检查生成的仿真软件™模型万博1manbetx

打开生成的仿真软件™模型,选择链接。万博1manbetx模型保存在hdlimport /比较器相对于当前文件夹路径。你可以模拟模型,观察仿真结果。

目录“hdlimport /比较器”)open_system (“comparator.slx”)sim卡(“comparator.slx”)

这个例子展示了如何导入多个文件包含Verilog代码并生成相应的仿真软件™模型。万博1manbetx

指定输入Verilog文件

确保输入HDL文件不包含任何语法错误,synthesizable,使用构造由高密度脂蛋白导入。万博1manbetx例如,这个代码显示了三个Verilog文件使用模块实例化形成一个分层设计。一个模块example1.v实现了一个简单的顺序电路基于if - else条件。其他模块example2.v实现了一个简单的组合算术表达式。

编辑(“example1.v”)编辑(“example2.v”)

一个模块中包含的文件example.v两个模块的实例化example1.vexample2.v

编辑(“example.v”)

导入Verilog文件

进口高密度脂蛋白文件并生成仿真软件™模型,通过文件名作为单元阵列的特征向量万博1manbetximporthdl函数。默认情况下,高密度脂蛋白进口识别模块和时钟顶部包当解析输入文件。

importhdl ({“example.v”,“example1.v”,“example2.v”})
# # #解析< a href = " matlab:编辑(example.v) " > example.v < / >。# # #解析< a href = " matlab:编辑(example1.v) " > example1.v < / >。# # #解析< a href = " matlab:编辑(example2.v) " > example2.v < / >。# # #高层模块的来源:“例子”。# # #确认ClkName::时钟。# # # Hdl进口解析完成。# # # # # #创建目标模型例子生成点布局……# # #开始布局……# # #工作层次上- - - >“例子”。# # #布局组件。 ### Working on hierarchy at ---> 'example/example'. ### Laying out components. ### Working on hierarchy at ---> 'example/example/example1'. ### Laying out components. ### Applying Dot Layout... ### Drawing block edges... ### Working on hierarchy at ---> 'example/example/example2'. ### Laying out components. ### Applying Dot Layout... ### Drawing block edges... ### Applying Dot Layout... ### Drawing block edges... ### Applying Dot Layout... ### Drawing block edges... ### Setting the model parameters. ### Generated model as C:\Temp\examples\examples\hdlcoder-ex56732899\hdlimport\example\example.slx. ### HDL Import completed.

高密度脂蛋白进口解析输入文件并显示消息导入过程的MATLAB™命令窗口。导入生成的模型提供了一个链接™模型万博1manbetxexample.slx。生成的模型使用相同的名称作为顶级模块中包含输入Verilog文件example1.v

检查生成的仿真软件™模型万博1manbetx

打开生成的仿真软件™模型,选择链接。万博1manbetx模型保存在hdlimport /例子相对于当前文件夹路径。你可以模拟模型,观察仿真结果。

目录“hdlimport /例子”)open_system (“example.slx”)

为了避免除零,可以抑制警告之前诊断仿真。

万博1manbetxSimulink.suppressDiagnostic ({/ / example2 / Div示例的},“万博1manbetxSimulinkFixedPoint: util: fxpDivisionByZero”)sim卡(“例子”)

你可以看到子系统的层次结构实现Verilog代码使用模块实例化。

open_system (例子/例子/例二的)

open_system (/ / example2示例的)

这个例子展示了如何导入多个文件包含Verilog代码并生成相应的仿真软件™模型。万博1manbetx当你导入多个文件,如果你想使HDL代码或如果你的文件包含为特定于供应商的IPs HDL代码,您可以导入HDL代码作为一个黑盒模块使用importhdl函数。

指定输入Verilog文件

确保输入HDL文件不包含任何语法错误,synthesizable,使用构造由高密度脂蛋白导入。万博1manbetx例如,这个代码显示了三个Verilog文件使用模块实例化形成一个分层设计。一个模块sequentialexp.v实现了一个简单的顺序电路基于if - else条件。其他模块comditionalcomb.v实现了一个简单的组合算术表达式。

编辑(“conditionalcomb.v”)编辑(“sequentialexp.v”)编辑(“intelip.v”)

看到sequentialexp.v模块实例化一个英特尔®IP,实现一个单精度浮点加法器。

一个顶级模块包含在文件中blackboxtop.v两个模块的实例化conditionalcomb.vsequentialexp.v

编辑(“blackboxtop.v”)

导入Verilog文件

进口高密度脂蛋白文件并生成仿真软件™模型,通过文件名作为单元阵列的特征向量万博1manbetximporthdl函数。默认情况下,高密度脂蛋白进口识别模块和时钟顶部包当解析输入文件。

importhdl ({“blackboxtop.v”,“conditionalcomb.v”,“sequentialexp.v”,“intelip.v”},“topModule”,“高级”,“blackBoxModule”,“intelip”)
# # #解析< a href = " matlab:编辑(blackboxtop.v) " > blackboxtop.v < / >。# # #解析< a href = " matlab:编辑(conditionalcomb.v) " > conditionalcomb.v < / >。# # #解析< a href = " matlab:编辑(sequentialexp.v) " > sequentialexp.v < / >。# # #解析< a href = " matlab:编辑(intelip.v) " > intelip.v < / >。# # #高层模块的来源:“顶级”。# # #确认ClkName::时钟。# # # Hdl进口解析完成。# # #创建目标模型顶部# # #产生点布局……# # #开始布局……# # #工作层次上- - - >“高级”。 ### Laying out components. ### Working on hierarchy at ---> 'top/top'. ### Laying out components. ### Working on hierarchy at ---> 'top/top/u_comb'. ### Laying out components. ### Applying Dot Layout... ### Drawing block edges... ### Working on hierarchy at ---> 'top/top/u_seq'. ### Laying out components. ### Working on hierarchy at ---> 'top/top/u_seq/u_intelip'. ### Laying out components. ### Applying Dot Layout... ### Drawing block edges... ### Applying Dot Layout... ### Drawing block edges... ### Applying Dot Layout... ### Drawing block edges... ### Applying Dot Layout... ### Drawing block edges... ### Setting the model parameters. ### Generated model as C:\Temp\examples\examples\hdlcoder-ex63017378\hdlimport\top\top.slx. ### HDL Import completed.

高密度脂蛋白进口解析输入文件并显示消息导入过程的MATLAB™命令窗口。导入生成的模型提供了一个链接™模型万博1manbetxtop.slx。生成的模型使用相同的名称作为顶级模块中包含输入Verilog文件conditionalcomb.v

检查生成的仿真软件™模型万博1manbetx

打开生成的仿真软件™模型,选择链接。万博1manbetx模型保存在hdlimport /顶相对于当前文件夹路径。你可以模拟模型,观察仿真结果。

目录“hdlimport /最高”)open_system (“top.slx”)set_param (“高级”,“SimulationCommand”,“更新”)

为了避免除零,可以抑制警告之前诊断仿真。

万博1manbetxSimulink.suppressDiagnostic ({“高级/高级/ u_seq / Div”},“万博1manbetxSimulinkFixedPoint: util: fxpDivisionByZero”)sim卡(“高级”)

你可以看到子系统的层次结构实现Verilog代码使用模块实例化。

open_system (“高级/高级/ u_comb”)

如果你打开子系统实现时序电路,你可以打开u_intelip子系统的黑箱的实现。

open_system (“高级/高级/ u_seq”)

open_system (“高级/高级/ u_seq / u_intelip”)

这个例子展示了如何导入Verilog代码包含这些操作符并生成相应的仿真软件™模型:万博1manbetx

  • 算术

  • 逻辑

  • XOR

  • 有条件的

  • 关系

  • 连接

指定输入Verilog文件

确保输入HDL文件不包含任何语法错误,synthesizable,使用结构的各种操作符。例如,这个Verilog代码显示了不同的运营商。

编辑(“VerilogOperators.v”)

Verilog文件导入

进口高密度脂蛋白文件并生成仿真软件™模型,通过文件名作为特征向量万博1manbetximporthdl函数。

importhdl (“VerilogOperators.v”)
# # #解析< a href = " matlab:编辑(VerilogOperators.v) " > VerilogOperators.v < / >。# # #高层模块的来源:“VerilogOperators”。# # # Hdl进口解析完成。创建目标模型VerilogOperators # # # # # #产生点布局……# # #开始布局……# # #工作层次上- - - >“VerilogOperators”。# # #布局组件。# # #工作层次上- - - >“VerilogOperators / VerilogOperators”。# # #布局组件。# # #应用点布局…… ### Drawing block edges... ### Applying Dot Layout... ### Drawing block edges... ### Generated model as C:\Temp\examples\examples\hdlcoder-ex29847655\hdlimport\VerilogOperators\VerilogOperators.slx. ### HDL Import completed.

高密度脂蛋白进口解析输入文件并显示消息导入过程的MATLAB™命令窗口。导入生成的模型提供了一个链接™模型万博1manbetxVerilogOperators.slx。生成的模型使用相同的名称作为顶级模块输入Verilog文件。

检查生成的仿真软件™模型万博1manbetx

打开生成的仿真软件™模型,选择链接。万博1manbetx模型保存在hdlimport / VerilogOperators相对于当前文件夹路径。你可以模拟模型,观察仿真结果。

目录“hdlimport / VerilogOperators”)open_system (“VerilogOperators.slx”)sim卡(“VerilogOperators.slx”)

这个例子展示了如何导入多个文件包含Verilog代码执行隐式数据类型转换和生成相应的仿真软件™模型。万博1manbetx高密度脂蛋白进口可以执行隐式数据类型转换等算术运算、数据类型转换,选择,和连接。

指定输入Verilog文件

确保输入HDL文件不包含任何语法错误,synthesizable,使用构造由高密度脂蛋白导入。万博1manbetx例如,这个代码显示了三个Verilog文件使用模块实例化形成一个分层设计。的模块NG1_implicit.vround_const.v执行隐式数据类型转换。

编辑(“NG1_implicit.v”)编辑(“round_constant.v”)

一个模块中包含的文件example.v两个模块的实例化NG1_implicit.vround_constant.v

编辑(“implicit_top.v”)

导入Verilog文件

进口高密度脂蛋白文件并生成仿真软件™模型,通过文件名作为单元阵列的特征向量万博1manbetximporthdl函数。默认情况下,高密度脂蛋白进口标识模块解析输入文件的顶部。

importhdl ({“implicit_top.v”,“NG1_implicit.v”,“round_constant.v”})
# # #解析< a href = " matlab:编辑(implicit_top.v) " > implicit_top.v < / >。# # #解析< a href = " matlab:编辑(NG1_implicit.v) " > NG1_implicit.v < / >。# # #解析< a href = " matlab:编辑(round_constant.v) " > round_constant.v < / >。# # #高层模块名称:“顶级”。警告:未使用的输入端口的“我”“rconst”模块。# # # Hdl进口解析完成。# # #创建目标模型顶部# # #产生点布局……# # #开始布局……# # #工作层次上- - - >“高级”。# # #布局组件。 ### Working on hierarchy at ---> 'top/top'. ### Laying out components. ### Working on hierarchy at ---> 'top/top/NG1'. ### Laying out components. Configurable Subsystem block 'simulink/Ports & Subsystems/Configurable Subsystem' must be converted to a Variant Subsystem block. Variant subsystems offers enhanced capabilities while maintaining equivalant functionality. Support of Configurable Subsystem will be removed in a future release. ### Applying Dot Layout... ### Drawing block edges... ### Working on hierarchy at ---> 'top/top/rconst'. ### Laying out components. ### Applying Dot Layout... ### Drawing block edges... ### Applying Dot Layout... ### Drawing block edges... ### Applying Dot Layout... ### Drawing block edges... ### Generated model file C:\TEMP\Examples\hdlcoder-ex12503110\hdlimport\top\top.slx. ### Importhdl completed.

高密度脂蛋白进口解析输入文件并显示消息导入过程的MATLAB™命令窗口。导入生成的模型提供了一个链接™模型万博1manbetximplicit_top.slx。生成的模型使用相同的名称作为顶级模块中包含输入Verilog文件implicit_top.v

检查生成的仿真软件™模型万博1manbetx

打开生成的仿真软件™模型,选择链接。万博1manbetx模型保存在hdlimport /例子相对于当前文件夹路径。你可以模拟模型,观察仿真结果。

目录“hdlimport /最高”);open_system (“top.slx”)

rconst子系统,其中一个输入端口是无关的。是一种很好的做法,以避免无端接的输出通过添加一个终结者。

addterms (“高级”);sim卡(“高级”);

你可以看到子系统的层次结构实现Verilog代码使用模块实例化。

open_system (“高级/高级/ NG1”)

open_system (“高级/高级/ rconst”)

这个例子展示了如何导入一个文件包含Verilog代码和推断出内存块在仿真软件™模型生成。万博1manbetx可以导入Verilog代码推断中的各种公羊的图书馆包括高密度脂蛋白HDL公羊。基于RAM系统对象块和块公羊。

指定输入Verilog文件

确保输入HDL文件不包含任何语法错误,synthesizable,使用构造由高密度脂蛋白导入。万博1manbetx这个例子显示了Verilog代码。

编辑(“simple_dual_port_ram.v”)

Verilog文件导入

进口高密度脂蛋白文件并生成仿真软件™模型,通过文件名作为特征向量万博1manbetximporthdl函数。

importhdl (“simple_dual_port_ram.v”)
# # #解析< a href = " matlab:编辑(simple_dual_port_ram.v) " > simple_dual_port_ram.v < / >。# # #高层模块名称:“SimpleDualPortRAM”。# # #确认ClkName::时钟。# # # Hdl进口解析完成。创建目标模型SimpleDualPortRAM # # # # # #产生点布局……# # #开始布局……# # #工作层次上- - - >“SimpleDualPortRAM”。# # #布局组件。# # #工作层次上- - - >“SimpleDualPortRAM / SimpleDualPortRAM”。# # #布局组件。 Configurable Subsystem block 'simulink/Ports & Subsystems/Configurable Subsystem' must be converted to a Variant Subsystem block. Variant subsystems offers enhanced capabilities while maintaining equivalant functionality. Support of Configurable Subsystem will be removed in a future release. ### Applying Dot Layout... ### Drawing block edges... ### Applying Dot Layout... ### Drawing block edges... ### Setting model parameters. ### Generated model file C:\TEMP\Examples\hdlcoder-ex67646187\hdlimport\SimpleDualPortRAM\SimpleDualPortRAM.slx. ### Importhdl completed.

高密度脂蛋白进口解析输入文件并显示消息导入过程的MATLAB™命令窗口。导入生成的模型提供了一个链接™模型万博1manbetxSimpleDualPortRAM.slx。生成的模型使用相同的名称作为顶级模块输入Verilog文件。

检查生成的仿真软件™模型万博1manbetx

打开生成的仿真软件™模型,选择链接。万博1manbetx模型保存在hdlimport / SimpleDualPortRAM相对于当前文件夹路径。你可以模拟模型,观察仿真结果。

目录“hdlimport / SimpleDualPortRAM”);open_system (“SimpleDualPortRAM.slx”);sim卡(“SimpleDualPortRAM.slx”);

如果你浏览模式,你会看到简单的双端口RAM。

open_system (“SimpleDualPortRAM / SimpleDualPortRAM”)

输入参数

全部折叠

高密度脂蛋白的名字文件导入仿真软件模型的生成。万博1manbetx默认情况下,importhdlVerilog进口文件。进口:

  • 一个高密度脂蛋白文件,文件名指定为一个特征向量。

  • 多个HDL文件,指定文件名的单元阵列特征向量。

  • 高密度脂蛋白所有文件在一个文件夹,文件夹名称指定为一个特征向量。

  • 多个文件和文件夹的文件夹和组合,指定为单元阵列的特征向量。您还可以使用包含递归文件夹的子文件夹。

例子:importhdl(示例)指定的Verilog进口文件。如果例子是一个文件夹在当前工作目录中,高密度脂蛋白进口解析子文件夹吗例子和模块实例化内部的子文件夹,然后生成一个仿真软件模型万博1manbetx。v文件。如果importhdl找不到文件夹的名字例子MATLAB,它搜索®高密度脂蛋白文件路径名称例子

例子:importhdl ({‘top.v’,‘subsystem1.v’,‘subsystem2.v})指定的Verilog进口文件,并生成相应的仿真软件模型。万博1manbetx

例子:importhdl (pwd)进口Verilog所有文件在当前文件夹并生成相应的仿真软件模型。万博1manbetx

例子:importhdl(根/例子/ hdlsrc)进口Verilog所有文件在指定的路径和生成相应的仿真软件模型。万博1manbetx您可以指定一个相对或绝对路径。

例子:importhdl(文件夹)进口指定文件夹下的所有Verilog文件并生成相应的仿真软件模型。万博1manbetx默认情况下,importhdl解析包含递归文件夹的子文件夹。

名称-值参数

指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

例子:importhdl(根/例子/ hdlsrc)进口Verilog所有文件在指定的路径和生成相应的仿真软件模型。万博1manbetx您可以指定一个相对或绝对路径。

语言的输入源文件包含HDL代码,指定为一个特征向量。如果你指定一个硬件描述语言(VHDL)®文件,高密度脂蛋白导入生成一个错误。

例子:importhdl (“fifo.v”、“语言”、“Verilog”)进口Verilog文件fifo.v并生成相应的仿真软件模型万博1manbetxfifo.slx

顶级HDL代码模块名称,指定为一个特征向量。这个名字成为顶级的名称子系统高密度脂蛋白的进口结构子系统的层次结构生成的仿真软件模型。万博1manbetx如果输入HDL文件包含多个模块,指定要使用的顶级模块生成仿真软件模型通过使用万博1manbetxTopModule财产。

例子:importhdl (“full_adder.v”、“TopModule”、“two_half_adders”)进口Verilog文件full_adder.v并生成相应的仿真软件模型万博1manbetxfull_adder.slxtwo_half_adders作为顶级子系统。

的名字时钟、复位和时钟使信号时序电路,指定为一个单元阵列的特征向量。时钟束信号的默认名称是:

  • 时钟信号,clk,时钟

  • 复位信号,rst,重置

  • 时钟启动信号,clk_enb,clk_en,clk_enable,enb,启用

如果你不指定时钟包信息,高密度脂蛋白导入使用默认值。解析输入文件时,如果HDL进口标识一个钟的名字不同于时钟指定的名称ClockBundle,导入生成一个错误。

例子:importhdl (‘example.v’,‘clockBundle’, {‘clk’,‘rst’,‘clk_enb})进口Verilog文件example.v与指定的时钟包信息。

输入文件名称或名称的模块Verilog进口黑箱子系统生成的仿真软件模型。万博1manbetx的子系统块,进口是黑箱使用您提供的输入和输出端口模块的定义。在子系统内部,输入端口连接《终结者》块,常数块的价值连接到输出端口。使用此功能导入特定于供应商的IPs黑箱模型子系统。

例子:importhdl ({example.v, example1.v”、“example2.v”、“xilinxIP.v},‘topModule’,‘前’,‘blackBoxModule’,‘xilinxIP’)进口指定的Verilog文件xilinxIP作为一个黑盒模块。中相应的子系统仿真软件模型的输入端口连接到终结者阻塞和持续恒定值的零连万博1manbetx接到输出端口。

自动安排在运行生成的仿真软件模型万博1manbetximporthdl。默认情况下,autoPlaceimporthdl然后使用万博1manbetxSimulink.BlockDiagram.arrangeSystem提高模型的布局重新调整,调整,和移动块,矫直线信号。

例子:importhdl (“example.v”、“autoPlace”,“上”)进口Verilog文件example.v并生成仿真软件模型与一个增强模型的布万博1manbetx局。

限制

importhdl不支持功能万博1manbetxMac平台。

版本历史

介绍了R2018b