原创 【心得笔记】FPGA pipeline RISC设计(2)--FPGA的设计关键优化Multiple

2009-2-26 18:23 4302 3 4 分类: FPGA/CPLD

FPGA pipeline RISC设计(2)--FPGA的设计关键优化Multiplexer<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


 

从上一片日记看,cost的考虑,Multiplexer对于FPGA设计来说是奢侈的。


 


下面看barrel-shift的设计上怎么优化Multiplexer


 


8 bit Barrel-shifter为例,一个直观的实现如下,如果下图不清楚,可以画一个4-bit barrel-shifter试试。



 


根据barrel-shifter的要求,一个8bitshifter需要有3Multiplexer深度来完成8中移位可能,一个N bitshifter需要有log2(N)层深度的Multiplexer,每一层有NMultiplexers(2:1)


 


所以N bit barrel-shifter需要有N*log2(N)Multiplexer。如果每个Multiplexer的实现占用一个LE,共需N*log2(N) LE


 


那一个普通RISC需要的32 bit barrel-shifter就需要32*5=160LE来实现。


 


下面是使用乘法器来替代multiplexer的实现方法,用乘以2的幂来实现移位,


 



在有硬件乘法器的FPGA中,就有了barrel-shifter的一种乘法替代。


 


对于算术移位,使用有符号乘法:



 


对于逻辑移位,使用无符号乘法:



 


对于循环移位:


PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户377235 2015-3-1 04:38

学习了,只是图片看不到,不知道是不是地域问题,谢谢

用户222124 2009-10-18 17:24

看看哈!
相关推荐阅读
用户462845 2009-02-26 18:46
【原创】FPGA/ASIC设计小比较
(0) 逻辑设计基本思想ü         逻辑表达式:yout = F(xin1, xin2, ... )ü         乘积项表达:例子上图的逻辑表达为:f=(A+B)*C*(!D)转化为乘积...
用户462845 2009-02-26 18:44
【原创】FPGA时序分析之Gated Clock 1
(一)<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />FPGA设计一条原则是尽量使用...
用户462845 2009-02-26 18:39
pipeline RISC设计(11)--优化Multiplexer(三)--一步一步优化FPGA
pipeline RISC设计(11)--优化Multiplexer(三)--一步一步优化FPGA RISC<?xml:namespace prefix = o ns = "urn:schema...
用户462845 2009-02-26 18:37
pipeline RISC设计(10)--优化Multiplexer(二)--利用FPGA LE结构
pipeline RISC设计(10)--优化Multiplexer(二)--利用FPGA LE结构实现MUX<?xml:namespace prefix = o ns = "urn:schem...
用户462845 2009-02-26 18:36
pipeline RISC设计(10)--优化Multiplexer(一)--FPGA LE结构
pipeline RISC设计(10)--优化Multiplexer(一)--FPGA LE结构<?xml:namespace prefix = o ns = "urn:schemas-micr...
用户462845 2009-02-26 18:34
【心得笔记】pipeline RISC设计(9)--改进流水线冲突
pipeline RISC设计(9)--改进流水线冲突<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:offi...
EE直播间
更多
我要评论
1
3
关闭 站长推荐上一条 /3 下一条