首页>>科技 >>内容

流水线设计的主要工作,流水线设计的思想介绍与设计实例

发布时间:2023-12-02 10:58:33编辑:温柔的背包来源:

很多朋友对流水线设计的主要工作,流水线设计的思想介绍与设计实例不是很了解,每日小编刚好整理了这方面的知识,今天就来带大家一探究竟。

流水线设计的主要工作,流水线设计的思想介绍与设计实例

流水线设计概述下图是工厂流水线。工厂流水线就是把一项工作(比如生产一个产品)分成几个子工作,由生产流水线上的几个不同的人一步步完成。成品一级一级地被送到装配线上。图片来自网络。

比如完成一个产品,需要8道工序,每道工序需要10s。然后流水线启动后,第一个产品要80秒才能完成,但之后每10秒就能出一个产品。从而大大提高了速度。当然,这也增加了人员等资源的成本。电路的流水线设计思路与上述思路类似,也是以增加资源消耗为代价来提高电路的运行速度。装配线设计示例

这里以一个简单的8位无符号数加法器的设计为例进行说明,赋值{c _ out,data _ out[7:0]}=a[7:0]b[7:0]c _ Inc _ out实现为进位。(来源链接:https://pan.baidu.com/s/1-imO5A51dJ_pfWpRfOYcHg提取代码:dx0k)

如果有数字电路常识的人都知道,用组合逻辑电路加8位的速度肯定比加2位慢。所以这里可以采用四级流水线设计,每一级只进行两位加法运算。当流水线启动时,除了第一次加法运算,在一个二位加法器的每一次延迟后都会得到一个结果。整体结构如下。每一级与in _ valid和o _ valid信号相互作用,分别代表每一级的输入和输出有效信号。

第一阶段:将最低两位与进位相加,将运算结果和未运算的高六位传递到下一阶段。第二级:将2,3位与上一级加法器的进位相加,将本级的运算结果和未运算的高4位传递到下一级。第三阶段:加4,5位和进位,将运算结果和未运算的高2位传递给下一阶段。第四阶段:将最高有效两位与前一级加法器输出的进位相加,组合输出结果。

仿真结果如下:如图,当整个模块in_valid有效时,传入的数据为a=1,b=5,c _ in=1;因此,在四个周期之后,o_valid信号被拉高,并且获得运算结果data_out=7。(在该设计中,流水线的每一级的延迟是一个时钟周期。)汇总流水线是通过将一个大的组合逻辑分割成若干个小的组合逻辑进行步进运算,从而达到提高速度的目的。

在设计流水线的时候,一般要尽量让每个阶段的操作所需的时间差不多,这样才能做到流水线匹配,提高效率。因为流水线的速度是由运行最慢的电路决定的。

以上知识分享希望能够帮助到大家!

版权声明:本站所有作品图文均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系我们

推荐阅读