Xilinx FPGA入门连载35:超声波测距终极结果显示之乘法器IP解析 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1jGjAhEm 1 概述 在本例程的工程源码distance_compute.v中,例化了一个乘法器IP核。这里我们简单的来看看这个IP核是如何创建、配置并使用的。 2 新建源文件打开ISE工程,如图所示,在“Design à Implementation à Hierarchy”中的任意位置单击鼠标右键,弹出菜单中选择“New Source..”。 在“New Source Wizard”中,做如图所示的设置。 ● “Select Source Type”中选择新建文件类型为“IP(CORE Generator & Architecture Wizard)”。 ● “File name”即文件名,我们命名为“mux”。 ● “Location”下面输入这个新建文件所存放的路径,我们将其定位到工程路径下的“ipcore_dir”文件夹下。 ● 勾选上“Add to project”。 完成以上设置后,点击“Next”进入下一步。 3 IP选择 在“Select IP”页面中,如图所示,我们在“Viewby Function”下面找到“Math Functions à Multipliers à Multiplier”,单击选中它,接着点击“Next”进入下一步。 如图所示,弹出“Summary”页面后,点击“Finish”即可。 4 乘法器配置 在Multiplier的第一个配置页面中,我们选择对乘法器的两个输入port(即乘数和被乘数)进行配置,选择它的DataType为“Unsigned”,即无符号数;它的Width为“16”,即位宽16bit。 第二个配置页面中,如图所示。 ● 选择“Multiplier Construction”为“Use Mults”,即使用FPGA内部的专用乘法器来实现这个IP核。当然了,也可以选择“Use LUTs”,这意味着这个乘法器是使用FPGA的逻辑资源实现的。 ● 勾选“Speed Optimized”(速度优化),通常在资源丰富,速度要求高的时候,我们选择“Speed Optimized”。而在速度要求不高,资源紧张的时候,我们通常会选择另一个选项“Area Optimized”,这都是由具体设计需求决定的。 第三个配置页面中,我们无需做设置,直接点击“Generate”生成配置好的IP核即可。 5 例化模块 “Generate”完成后,如图所示,我们可以在“Hierarchy”中选中mul.xco即刚刚产生的IP核模块,然后双击打“Processes”下的“View HDLInstantiation Template”查看IP核的例化模板。 例化模板打开如图所示,矩形区域内的代码我们复制到工程源码中,对“( )”内的接口做好映射,就可以将其集成到我们的设计中。 如下代码所示,在我们的设计中,乘法器的两个输入a和b分别为常数443和超声波测距的脉宽计数寄存器echo_pulse_filter_num,输出结果为32bit的mul_out。
|