在MAX+PLUS II 和 Quartus II中调用LPM库函数非常方便,用户既可以在图形输入法中直接调用,也可以在HDL源文件中调用。
表2-5LPM库单元列表
模块分类 | 宏单元 | 简要说明 |
门单元模块 | lpm_and | 参数化与门 |
lpm_bustri | 参数化三态缓冲器 | |
lpm_clshift | 参数化组合逻辑移位器 | |
lpm_constant | 参数化常数产生器 | |
lpm_decode | 参数化译码器 | |
lpm_inv | 参数化反向器 | |
lpm_mux | 参数化多路选择器 | |
busmux | 参数化总线选择器 | |
mux | 多路选择器 | |
lpm_or | 参数化或门 | |
lpm_xor | 参数化异或门 | |
算术运算模块 | lpm_abs | 参数化绝对值运算 |
lpm_add_sub | 参数化的加/减法器 | |
lpm_compare | 参数化比较器 | |
lpm_counter | 参数化计数器 | |
lpm_mult | 参数化乘法器 | |
存储器模块 | lpm_ff | 参数化D触发器 |
lpm_latch | 参数化锁存器 | |
lpm_ram_dq | 输入输出分开的参数化RAM | |
lpm_ram_io | 输入输出复用的参数化RAM | |
lpm_rom | 参数化ROM | |
lpm_shitreg | 参数化移位寄存器 | |
csfifo | 参数化先进先出队列 | |
csdpram | 参数化双口RAM | |
其它功能模块 | pll | 参数化锁相环电路 |
ntsc< | NTSC图象控制信号产生器 |
下面介绍利用LPM库单元来构造一个四位加法器的方法。
lpm_add_sub是参数化加/减法器,利用它既可以设计加法器,也可以设计减法器。先在图形编
辑器中进行编辑,如图2-7所示。
图2-7参数化的加/减法lpm_add_sub
指定它的参数值如下,
LPM_WIDTH = 4(模块信号宽度为4位)
LPM_DIRECTION = “ADD”(将模块设置为加法器)
LPM_REPRESENTATION = “UNSIGNED”(将输入输出数据设为无符号数)
然后还要设定端口。这里只使用lpm_add_sub库单元的四个端口,分别是数据输入端
data-a[]和data-b[]、数据输出端result[]和进位输出端cout。仿真结果如下图2-8所示。
图2-8lpm_add_sub设置为加法器时的仿真图形
文章评论(0条评论)
登录后参与讨论