深入解析FPGA的层次化设计思想

时间:2025-11-02  作者:Diven  阅读:0

众所周知FPGA开发实质是硬件描述,无论是语言还是FPGA内部都可以理解为是在设计硬件电路。设计一个系统电路,首先要对系统有宏观的理解,然后再对系统模块逐一慢慢分解为一个个小的功能单元,这些功能单元可以是IP核或者其项目开发好的单元。如下图所示:

深入解析FPGA的层次化设计思想

自上而下的设计是把系统模块作为基本单元,然后再逐一分解,一直这样分解下去,直到无法进一步分解,可以用EDA元件库中的元件来实现为止。 下边以设计一个全加器为例,全加器和半加器不同的是除了两个加数以外还有一个加数,第三个加数是上一级加法器的进位信号,这样就相当于是三个1bit的数相加。首先给顶层模块取一个名字为full_adder,框图如下:

我们用一个方法推导一下:全加器有三个 1bit 的加数,我们可以先实现两个数的加和,再加上第三个数并不会影响最后的结果。我们知道两个数的加和就是半加器所实现的功能,所以先进行的两个数的加和运算需要用到一个半加器来实现,然后输出求和信号和进位信号,求和信号再和第三个加数加和需要再使用一个半加器,然后输出进位信号和最后的总和号。但是进位信号有两个,这两个进位信号都是有用的,但又不会同时为存在,一个有效即有效,所以将两个半加器的进位信号用一个或门运算后作为最后的输出进位信号(也可以用逻辑表达式的方式推导)

本例中全加器可以用两个半加器组成,两个进位信号用或门输出。

红色的为顶层的信号线,黑色的为底层模块的信号线,信号的颜色变化也代表层的变化。

将half_adder0 的 sum 信号和 half_adder1 的 in1 信号连接,连接线还单独取了一个名字为h0_sum 用于将 sum 信号的数据传到顶层(否则两个独立模块是没有任何交集的)。 每一个模块都相当于一个实体的“芯片”,而框图中的 half_adder0 和 half_adder1 就相当于两个不同的半加器芯片,再加上一个或门芯片就可以实现一个具有全加器功能的系统,这做好的这个全加器也是一个模块,如有需要也可以把这个模块当成一个“芯片”用在其系统中。所以设计的时候我们可以把每个模块都做好,特别是具有通用性功能的模块,等用到的时候我们不必关心其内部结构是怎样的,只需知道其功能和端口信号,直接拿过来使用即可,是不是很方便。

顶层模块代码如下所示:

将开发好的半加器文件引用进去即可。如下图:

代码进行RTL综合,得到电路框图如下所示:

在以后设计中有很多情况具有特定功能的模块需要再次调用,可能会有数十个模块要调用,为了方便调用,我们往往把具有独立功能的模块做成通用模块,日积月累,当我们积累的越来越多,开发也会变的很容易。 层次化设计有个问题,就是直接验证顶层模块,如果子模块有问题,这样我们再分析时往往很复杂,所以推荐要先对子模块进行单独验证,这样不至于当整个设计太大的时候直接验顶层模块而导致错误很难查找,养成习惯会让设计越来越轻松,越来越顺利。

审核编辑:黄飞

 

猜您喜欢


焊缝量规是重要的检测工具,应用于焊接质量控制中。主要优势体现在以下几个方面。焊缝量规能够精确测量焊缝的高度和宽度,确保焊接质量符合标准。这种精确性对于保证焊接结...
2011-02-06 00:00:00

贴片排阻作为电子元件中重要的一环,越来越受到工程师和设计师的关注。FOSAN(富捷电子)作为国内知名的电子元器件供应商,其贴片排阻产品因质量稳定、性能优良而受到...
2014-08-21 16:04:30

线性稳压器基础知识线性稳压器是一种电子电路,用于将变化的直流电压转换为稳定的直流电压输出。在各种电子设备中很重要,例如手机、电脑和医疗设备,因为确保了这些设备的...
2024-09-15 00:00:00

保险丝作为保护电路安全的重要元件,其作用愈发重要。CHNHACE作为国内知名的一次性保险丝品牌,高品质的产品和多样的分类赢得了市场的认可。本文将围绕CHNHAC...
2023-08-13 22:41:30

现代电子产品中,发光二极管(LED)因其高效、节能和长寿命而应用于各种照明和指示用途。在安装和使用LED时,许多人常常会遇到正负接错的问题。那么,发光二极管正负...
2025-03-29 11:31:39

红外温度传感器在美容仪中的应用日益广泛,特别是在射频美容仪中,其技术进步尤为显著。这种传感器能够实时监测皮肤温度,确保射频能量的精确控制,从而为用户提供更安全、...
2025-01-08 14:26:00

贴片电阻4702代表的是其阻值和尺寸。 470 指的是阻值,单位是欧姆。前面的两位数字47是有效数字,后面的0代表后面有0个0,所以阻值为47欧姆。 2 指的是...
2024-11-29 10:26:10

贴片电阻,电子产品中很重要的小元件,其精度等级直接影响着电路的性能。你是否了解这些小小的电阻,是如何被精确划分的呢?贴片电阻的精度等级,用字母或数字来表示,例如...
2024-11-29 10:25:40

一次性保险丝是重要的电气保护元件,应用于各种电子设备和电器中。主要功能是防止过载和短路引发的电流过大,保护设备免受损坏。当电流超过设定值时,一次性保险丝会迅速熔...
2014-06-21 00:00:00