网站大量收购独家精品文档,联系QQ:2885784924

乘法器设计实验.PDF

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
乘法器设计实验.PDF

欢迎加入 EDN 网站 FPGA/CPLD 助学小组   /1375/  乘法器设计实验  乘法器是众多数字系统中的基本模块。从原理上说它属于组合逻辑范畴;但 从工程实际设计上来说,它往往会利用时序逻辑设计的方法来实现,属于时序逻 辑的范畴。 通过这个实验使大家能够掌握利用FPGA/CPLD设计乘法器的思想,并且能够 将我们设计的乘法器应用到实际工程中。乘法器的设计方法有两种:组合逻辑设 计方法和时序逻辑设计方法。采用组合逻辑设计方法,电路事先将所有的乘积项 全部计算出来,最后加法运算。采用时序逻辑设计方法,电路将部分已经得到的 乘积结果右移,然后与乘积项相加并保存和值,反复迭代上述步骤直到计算出最 终乘积。 在该实验中就是要利用时序逻辑设计方法来设计一个 16 位乘法器,既然是 利用时序逻辑设计方法那么就得利用时钟信号控制乘法器运算。用时序逻辑设计 方法与用组合逻辑设计方法比较,它有什么好处呢?利用时序逻辑设计方法可以 使整体设计具备流水线结构的特征,能适用在各种实际工程设计中。 在提及乘法器的速度时,可以先了解一下数据吞吐量的概念。数据吞吐量使 指芯片在一定时钟频率条件下所能处理的有效数据量。假设本实验设计的芯片时 钟频率可达300MHz,那么该芯片的数据吞吐量是多少呢? 由于芯片完成一次乘法运算需要1个以上的时钟周期,因此,即使芯片采用 300MHz 的时钟频率,它每秒钟所能处理的有效数据吞吐量也一定小于 300M。对 于16位乘法器而言,ain和bin均为0xFFFF时,芯片的运算量最大,计算所需 的时间也最长,这种情况才能作为我们计算数据吞吐量的依据。 假设芯片在 200MHz 的条件下 ain 和 bin 均为 0xFFFF 时需要 16 个时钟周期 才能得到乘法结果,那么芯片在 200MHz 的条件下的数据吞吐量就为: 200M/16=12.5M 。 IO口的定义以及说明如表5.8所示。 表5.8 乘法器实验接口定义 信号名称 方向 描述 特权制造         /ilove314/    欢迎购买《深入浅出玩转 FPGA》一书配套学习  欢迎加入 EDN 网站 FPGA/CPLD 助学小组   /1375/  clk input 时钟信号,50MHz rst_n input 复位信号,低电平有效 start input 使能信号。为 0 表示信号无效;为 1 表示读入 乘数和被乘数。该信号由 0 到1 变化后,会进 行一次当前 ain和 bin 的乘法运算,进行下一 次运算则需重新拉低该信号后拉高。 ain input 输入 a(被乘数),其数据位宽为 16bit。 bin input 输入 b(乘数),其数据位宽为 16bit。 yout output 乘积输出,其数据位宽为 32bit。 done output 输出有效标志位,有效时保持 1 个时钟周期高 脉冲。为 1表示乘法运算完成,yout 端口的数 据稳定,得到最终的乘积;为 0 表示乘法运算 未完成,yout 端口的数据不稳定。 相关源代码请大家参考配套光盘,大家可以着重理解移位累加部分代码是如 何实现的。 如图5.8所示,综合后的RTL视图很好的表现出了代码设计中移位累加的设 计思想。

文档评论(0)

zcbsj + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档