Verilog 流水线设计[通俗易懂]

Verilog 流水线设计[通俗易懂]一、什么是流水线流水线设计就是将组合逻辑系统地分割,并在各个部分(分级)之间插入寄存器,并暂存中间数据的方法。目的是将一个大操作分解成若干的小操作,每一步小操作的时间较小,所以能提高频率,各小操作能并行执行,所以能提高数据吞吐率(提高处理速度)。二、什么时候用流水线设计使用流水线一般是时序比较紧张,对电路工作频率较高的时候。典型情况如下:1)功能模块之间的流水线,用乒乓buffer来交互数据。代价是增加了memory的数量,但是和获得的巨大性能提升相比,可以忽略不计。2)I/O瓶

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

一、什么是流水线

流水线设计就是将组合逻辑系统地分割,并在各个部分(分级)之间插入寄存器,并暂存中间数据的方法。 目的是将一个大操作分解成若干的小操作,每一步小操作的时间较小,所以能提高频率,各小操作能并行执行,所以能提高数据吞吐率(提高处理速度)。

二、什么时候用流水线设计

使用流水线一般是时序比较紧张,对电路工作频率较高的时候。典型情况如下:

  • 1)功能模块之间的流水线,用乒乓 buffer 来交互数据。代价是增加了 memory 的数量,但是和获得的巨大性能提升相比,可以忽略不计。
  • 2) I/O 瓶颈,比如某个运算需要输入 8 个数据,而 memroy 只能同时提供 2 个数据,如果通过适当划分运算步骤,将大操作分解成小操作就有可能每次只需要2个数据,使用流水线也会减少面积。
  • 3)片内 sram 的读操作,因为 sram 的读操作本身就是两级流水线,除非下一步操作依赖读结果,否则使用流水线是自然而然的事情。
  • 4)组合逻辑太长,比如(a+b)*c,那么在加法和乘法之间插入寄存器是比较稳妥的做法。

三、使用流水线的优缺点

1)优点: 流水线缩短了在一个时钟周期内信号必须通过的通路长度,增加了数据吞吐量,从而可以提高时钟频率,但也导致了数据的延时。举例如下:

例如:一个 2 级组合逻辑&#

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/170385.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 数学建模及其基础知识详解(化学常考知识点)

    @[TOC]自动根据文章标题生成目录一、综合评价方法根据各评价方法所依据的理论基础,现代综合评价方法大致分为以下四大类:1、专家评价方法2、运筹学与其他数学方法2.1、层次分析法(AHP)2.2、模糊综合评判法(FCE)2.3、数据包络分析法(DEA)3、基于统计和经济的方法3.1、TOPSIS评价法,优化可用熵权法3.2、主次分析法和因子分析法主成分分析法通过克服相关性、重叠性,用较少的变量来代替原来较多的变量,而这种代替可以 反映原来多个变量的大部分信息,这实际上是一

    2022年4月13日
    44
  • 分布式事务atomikos的原理_spring分布式事务

    分布式事务atomikos的原理_spring分布式事务atomikos+jta+JdbcTemplate依赖包(部分)事务等配置jta.properties(修改默认配置使用)测试,JdbcTemplate操作数据库@Transactional

    2022年8月5日
    3
  • 8天学通MongoDB——第七天 运维技术

    8天学通MongoDB——第七天 运维技术

    2021年9月14日
    44
  • Java线程池参数配置

    Java线程池参数配置在线程池的实际使用中,参数的配置总让人难以把握。在网上搜了一下,主要有以下的方案。跟大家分享。1.基本概念1.1ThreadPoolExecutor的重要参数corePoolSize:核心线程数核心线程会一直存活,及时没有任务需要执行 当线程数小于核心线程数时,即使有线程空闲,线程池也会优先创建新线程处理 设置allowCoreThreadTimeout=true(默认false)时,核心线程会超时关闭queueCapacity:任务队列容量(阻塞队列)当核心线程数达到最大时,

    2022年5月23日
    68
  • webpack基本配置项_webpack配置文件详解

    webpack基本配置项_webpack配置文件详解前言上篇我们已经配置好了本地开发服务器,但是配置的相对比较凌乱,一个文件中有些是开发时用到的配置,有些是生成时用到的配置,有些是开发和生成都要用到的配置,所以我们这里把环境分为3个环境webpac

    2022年7月31日
    6
  • 概率(Probability)的定义和性质

    描述性定义:在相同的条件下,独立重复地做NNN次试验,当试验次数NNN很大时,如果事件AAA发生的频率fN(A)fN(A)f_N(A)稳定地在[0,1][0,1][0,1]内的某一个数值ppp,而且一般来说随着试验次数的增多,这种摆动的幅度会越来越小,则称数值ppp为事件AAA发生的概率,记为P(A)=pP(A)=pP(A)=p…

    2022年4月5日
    121

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号