一种基于LPM及快速乘法器及设计.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种基于LPM及快速乘法器及设计

一种基于LPM调用的快速乘法器的设计 摘要:乘法器是数字系统中的常见电路模块,本文设计了一种采用EDA技术、基于FPGA芯片、调用LPM模块实现一种快速乘法器的方案。调用LPM模块可以化简数字系统的设计,方法是根据系统的功能需求调用适当的LPM模块,根据系统功能对其各项参数进行设置,再配备适当的设计文件即可。 关键词:乘法器;LPM调用;EDA;MIF文件 0 引言 乘法器是通信系统中的重要模块,常用于卷积、傅里叶变换、滤波、变频等计算过程。采用FPGA实现乘法器的算法有很多,如移位相加、加法器树乘等算法,而基于FPGA快速RAM资源实现的乘法器,具有更高的速度,在信号处理系统中,具有快速响应的优势。在EDA设计中,集成开发环境自带丰富的参数可设置模块库(LPM),设计者可根据系统功能的需要,在LPM中调用适当的模块,编写相应的参数,配备相应的设计文件,即可实现设计。LPM模块通常都是各项指标优化的优秀成熟设计半成品,可以减轻设计者的调试工作,对于较复杂的数字系统LPM调用法可以简化设计过程,提高了设计者的开发效率。本文讨论了一种基于FPGA芯片通过LPM模块调用实现4位快速乘法器的方法。 1 快速乘法器的LPM的调用方案与实现 在集成开发环境maxplus2下,LPM调用有原理图调用和VHDL调用两种方法,本文采用第一种方法。在maxplus2原理图编辑器下,从参数可设置模块库…\maxplus2\max2lib\mega_lpm\*中调用LPM_ROM模块,设置其输入为两个4位的二进制乘数,将这两个4位二进制数组合为ROM的地址,在相应的地址单元里存放其乘积值。因此该模块具有两个输入端口,分别为时钟信号CLK、地址输入端INPUT[7..0],乘法结果输出端OUTPUT[7..0]。 在原理图编辑器下双击LPM_ROM右上角的参数显示区域,弹出Edit Ports/Parameters设置对话框,设置LPM_ROM模块相应的参数。由于两个4位的乘数组成的地址为8位,因此LPM_WIDTHAD的值为8,将LPM_ROM模块中的引脚address[LPM_WIDTHAD-1..0]、inclock、q[]三个引脚激活,将它们的状态修改为“used”。在时钟的上升沿锁存输入的地址,选择参数LPM_ADDRESS_CONCTROL=“REGITERED”。不需时钟控制寄存器输出,选择参数LPM_OUTDATA=“UNREGISTERED”。Edit Ports/Parameters设置内容如图1所示。 图1 ROM配置数据文件的编写 设定好LPM_ROM模块参数后,需要给LPM_ROM配置初始化数据文件(MIF文件),定义ROM中地址单元的内容,本设计采用文本编辑器编写MIF文件。在开发环境maxplus2下选择菜单命令File│New,新建一个文本文件,根据乘法运算的结果,将两个4位二进制数的乘法运算写入文件中,配置数据文件编写如下: WIDTH=8; --设置数据宽度 DEPTH=256; --设置数据深度 ADDRESS_RADIX=HEX; --8位二进制地址可用2位十六进制数表示 DATA_RADIX=HEX; --8位二进制乘积结果可用2位十六进制数表示 CONTENT BEGIN --数据配置开始 00:00;01:00;02:00;03:00;04:00;05:00;06:00;07:00;08:00;09:00;0A:00;0B:00;0C:00;0D:00; 0E:00; 0F:00; --冒号前的两位数据代表乘数,冒号后的数据代表乘积 10:00;11:01;12:02;13:03;14:04;15:05;16:06;17:07;18:08;19:09;1A:0A;1B:0B;1C:0C;1D:0D; 1E:0E; 1F:0F; 20:00;21:02;22:04;23:06;24:08;25:0A;26:0C;27:0E;28:10;29:12;2A:14;2B:16;2C:18;2D:1A; 2E:1C;2F:1E; 30:00;31:03;32:06;33:09;34:0C;35:0F;36:12;37:15;38:18;39:1B;3A:1E;3B:21;3C:24;3D:27; 3E:2A;3F:2D; 40:00;41:04;42:08;43:0C;44:10C;45:14;46:18;47:1C;48:20;49:24;4A:28;4B:2C;4C:30;4D:34; 4E:38;4F:3C; ... F0:00;F1:0F;F2:1E;F3:2D;F4:3C;F5:4

文档评论(0)

liwenhua00 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档