第一章_Verilog可综合设计—第三部分 常见的“面积换速度”的设计方法,流水线概述
一、概述
二、面积与速度互换
面积和速度两个要素始终贯穿RTL设计,是衡量设计质量的终极标准
1、面积
- 定义: 一个设计(FPGA/CPLD/ASIC)所消耗的目标器件的硬件资源数量或者ASIC芯片的面积。
- FGPA: 可以用所消耗的触发器(CFF)和查找表(CLUT)数量来衡量。
- ASIC:可以用设计的系统门衡量。
2、速度
- 定义:设计在芯片上稳定运行时所能够达到的最高频率,这个频率由设计的时序状况决定。
- 决定因素:时钟周期/ PAD to PAD Time/ Clock Setup Time/Clock Hold Time/Clock-to-Output Delay
- PAD: 硅片的管脚,是封装在芯片内部的。
- Clock Setup Time, Clock Hold Time, Clock-to-Output Delay:这三个部分属于触发器的动态特性,分别为:建立时间、保持时间和传输延迟时间。
3、面积和速度的平衡与互换原则
设计面积最小和运行频率最高是对立统一的矛盾体
- 科学的设计目标
- 面积:在满足设计时序要求(包含对设计最高频率的要求)的前提下,占用最小的芯片面积
- 速度: 在所规定的面积下,使设计的时序余量更到,频率更高。
- 若面积和速度产生冲突,应采取速度优先的原则——满足时序,工作频率
4、面积与速度互换
- 宏观定义:整个芯片满足了处理速度的要求,这相当于用面积复制换取速度的提高
- 操作技巧
- 模块复用&串并转换
本例是一个路由器设计实例。假设输入数据流的速率是450Mbit/s,而在FPGA上设计的数据处理模块的处理速度最大为150Mbit/s,由于处理模块的数据吞吐量满足不了要求,因此直接在FPGA上实现是一个“不可能完成的任务”。此处采取模块复用&串并转换。
step1: 输入数据进行串并转换,将450Mbit/s的输入数据流的速率转换为三个150的数据流。
step2:将转换后的数据流交给三个子模块并行处理,每个子模块的吞吐量为150Mbit/s.
step3:并串转换,输出450Mbit/s的数据流,满足预期数据传输速率。
三、乒乓操作_是一个常常应用于数据流控制的处理技巧
1、操作方法如下:
2、乒乓操作优点:
- 把该操作过程看作一个模块,从该模块的两端看数据,输入和输出数据流都是连续不断的,没有任何停顿,因此非常适合对数据流进行流水线式处理。
- 节约缓冲空间—WCDMA基带应用
- 可以实现用低速模块处理高速数据流的效果。
四、流水线
1、流水线概述
- 电路的最高频率,取决于最长的组合逻辑链路的延迟值,将这条最长的组合逻辑路径划分为很多小的逻辑,每个时刻大部分的组合逻辑单元,总是处于闲置的状态,电路效率很低,如图所示:
- 评价一个电路的运算性能:考虑其单位时间的计算量 or 一定计算总量下的处理时间。
- 实例:计算 log(|a+b|)
- 四级流水线的结构
2、流水线的定义:通过插入寄存器的形式来提高电路运行频率的方法, 叫做流水线
3、流水线的特点& 好处
- 特点
- 通过插入寄存器,将长的串行逻辑链分成较小的部分。
- 当系统运算是串行的时候,利用时钟控制,使运算依照顺序接续进行。
- 在任何给定 时刻,大部分电路都在工作。
- 优点
- 每一部分延时较小→可使用更快的时钟。
- 大部分电路同时进行运算→可提高数据通过量。
4、流水线参数设计
- 系统时钟取决于最慢的流水级的延时
- 流水线分割点及级数的确定要考虑的因素
- 单元延迟时间及时钟频率的大小决定了数据通过速率
- 过多的级数不一定能产生最快的结果
- 太多寄存器的插入会导致芯片面积增加,布线困难,时钟偏差增加。