从MATLAB代码生成HDL代码使用命令行接口
这个例子展示了如何使用HDL编码器™命令行接口从MATLAB®代码生成HDL代码,包括浮点定点转换和FPGA编程文件生成。
概述
HDL代码生成的命令行界面有以下基本步骤:
创建一个
fixpt
编码器配置对象。(可选)创建一个
高密度脂蛋白
编码器配置对象。设置配置对象参数。(可选)
运行codegen命令来生成代码。
高密度脂蛋白编码器命令行界面可以使用两个编码器与codegen命令配置对象。可选fixpt
编码器配置对象配置浮点定点转换你的MATLAB代码。的高密度脂蛋白
编码器配置对象配置HDL代码生成和FPGA编程选项。
在这个例子中,我们探索不同的方式你可以配置浮点定点转换和代码生成。
示例代码实现了一个离散时间积分器和试验台。
基本代码生成与定点浮点转换
您可以生成HDL代码和设计从浮点转换为定点使用默认设置。
你只需要设计的名字,mlhdlc_dti
试验台的名字,mlhdlc_dti_tb
:
关闭所有;%与默认设置创建一个“fixpt”配置fixptcfg = coder.config (“fixpt”);fixptcfg。TestBenchName =“mlhdlc_dti_tb”;%与默认设置创建一个高密度脂蛋白的配置hdlcfg = coder.config (“高密度”);% #好< NASGU >
设置后fixpt
和高密度脂蛋白
配置对象,运行以下codegen命令执行浮点定点转换,并生成HDL代码。
codegen-float2fixedfixptcfg配置hdlcfgmlhdlc_dti
如果你的设计已经使用定点类型和函数,您可以跳过定点转换:
hdlcfg = coder.config (“高密度”);%与默认设置创建一个高密度脂蛋白的配置hdlcfg。TestBenchName =“mlhdlc_dti_tb”;codegen配置hdlcfgmlhdlc_dti
剩下的这个例子描述了如何配置使用的代码生成高密度脂蛋白
和fixpt
对象。
创建一个浮点定点转换配置对象
要执行浮点定点转换,您需要一个fixpt
配置对象。
创建一个fixpt
配置对象,指定您的测试台上的名字:
关闭所有;fixptcfg = coder.config (“fixpt”);fixptcfg。TestBenchName =“mlhdlc_dti_tb”;
设置定点转换类型建议选项
代码生成器可以根据你的选择提出定点类型字长或部分的长度。这两个选项是互斥的。
该类型的单词长度24
:
fixptcfg。DefaultWordLength = 24;fixptcfg。ProposeFractionLengthsForDefaultWordLength = true;
或者,您可以提出定点类型基于分数长度。下面的代码配置编码器提出类型基于长度的一小部分10
:
fixptcfg。DefaultFractionLength = 10;fixptcfg。ProposeWordLengthsForDefaultFractionLength = true;
设置安全裕度
代码生成器的仿真数据范围增加它的定点基地类型建议安全裕度百分比。例如,默认的安全裕度4
,这就增加了仿真数据范围用于定点类型的提议4%
。
设置SafetyMargin10%
:
fixptcfg。SafetyMargin = 10;
启用数据日志记录
代码生成器之前和之后运行的试验台设计浮点定点转换。您可以启用模拟数据日志记录的量化影响新定点数据类型。
启用数据日志记录fixpt
配置对象:
fixptcfg。LogIOForComparisonPlotting = true;
查看数值类型的建议报告
配置代码生成器启动类型的建议报告一旦定点类型提出了:
fixptcfg。LaunchNumericTypesReport = true;
创建一个HDL代码生成配置对象
生成的代码,您必须创建一个高密度脂蛋白
配置对象和设置试验台的名字:
hdlcfg = coder.config (“高密度”);hdlcfg。TestBenchName =“mlhdlc_dti_tb”;
设置目标语言
您可以生成硬件描述语言(VHDL)或Verilog代码。默认HDL编码器生成VHDL代码。生成Verilog代码:
hdlcfg。开发“Verilog”;
生成HDL试验台代码
生成一个高密度脂蛋白试验台从MATLAB®试验台:
hdlcfg。GenerateHDLTestBench = true;
模拟生成的使用一个高密度脂蛋白HDL代码模拟器
如果你想使用高密度脂蛋白HDL代码生成模拟器模拟,您还必须生成HDL试验台。
使高密度脂蛋白ModelSim仿真器仿真和使用:
hdlcfg。SimulateGeneratedCode = true;hdlcfg。SimulationTool =“ModelSim”;%或“ISIM”
生成一个FPGA编程文件
您可以生成一个FPGA编程文件如果你有一个合成工具设置。使合成,指定一个合成工具,并指定一个FPGA:
%使合成。hdlcfg。SynthesizeGeneratedCode = true;%配置合成工具。hdlcfg。SynthesisTool =“Xilinx ISE”;%或“阿尔特拉第四的二世”;hdlcfg。SynthesisToolChipFamily =“Virtex7”;hdlcfg。SynthesisToolDeviceName =“xc7vh580t”;hdlcfg。SynthesisToolPackageName =“hcg1155”;hdlcfg。SynthesisToolSpeedValue =2 g的;
运行代码生成
现在,你有你的fixpt
和高密度脂蛋白
配置对象设置,运行codegen命令执行浮点定点转换,生成HDL代码,并生成一个FPGA编程文件:
codegen-float2fixedfixptcfg配置hdlcfgmlhdlc_dti