从模型或子系统生成HDL测试台
生成VHDL.®一个子系统的DUT和测试台。
使用makehdl
为子系统生成VHDL代码symmetric_fir
.
makehdl('sfir_fixed / symmetric_fir')
###为'sfir_fixed/symmetric_fir'生成HDL。###启动HDL检查。### HDL检查'sfir_fixed',包含0个错误,0个警告和0个消息。###开始VHDL代码生成'sfir_fixed'。###在hdlsrc\sfir_fixed\symmetric_fir上工作。vhd ### HDL代码生成完成。
后makehdl
完成后,使用makehdltb
为相同的子系统生成VHDL测试台。
makehdltb ('sfir_fixed / symmetric_fir')
###开始生成测试台为“sfir固定/对称fir”生成HDL测试台开始模拟模型“gm_sfir_fixed”…###收集数据…####生成测试台:hdlsrc\sfir\u固定\对称\u fir\u tb.vhd####创建刺激向量…##HDL测试台生成完成。
hdlsrc
文件夹。
生成Verilog.®一个子系统的DUT和测试台。
使用makehdl
为子系统生成Verilog代码symmetric_fir
.
makehdl('sfir_fixed / symmetric_fir',“目标语言”,“Verilog”)
###正在为“sfir固定/对称fir”生成HDL。#####开始HDL检查。####为“sfir固定/对称fir”生成HDL检查,完成0个错误、0个警告和0条消息。####开始为“sfir固定/对称fir”生成Verilog代码。###将sfir固定/对称fir作为hdlsrc\sfir固定/对称fir.v生成完成。
后makehdl
完成后,使用makehdltb
为同一子系统生成Verilog测试替补。
makehdltb ('sfir_fixed / symmetric_fir',“目标语言”,“Verilog”)
###开始生成TestBench。###为'sfir_fixed/symmetric_fir'生成HDL TestBench。###开始模拟模型'gm_sfir_fixed'…# # #收集数据……###生成测试台:hdlsrc\sfir_fixed\symmetric_fir_tb。v ###创建刺激向量…### HDL TestBench生成完成。
hdlsrc \ sfir_fixed
文件夹。
为子系统生成SystemVerilog DPI测试台。
如果生成或模拟默认HDL测试台需要很长时间,请考虑此选项。DPI测试台的生成可能比默认版本更快,因为它不运行Simulink金宝app®模拟创建测试台数据。使用大数据集的DPI测试台的模拟比默认版本更快,因为它不会在单独的文件中存储输入或预期数据。有关使用此功能的要求,请参阅生成vdpitestbench.
财产。
使用makehdl
为子系统生成Verilog代码symmetric_fir
.
makehdl('sfir_fixed / symmetric_fir',“目标语言”,“Verilog”)
###正在为“sfir固定/对称fir”生成HDL。#####开始HDL检查。####为“sfir固定/对称fir”生成HDL检查,完成0个错误、0个警告和0条消息。####开始为“sfir固定/对称fir”生成Verilog代码。###将sfir固定/对称fir作为hdlsrc\sfir固定/对称fir.v生成完成。
在代码生成之后,使用makehdltb
为相同的子系统生成测试台。指定您的HDL模拟器,以便编码器可以生成脚本来构建和运行生成的SystemVerilog和C代码。禁用生成默认测试台。
makehdltb ('sfir_fixed / symmetric_fir',“目标语言”,“Verilog”,......'生成vdpitestbench','modelsim',“GenerateHDLTestBench”,'离开')
###开始使用SystemVerilog DPI testbench检查模型兼容性### #完成使用SystemVerilog DPI testbench检查模型兼容性### ##### ## Starting SystemVerilog DPI Component Generation ### ## generate DPI H Wrapper gm_sfir_fixed_ref_dpi. H ### ### # generate DPI C Wrapper gm_sfir_fixed_ref_dpi. C ### ### ##生成SystemVerilog模块gm_sfir_fixed_ref_dpi. C ### ###C:\matlab\toolbox\hdlverifier\dpigenerator\rtw\hdlverifier_dpitb_template. txt文件。### ###在symmetric_fir_dpi_tb上工作,作为hdlsrc\sfir_fixed\symmetric_fir_dpi_tb.sv. vgt ### ##使用make来构建DPI共享库###为ModelSim/QuestaSim生成SystemVerilog DPI仿真脚本### HDL TestBench生成完成。
hdlsrc \ sfir_fixed
文件夹。
dut
—DUT子系统或模型引用名称DUT子系统或模型引用名,指定为字符向量,具有完整的分层路径。
例子:'modelname / subsystarget'
例子:'modelname/subsysA/subsysB/subsysTarget'
指定可选的逗号分隔的字符对名称,值
参数。姓名
是参数名和价值
为对应值。姓名
必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家
.
'targetlanguage','Verilog'
“GenerateHDLTestBench”
—生成HDL测试台“开”
(默认)|'离开'
编码器通过运行Simulink模拟来捕获DUT的输入向量和预期输出数据,从而生成HDL测试台。有关详细金宝app信息,请参阅高密度脂蛋白试验台.
'生成vdpitestbench'
—生成SystemVerilog DPI测试台“没有”
(默认)|'modelsim'
|'尖锐'
|“风投”
|“Vivado模拟器”
当您设置此属性时,编码器将为您的整个Simulink模型(包括DUT和数据源)生成一个直接编程接口(DPI)组件。金宝app您的整个模型必须支持C代码生成金宝app金宝app仿真软件编码器™.编码器生成一个SystemVerilog测试台,该测试台将DPI组件的输出与DUT的HDL实现的输出进行比较。编码器还构建共享库,并为您选择的模拟器生成模拟脚本。
如果默认HDL测试台需要很长时间才能生成或模拟,请考虑使用此选项。DPI测试台的生成有时比默认版本快,因为它没有运行完整的Simulink模拟来创建测试台数据。使用大数据集模拟DPI测试台比默认版本更快,因为它不会将输入或预期数据存储在单独的文件中。有关示例,请参见金宝app生成SystemVerilog DPI测试台.
要使用此功能,必须具有HDL Verifier™和金宝appSimulink编码器执照。要使用生成的VHDL代码运行SystemVerilog测试台,您必须拥有HDL模拟器的混合语言模拟许可证。
限制
当您为顶级Simulink模型生成HDL代码时金宝app,不支持此测试台。金宝app您的DUT子系统必须符合以下条件:
DUT的输入和输出数据类型不能大于64位。
DUT的输入和输出端口不能使用枚举数据类型。
输入和输出端口不能是单精度或双精度数据类型。
DUT不能有多个时钟。你必须设置时钟输入代码生成选项单
.
使用触发信号作为时钟不能被选中。
如果DUT使用向量端口,则必须使用Scalarize向量港口平整界面。
“GenerateCoSimBlock”
—生成HDL协同仿真块'离开'
(默认)|“开”
生成一个高密度脂蛋白Cosimulation块,因此您可以使用HDL模拟器模拟Simulink中的DUT。金宝app
有关更多信息,请参见Cosimulation模型.
“GenerateCoSimModel”
—生成HDL协同仿真模型'modelsim'
(默认)|'尖锐'
|'没有任何'
生成包含高密度脂蛋白Cosimulation指定的HDL模拟器的块。
有关更多信息,请参见Cosimulation模型.
“HDLCO去平均值”
—在生成的测试台上启用代码覆盖率'离开'
(默认)|“开”
在生成的构建并运行脚本中包括代码覆盖开关。这些开关打开生成的测试台的代码覆盖率。中指定您的HDL模拟器仿真机
财产。编码器为您指定的模拟器生成构建和运行脚本。
有关更多信息,请参见HDL代码覆盖范围.
“模拟工具”
—HDL模拟器,您将在其中运行生成的测试台'modelsim'
(默认)|'尖锐'
|“风投”
|'vivado'
|“自定义”
此属性适用于生成的测试台。“风投”
和'vivado'
仅Sys金宝apptemVerilog DPI测试台支持。当您选择“自定义”
,该工具使用自定义脚本设置。请参阅“脚本生成”属性。
有关更多信息,请参见仿真工具.
“ForceClock”
—强制时钟输入“开”
(默认)|'离开'
指定生成的测试台驱动时钟启用输入ClockLowTime
和钟声
.
有关更多信息,请参见强制时钟.
“ClockHighTime”
—时钟很高的时间时钟周期内的时钟高位时间,以纳秒为单位。
有关更多信息,请参见时钟高时间(NS).
“ClockLowTime”
—时钟低时间在一个时钟周期内的时钟低时间,以纳秒为单位。
有关更多信息,请参见时钟低位时间(ns).
“ForceClockEnable”
—强制时钟使能输入“开”
(默认)|'离开'
指定生成的测试台驱动时钟启用输入。
有关更多信息,请参见力时钟使.
“TestBenchClockEnableDelay”
—时钟周期之间的重置和时钟使能从复位断言到时钟使能断言之间的时钟周期数,指定为正整数。
有关更多信息,请参见时钟启用延迟(在时钟周期中)
“ForceReset”
—强制复位输入“开”
(默认)|'离开'
指定生成的测试台驱动重置输入。
有关更多信息,请参见力重置.
“ResetLength”
—重置断言时间长度断言重置的时间长度,指定为时钟周期数。
有关更多信息,请参见重置长度(在时钟周期中).
“HoldInputDataBetweenSamples”
—保持信号的有效数据“开”
(默认)|'离开'
在样本之间持有有效数据,用于以较慢的速率计时的信号。
有关更多信息,请参见保存样本之间的输入数据.
“等待时间”
—输入和强制复位保持时间输入和强制复位保持时间,以纳秒为单位。
有关更多信息,请参见保持时间(ns).
“IgnoreDataChecking”
—时钟启用后检查输出数据之前的等待时间时钟启用后的时间断言在开始输出数据检查之前,在样本数量中指定。
有关更多信息,请参见忽略输出数据检查(样本数).
“InitializeTestBenchInputs”
—初始化测试台输入'离开'
(默认)|“开”
将测试台初始化为零。有关更多信息,请参见初始化测试台输入.
“TestBenchDataPostFix”
—测试台数据文件名的后缀“_data”
(默认)|字符向量测试台阶数据文件名称的后缀,指定为字符向量。
有关更多信息,请参见测试台数据文件名称后缀.
“TestBenchPostFix”
—测试台名称的后缀“_tb”
(默认)|字符向量测试台名称的后缀,指定为字符向量。
有关更多信息,请参见测试台名称后缀.
“TestBenchReferencePostFix”
—测试台面参考信号的Postfix“\u ref”
(默认)|字符向量测试台面参考信号名称的Postfix,指定为字符向量。
有关更多信息,请参见测试台参考后缀.
'multifiletestbench'
—生成多个testbench文件'离开'
(默认)|“开”
将生成的测试台划分为辅助功能,数据和HDL测试台文件。
有关更多信息,请参见多文件测试台.
'umerfileiointestbench'
—使用文件I/O读取/写入测试台数据“开”
(默认)|'离开'
有关更多信息,请参见使用文件I/O读取/写入测试台数据.
'fptolancestratey'
—浮点容错策略“亲戚”
(默认)|“ulp”
基于相对误差或ULP的浮点公差检查。有关更多信息,请参见基于dsp的浮点容差校验.
“FPToleranceValue”
—浮点容错策略“亲戚”
(默认)|“ulp”
的浮点公差值Fptolancestrategy
指定。有关更多信息,请参见容忍价值.
“ClockInputs”
—单个或多个时钟输入“单一”
(默认)|“多”
在HDL代码中指定是生成单个时钟输入还是多个时钟输入。有关更多信息,请参见时钟输入.
'resetassertedlevel'
—断言(激活)重置级别高电平的
(默认)|“校验”
指定是否对复位输入信号使用active-high或active-low断言电平。有关更多信息,请参见重置断言级别.
'clockenableInputport'
—时钟启用输入端口名称'clk_enable'
(默认)|字符向量将时钟启用输入端口名称指定为字符向量。有关详细信息,请参阅时钟启用输入端口.
'clockenableoutputport'
—时钟使能输出端口名称“切出”
(默认)|字符向量时钟启用输出端口名称,指定为字符向量。
有关更多信息,请参见时钟启用输出端口.
'clockinputport'
—时钟输入端口名“时钟”
(默认)|字符向量将时钟输入端口名称指定为字符向量。有关更多信息,请参见时钟输入端口.
“ResetInputPort”
—重置输入端口名“重置”
(默认)|字符向量重置输入端口名,指定为字符向量。
有关更多信息,请参见重置输入端口.
'Verilogfileextension'
—Verilog文件扩展名“.v”
(默认)|字符向量指定生成的Verilog文件的文件名扩展名。有关更多信息,请参见Verilog文件扩展名.
“VHDLFileExtension”
—VHDL文件扩展名'.vhd'
(默认)|字符向量指定生成的VHDL文件的文件扩展名。有关更多信息,请参见VHDL文件扩展名.
'vhdlarchitecturename'
—VHDL体系结构名称rtl的
(默认)|字符向量有关更多信息,请参见VHDL体系结构名称.
'vhdllibraryname'
—VHDL库名称‘工作’
(默认)|字符向量有关更多信息,请参见VHDL库名称.
“SplitEntityFilePostfix”
—VHDL实体文件名的Postfix"实体"
(默认)|字符向量有关更多信息,请参见分割实体文件后缀.
'stintarchfilepostfix'
—VHDL架构文件名的后缀'_拱'
(默认)|字符向量有关更多信息,请参见分割拱形文件后缀.
“PackagePostfix”
—包文件名的后缀'_pkg'
(默认)|字符向量将包文件名的Postfix指定为字符向量。有关更多信息,请参见包后缀.
“后缀”
—虚拟信号的虚构部分的后缀“_im”
(默认)|字符向量有关更多信息,请参见复虚部后缀在复杂信号Postfix参数.
“ComplexRealPostfix”
—复数信号名称虚部的后缀'_关于'
(默认)|字符向量有关更多信息,请参见复杂的真实部分Postfix在复杂信号Postfix参数.
“EnablePrefix”
—内部启用信号的前缀' enb '
(默认)|字符向量内部时钟启用和控制流启用信号的前缀,指定为字符向量。有关详细信息,请参阅时钟启用设置和参数.
'splitentityarch'
—将VHDL实体和体系结构拆分为单独的文件'离开'
(默认)|“开”
有关更多信息,请参见实体和体系结构的分离.
“UseVerilogTimescale”
—产生“时间尺度
编译器指令“开”
(默认)|'离开'
有关更多信息,请参见使用Verilog的时间尺度指令.
“DateComment”
—包括标题中的时间戳“开”
(默认)|'离开'
有关更多信息,请参见在标题中发出时间/日期戳在RTL注释参数.
'inlineconfigurations'
—包括VHDL配置“开”
(默认)|'离开'
有关更多信息,请参见嵌入式硬件描述语言(VHDL)配置.
“ScalarizePorts”
—将矢量端口Flatten成标量端口'离开'
(默认)|“开”
|'utlevel'
有关更多信息,请参见Scalarize港口.
'hdlcompileinit'
—编译脚本初始化文本'vlib%s\n'
(默认)|字符向量有关更多信息,请参见编译初始化.
“HDLCompileTerm”
—编译脚本终止文本''
(默认)|字符向量有关更多信息,请参见编译终止.
'hdlcompilefilepostfix'
—编译脚本文件名的后缀“_compile.do”
(默认)|字符向量有关更多信息,请参见编译文件后缀.
'hdlcompileverilogcmd'
—Verilog Compilation命令'虚拟日志%s%s\n'
(默认)|字符向量Verilog编译命令,指定为字符向量。的SimulatorFlags
名称 - 值对指定第一个参数,模块名称指定第二个参数。
有关更多信息,请参见编译Verilog命令.
'hdlcompilevhdlcmd'
—硬件描述语言(VHDL)编译命令'vcom%s%s \ n'
(默认)|字符向量VHDL编译命令,指定为字符向量。的SimulatorFlags
名称-值对指定第一个参数,实体名称指定第二个参数。
有关更多信息,请参见为VHDL编译命令.
'hdlsimcmd'
—高密度脂蛋白仿真命令“vsim -voptargs = + acc % s % s \ n '
(默认)|字符向量该HDL仿真命令,指定为字符向量。
有关更多信息,请参见模拟命令.
“HDLSimInit”
—HDL模拟脚本初始化名称['onbreak resume\n','onerror resume\n']
(默认)|字符向量HDL模拟脚本的初始化,指定为字符向量。
有关更多信息,请参见仿真初始化.
“HDLSimTerm”
—HDL仿真脚本终止名称“——运行”
(默认)|字符向量HDL仿真命令的终止名称指定为字符向量。
有关更多信息,请参见仿真终止.
“HDLSimFilePostfix”
—HDL仿真脚本的后记“"模拟做"
(默认)|字符向量有关更多信息,请参见模拟文件后缀.
“HDLSimViewWaveCmd”
—HDL模拟波形查看命令“添加波sim: % s \ n”
(默认)|字符向量波形查看命令,指定为字符向量。隐式参数为DUT顶级输入、输出和输出参考信号添加信号路径。
有关更多信息,请参见模拟波形查看命令.
您单击了与此MATLAB命令对应的链接:
在MATLAB命令窗口中输入它来运行命令。Web浏览器不支持MATLAB命令。金宝app
你也可以从以下列表中选择一个网站:
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家/地区站点不适合您所在位置的访问。