分布式管道插入MATLAB函数块
这个例子展示了如何优化MATLAB函数生成的HDL代码块使用分布式流水线优化。分布式流水线是一种高密度脂蛋白编码器™优化改善从MATLAB函数生成的HDL代码块,仿真软件®模型,或Stateflow®图表。金宝app通过使用分布式流水线,设计FPGA设备上达到更高的时钟频率。
乘数链模型
这个例子展示了如何在一个简单的寄存器分配管道模型,链五乘法。
open_system (“hdlcoder_distpipe_multiplier_chain”)set_param (“hdlcoder_distpipe_multiplier_chain”,“SimulationCommand”,“更新”)
的HDL_DUT
子系统的DUT你想生成HDL代码。子系统驱动一个MATLAB函数块mult_chain
。
open_system (“hdlcoder_distpipe_multiplier_chain / HDL_DUT”)
的链乘法,打开MATLAB功能块。
open_system (“hdlcoder_distpipe_multiplier_chain / HDL_DUT / mult_chain”)
应用分布式流水线优化
1。指定代两个管道阶段MATLAB功能块。
ml_subsys =“hdlcoder_distpipe_multiplier_chain / HDL_DUT / mult_chain”;hdlset_param (ml_subsys“OutputPipeline”,2)
2。指定MATLAB Datapath公司
体系结构。这种架构将MATLAB功能块就像一个普通的子系统。你可以应用各种优化模型的MATLAB函数阻塞与其他®模型。金宝app
hdlset_param (ml_subsys“架构”,MATLAB Datapath公司的);
3所示。使分布式流水线优化。优化的结果,使生成的优化报告。应用优化跨层次结构模型中,使分层分布式流水线模型和分布式流水线上所有子系统。
hdlset_param (“hdlcoder_distpipe_multiplier_chain”,…“HierarchicalDistPipe”,“上”,“OptimizationReport”,“上”)hdlset_param (“hdlcoder_distpipe_multiplier_chain / HDL_DUT”,“DistributedPipelining”,“上”);hdlset_param (ml_subsys“DistributedPipelining”,“上”);
4所示。生成HDL代码HDL_DUT
子系统。
makehdl (“hdlcoder_distpipe_multiplier_chain / HDL_DUT / mult_chain”)
默认情况下,HDL编码器生成VHDL代码hdlsrc
文件夹中。
分析结果的优化
在分布式流水线的报告,你会发现代码生成器将管道寄存器。优化的影响,打开生成的模型gm_hdlcoder_distpipe_multiplier_chain
和导航到HDL_DUT
子系统。
的MATLAB Datapath公司
体系结构创建一个子系统的MATLAB函数块。优化可以分配管道内部寄存器和您所添加的单位延迟子系统优化乘数链和改善时间。打开mult_chain
子系统。