第一部分CPLD器件及开发系统的使用
) begin
s[]=(0,a[])+(0,b[]); end ;
编译后,并形成模块。新建图形编辑文件,并调用该模块如下图所示:
图5-23 参数化模块的设计与使用
参数设置和LPM宏函数的设置相同,设置完成后就可以编译,这样就可以很方便地形成八位加法器。其它函数的编写过程和上例类似。
5.6 宏函数插件设计向导
宏函数插件设计向导是max+plusⅡ10.0版本的新特性。从上节内容可以看出利用LPM宏函数设计可以利用max+plusⅡ库中的成果,简化设计过程,但宏函数的参数配置仍然比较复杂。如果利用宏函数插件设计向导可以简化参数框的填写,并且可以实现用HDL语言难以描述的设计。下面以32位除以16位的除法器的设
168
第一部分CPLD器件及开发系统的使用
计为例介绍宏函数插件设计向导使用步骤。
1、在图形编辑界面双击鼠标左键后的界面如图5-24所示:
在图形编辑界面下双击鼠标左键 创建一个新的定制宏函数,点击“NEXT” 下一步操作见图5-25
图5-24 宏函数插件设计向导的使用
输入设选择一种设计语言 计文件名称,点击NEXT。 下一个选择LPM-DIVIDE 操作步骤见图5-26
图5-25 选择宏函数类型
169
第一部分CPLD器件及开发系统的使用
选择分子的数据位数32位 选择分母的数据位宽16选择分母的最小值(最小值不能为0),合适的最小值可以优化设计 点击NEXT,见图5-27
图5-26 设置除法器的参数
图5-27 流水线的设置
点击Finish完成向导设计步骤
图5-28 向导形成四个设计文件
上述操作步骤完成后,回到“Enter Symbol”界面,如图5-29,点击OK,即
170
第一部分CPLD器件及开发系统的使用
可得到din32_16的逻辑符号,在图形编辑界面下添加输入、输出即可使用。
点击OK,即可得到din32_16的逻辑符号
图5-29 生成设计逻辑符号
5.7 设计的优化
1、资源优化原则:资源优化是指在完成同样功能的前提下,使用的逻辑单元最少的原则。优化的方法主要有两种:一是调整设计结构改善资源的利用率,二是利用CPLD开发环境优化综合效果。
(1)调整设计结构改善资源利用率:在使用乘法器,除法器等比较大型的结构时一定要注意结构的配置,不同的结构其资源的利用率差别很大。例如有两个12位乘以8位乘法器MULT A和MULT B,其中12的输入端为常数(假设十进制数3500),两个乘法器的输出结果由数据选择器选择输出,其设计电路可以为图5-30的方式。从图5-30可以看出电路是满足设计要求的。但是不是最佳设计?显然不是,如果将电路简单变换成图5-31的方式,同样满足设计要求,但整个电路却优化掉了一个12位乘以8位的乘法器,而且数据选择器的位宽也由20位变为8位。由于乘法器的12位输入端是常数,因此可以继续利用LPM_CONSTANT进行优化。优化后的结果在max+plus的综合后的报告文件中可以看出。这里仅举一个简单的例子,此类的问题在图形编辑、HDL语言编辑中都会碰到,因此在设计时应多注意设计技巧的使用。
171
第一部分CPLD器件及开发系统的使用
MULT A MULT B
图5-30 优化前的设计
图5-31 优化后的设计
(2)改并行处理为串行处理:在使用HDL语言编程时往往会遇到多次乘法、除法等运算,如果全部采用并行处理会消耗大量的资源,本来较小容量的器件就可以完成的运算,不得不采用更多门数的器件才可以完成。如果运算速度允许的前
172