首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >hdl中的流水线多路复用

hdl中的流水线多路复用
EN

Stack Overflow用户
提问于 2017-12-30 20:13:02
回答 1查看 427关注 0票数 0

我正在做一些简单的测试,以评估流水线时数字电路中的时钟速度是如何提高的。

我使用25to1和12to1流水线实现10to1多路复用器。我从fpga合成器(altera)获得了一些时钟速度的提高。然后我再添加一个阶段,用2to1和3to1以及适当的寄存器替换5to1多路复用器。在后一种情况下,时钟速度会下降。我不明白为什么添加寄存器和流水线阶段会丢弃时钟speed..any解释?

EN

回答 1

Stack Overflow用户

发布于 2017-12-31 21:57:59

在大多数FPGA中,最小的逻辑门是一个查找表(LUT),它们有3到6个输入。Altera的施舍可以通过多种方式进行配置。无论采用哪种方式,如果多路复用器大小低于等效的LUT大小,则不会进一步提高Fmax。

您可以将所有多路复用器大小描述为2:1多路复用器的树。综合将优化得到的方程式,并将它们映射到FPGA设备的LUT结构和配置。

您可以进一步使用用户定义的rising_edge函数来创建变量管道:

代码语言:javascript
复制
function registered(signal Clock : std_logic; constant IsRegistered : boolean) return boolean is
begin
  if IsRegistered then
    return rising_edge(Clock);
  end if
  return TRUE;
end function;

(来源:PoC-Library - components包)

此函数允许您有选择地启用和禁用流水线阶段。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48033831

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档