0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

RTL设计指导原则之面积和速度互换

冬至子 来源:Andy的ICer之路 作者:AndyICer 2023-06-05 15:46 次阅读

前言

00

一般来说,面积是一个设计所消耗的目标器件的硬件资源数量或者ASIC芯片的面积。速度是指设计在芯片上稳定运行时所能够达到的最高频率,这个频率由设计的时序状况决定。

面积和速度是对立统一的矛盾体 ,既想要设计面积最小,又想运行频率最高,这是不现实的。科学的设计目标应该是在满足设计时序要求(包含对设计最高频率的要求)的前提下,占用最小的芯片面积,或者在所规定的面积下,使设计的时序余量更大,频率更高。

一个设计如果时序余量较大,所能跑的频率远远高于设计要求,能通过功能模块复用减少整个设计所消耗的芯片面积,用速度的优势对换面积的节约。

一个设计的时序要求很高,普通方法达不到设计频率,可以通过将数据流串并转换,并行复制多个操作模块,对整个设计采取“乒乓操作”和“串并转换”的思想进行处理,在芯片输出模块处再对数据进行“并串转换”。

串并转换 并串转换

01

例如输入数据流的速率是450Mbit/s,而在FPGA上设计的数据处理模块的处理速度最大为150Mbit/s,在这种情况就应该利用“面积换速度”的思想,至少复制3个处理模块。首先将输入数据进行串并转换,然后利用这3个模块并行处理分配的数据,最后将处理结果并串转换以满足数据速度的要求。

图片

乒乓操作

02

“乒乓操作”是一个常常应用于数据流控制的处理技巧,乒乓操作的结构如下图所示:

图片

数据缓冲模块一般是常用的存储单元,例如双口RAM(DPRAM)、单口RAM(SPRAM)、FIFO等。

第一个缓冲周期:将输入的数据流缓存到数据缓冲模块1;

第二个缓冲周期:通过输入数据选择单元的切换,将输入数据缓存到数据缓冲模块2,同时数据缓冲模块1通过输出数据选择单元输出数据;

第三个缓冲周期:通过输入数据选择单元的切换,将输入数据缓存到数据缓冲模块1,同时数据缓冲模块2通过输出数据选择单元的切换输出数据;

如此循环,直到输入结束。

乒乓操作有两个优点:1、完成数据的无缝缓冲与处理;2、节约缓冲区空间。

完成数据的无缝缓冲与处理 :从上面乒乓操作的描述中可以看出,数据基本上是源源不断地输入输出,只不过是中间的过程用了流水线式的设计来处理。根据这个优点可以 用低速模块处理高速数据流 ,其核心思想还是通过串并转换实现 积换速度

节约缓冲区空间 :例如需要将一帧的数据延时一个时隙后处理,最直接的办法就是将这帧数据缓存起来,然后延时一个时隙进行处理,这时缓冲区的长度是一帧数据的长度。如果使用乒乓操作,用8个时隙完成一帧数据的传输,只需要两个小的缓冲区即可,一个缓冲区是1/8帧数据的大小,其核心思想是 速度换面积

流水线设计

03

流水线设计大家应该都不陌生,福特发明了流水线提高了工人的效率,硬件电路也因为流水线而元气满满。

流水线特点: 通过插入寄存器,将长的串行逻辑链分成较小的部分;当系统运算是串行的时候,利用时钟控制,使运算依照顺序接续进行;在任何给定时刻,大部分电路都在工作。

流水线好处: 每一部分延时较小,可以使用更快的时钟;大部分电路同时进行运算,可以提高数据通过量。

电路的最高频率取决于最长组合逻辑链路的延迟值,所以减少最长组合逻辑链的延迟值,有利于提高电路速度。我们先来看一下不使用流水线的电路有什么问题:

图片

可以从上面的图看出,组合逻辑链会有很大部分的闲置电路,根据这个基础我们来分析一下计算log(|a+b|)的硬件电路:

图片

计算最小周期,即计算出电路最大频率,对照电路的最小周期主要是加法器延时+求绝对值延时+求对数延时,因为一个部分电路在工作时,另一个部分的电路在闲置;

而流水线电路的最小周期主要是取(加法器延时,求绝对值延时,求对数延时)的最大值,可以看出流水线电路比原来的电路频率大约快3倍左右,因为流水线是每一个部分的电路都在工作,效率大大提高。

接下来我们来看一下流水线与非流水线电路的比较,以4级流水线为例。

图片

以上是4级流水线的结构图, 要注意的是流水线是按照延迟划分的,不是按照功能划分的 。具体流水线与非流水线电路的性能比较如下:

图片

根据上面的性能比较表格,可以得知,具体使用流水线好还是非流水线好,还是要根据实际情况计算比较,一般来说流水线会较好。

另外, 流水线分割点及级数的确定要考虑的因素:

①单元延迟时间及时钟频率的大小决定了数据通过速率;

②过多的级数不一定能产生最快的结果;

③太多寄存器的插入会导致芯片面积增加,布线困难,时钟偏差增加;

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA设计
    +关注

    关注

    9

    文章

    426

    浏览量

    26280
  • 加法器
    +关注

    关注

    6

    文章

    174

    浏览量

    29735
  • RTL
    RTL
    +关注

    关注

    1

    文章

    377

    浏览量

    59080
  • DPRAM
    +关注

    关注

    0

    文章

    2

    浏览量

    10842
  • ASIC芯片
    +关注

    关注

    2

    文章

    88

    浏览量

    23534
收藏 人收藏

    评论

    相关推荐

    速度面积互换设计原则简析

    速度面积一直都是FPGA设计中非常重要的两个指标。所谓速度,是指整个工程稳定运行所能够达到的最高时钟频率,它不仅和FPGA内部各个寄存器的建立时间余量
    的头像 发表于 04-10 11:07 1123次阅读

    RTL电路的设计原则和方法

    既然RTL是寄存器传输级电路,那么电路设计就一定是以寄存器的特性为基础进行设计。
    的头像 发表于 07-13 16:17 3911次阅读
    <b class='flag-5'>RTL</b>电路的设计<b class='flag-5'>原则</b>和方法

    Labview 之面向对象编程。 里面有个例子 和视频教程地址

    Labview 之面向对象编程。 里面有个例子 和视频教程地址Labview 之面向对象编程。 里面有个例子 和视频教程地址
    发表于 12-29 10:16

    FPGA设计基本原则及设计思想

    今天给大侠带来FPGA设计基本原则及思想,话不多说,上货。FPGA设计基本原则及思想一、硬件设计基本原则1、速度面积平衡和
    发表于 10-11 12:26

    FPGA设计的指导原则有哪些?需要注意什么?

    FPGA设计的指导原则有哪些FPGA设计需注意的方方面面
    发表于 04-08 07:01

    FPGA设计的指导原则

    FPGA设计的指导原则:这里“面积”指一个设计消耗FPGA/CPLD 的逻辑资源的数量,对于FPGA 可以用所消耗的触发器(FF)和查找表(LUT)来衡量,更一般的衡量方式可以用设计所占用的等
    发表于 01-11 09:01 107次下载

    设计复用的RTL指导原则

    设计可复用的基本要求是RTL 代码可移植。通常的软件工程指导原则RTL 编码时也适用。类似软件开发,基本的编码指导
    发表于 12-24 00:46 32次下载

    FPGA设计的指导原则

    FPGA的基本设计原则,基本设计思想,基本操作技巧,常用模块。如果大家有意识的用这些原则方法指导日后的的工作,那么会达到事半功倍
    发表于 02-18 11:53 1次下载

    良好接地指导原则

    良好接地指导原则
    发表于 12-15 22:19 0次下载

    FPGA设计的十五条原则详细解析

    1、硬件设计基本原则 (1)速度面积平衡和互换原则:一个设计如果时序余量较大,所能跑的频率远高于设计要求,能可以通过模块复用来减少整
    的头像 发表于 12-19 17:19 5963次阅读

    浅谈FPGA设计的基本原则

    一、面积速度的平衡互换原则 这里的面积指的是 FPGA 的芯片资源,包括逻辑资源和 I/O 资源等;这里的
    的头像 发表于 02-03 15:30 412次阅读

    FPGA的指导原则详细资料说明

    这一部分主要介绍 FPGA/CPLD设计的指导原则,如FPGA设计的基本原则、基本设计思想、基本操作技巧、常用模块等。 FPGA/CPLD设计的基木原则、思想、技巧和常用模块是一个非
    发表于 01-20 15:17 26次下载
    FPGA的<b class='flag-5'>指导</b>性<b class='flag-5'>原则</b>详细资料说明

    PyTorch教程3.2之面向对象的设计实现

    电子发烧友网站提供《PyTorch教程3.2之面向对象的设计实现.pdf》资料免费下载
    发表于 06-05 15:48 0次下载
    PyTorch教程3.2<b class='flag-5'>之面</b>向对象的设计实现

    FPGA速度-面积互换原则设计

    速度-面积互换原则是贯穿FPGA设计的重要原则速度是指工程稳定运行所能达到的最高时钟频率,通常
    的头像 发表于 06-09 09:36 917次阅读
    FPGA<b class='flag-5'>速度</b>-<b class='flag-5'>面积</b><b class='flag-5'>互换</b><b class='flag-5'>原则</b>设计

    REST的6大指导原则

    :符合REST架构风格的 WEB API 或WEB 服务就是 REST API。 2. REST 的6大指导原则 REST 定义了6个原则,这些原则使得一个WEB API 成为真正的R
    的头像 发表于 10-09 14:27 816次阅读