21 一个16位乘法器 编号:002900000067
21一个16位乘法器本案例的编号为:002900000067,如果有疑问,请按编号在下面贴子查找答案:MDY案例交流【汇总贴】_FPGA-明德扬科教 (mdy-edu.com)本文为明德扬原创及录用文章,转载请注明出处!
本工程实现的内容是16位乘法器的加法实现方式。在FPGA设计中,我们需要考虑到资源与速度的问题,同样一个功能我们可以用较少的资源去实现,也可以用较多的资源去实现,FPGA设计工程师在设计当中应当在满足系统速度要求的前提先采取更节省自愿的额设计方法。FPGA资源当中,乘法器的运行速度比加法器要慢很多,假如在设计当中用到了乘法器,而该乘法器所在路径刚好成为了关键路径,那么我们提高速度的方法就是把乘法器转化成加法来实现。
具体实现的功能如下:a. ina和inb是被乘数和乘数的输入端口,把要做乘法运算的两个16bit 数据由此输入; b. start 信号是乘法运算触发信号,输入一个脉冲触发运算; c. 运算结果由out端口输出; d. vld标志最终运算结果,在vld有效的同时out是当前乘法器运算结果; e. 用加法器代替了乘法器,比如:3'b011 * 2'b10 = (3'b011 *1'b0)+({3'b011,1'b0}*1'b1); f. 用移位寄存器和选择器得到每一步相加的数。如果乘数是16位,那就是16个数相加。
参考工程代码见下面文档
以下是本工程的相关文档
欢迎大家在此帖子里讨论本案例的问题。
页:
[1]