多路复用器优化之Mux背景及分类(4)

  • coyoo
  • LV4工程师
  • |      2014-06-24 15:30:58
  • 浏览量 1724
  • 回复:9

隐含式多路复用器

 

       利用ALTERA器件内部逻辑结构可以实现一些隐式多路复用器,比如在我们使用同步复位、同步加载以及时钟使能的时候,或许就会被综合成这种隐式多路复用器。由于同步加载、清零以及使能在一个LAB内部都是共用的,所以只有在LAB内所有LE使用相同加载、清零或使能的时候这些信号才非常有用,而实际上这种情况也经常发生。

 

         前面我们知道一个2:1多路复用器就要消耗一个LE,下面我们给出隐式多路复用器如何在一个LE中实现3:1和4:1等多路复用器的。

 


图1:使用单个LE实现3:1多路复用器

 

         如图1所示,就是使用一个LE实现了3:1多路复用器,其中查找表实现了2:1,另外一个输入从DATA3进行,使用同步加载来实现选择线功能。

 


图2:只用一个LE实现4:1多路复用器

 

         如图2所示,只使用了一个LE就实现一个4:1多路复用器。我们从图17就可以看到查找表的所有输入已经都被占用了,所以这时候无法再提供额外的输入。但是如果多路复用器如果有某个输入固定为0,那么如图2所示,就可以使用同步清零作为这个输入,如此就只用一个LE实现了一个4:1多路复用器。

 

         最后我们来一种在单个LE实现的5:1多路复用器,其VHDL代码如下所示:

PROCESS (clk, reset)

BEGIN

IF reset=’1’ THEN

  z <= 0;

ELSIF rising_edge(clk) THEN

  IF enable=’1’ THEN

    IF sclear THEN

      z <= 0;

    ELSIF sload THEN

      z <= d2;

    ELSE

      IF sel=’1’ THEN

        z <= d1;

      ELSE z <= d0;

      END IF;

    END IF;

  END IF;

END IF;

END PROCESS;

 

      上述代码中使用了IF-ELSE语句实现异步复位、同步时钟使能以及同步清零和同步加载,剩下的核心就是一个2:1多路复用选择器。根据前面的分析,同步加载和清零可以综合成多路复用器,所以至少可以得到前面博文所示的4:1多路复用器,那么综合器最后会如何处理时钟使能呢?答案是实现一个5:1多路复用器,而且只需使用一个LE,实现的结构如图3所示。

 


图3:使用单个LE实现5:1多路复用器

 

         需要注意的是和图2一样,该多路复用器有一个输入固定为0,而且在时钟使能为0时,复用器的输出反馈到第五个输入。

 

         接下来我们来看看如何使用这类多路复用器,图4展示了利用上述3:1多路复用器可以更有效地实现更大的12:1多路复用器,效率和使用之前介绍的线性多路复用器相当。

 


图4:利用3:1多路复用器更有效地实现更大多路复用器

 

         图4是采用了同步加载端口,如果同时还采用同步复位端口,那么我们就可以实现如图5所示的12:1多路复用器。这种结构中,所有3:1复用器是同时复位,而不是单独某一个,这样可以使用一个或门来组合最终输出,而不像图20那样需要使用一个4:1多路复用器。一个或门可以放置到一个LE中,而一个4:1多路复用器则需要两个LE,这样图21所示的12:1多路复用器就只需5个LE。这个效率甚至高于之前讨论的线性Mux,相比二进制Mux则更是节约了38%的资源。

 


图5:采用同步复位实现更有效实现多路复用器

 

         当然,要实现图5所示的多路复用器,设计者必须要将意图体现在代码中。通过上面分析,建议大家多使用上述这种所谓的隐含多路复用器,原因在于这种多路复用器依赖于寄存器功能,当多路复用器的输出经过寄存后,就非常利于使用。

  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:9
雪狼 2014-07-30
很好再次顶起。。。
0   回复
举报
发布
qiuqiu 2014-07-29
谢谢分享
0   回复
举报
发布
电子大拿 2014-07-16
顶一个!感谢分享!!
0   回复
举报
发布
wengqiang 2014-06-30

支持一下,啊顶。。。

0   回复
举报
发布
coyoo 2014-06-25
thanks
0   回复
举报
发布
Cigoy 2014-06-24
强大,学习了
0   回复
举报
发布
冰山一角 2014-06-24
顶起。。
0   回复
举报
发布
gtrjolin1986 2014-06-24
第四节了
0   回复
举报
发布
金钱豹 2014-06-24
过来小看一下,嘿嘿,支持楼主
0   回复
举报
发布
x
收藏成功!点击 我的收藏 查看收藏的全部帖子