深入解析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综合,得到电路框图如下所示:

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

审核编辑:黄飞

 

猜您喜欢

贴片电阻,顾名思义,就是表面贴装的电阻器。它体型微小,通常呈长方形,广泛应用于各种电子电路中。其主要功能是限制电流的流动,并根据欧姆定律(V=IR,电压=电流x...
2024-11-26 11:29:50

其产品线,涵盖了家电、数码、工业等多个领域。其中,金属膜电阻作为电子元器件的重要一员,在电路设计中是不可少的配件。本文将深入探讨Panasonic金属膜电阻品牌...
2019-04-05 20:55:11

半圆头铆钉是应用于各类工业和手工艺品中的紧固件,其规格尺寸直接影响到使用效果和连接强度。半圆头铆钉的直径和长度是两个主要的规格参数。常见的直径范围从2mm到12...
2022-08-14 00:00:00

贴片电阻焊接是一种应用于电子产品制造的连接技术,通过将贴片电阻牢固地焊接在电路板上,实现电路的连接和功能实现。这项技术以其高效、可靠和精密的特点,成为现代电子制...
2024-11-29 10:25:27

地贴警示标识在不同场合和用途上有着明显的区别。根据材质的不同,地贴可分为PVC、PET和亚克力等类型,PVC地贴耐磨性强,适合高人流量区域;而PET地贴则具有更...
2020-12-13 00:00:00

磁珠和电感是电子元件。许多人常常混淆这两个概念。本文将探讨磁珠是否是电感。我们将分为几个部分来讨论。磁珠的定义磁珠是一个小元件。通常由铁氧体材料制成。的主要作用...
2025-03-21 18:31:07

砂轮、砂轮片和云石片是工业加工中常用的磨削工具。砂轮是由磨料颗粒和粘合剂构成的圆盘状工具,主要用于金属、木材和其材料的磨削和切割。砂轮片则是砂轮的一个变种,通常...
2024-08-30 00:00:00

钢丝绳是由多根钢丝相互缠绕而成的绳索,应用于建筑、矿山、运输等领域。基本结构通常由多股钢丝组成,每股又由多根细钢丝编织而成,这种设计使得钢丝绳具有极高的强度和韧...
2020-03-05 00:00:00

瓷管电阻因其良好的耐高温性能和稳定的电阻值,被应用于各种电路设计中。作为行业内知名品牌,Panasonic(松下)瓷管电阻优异的品质和可靠性深受用户青睐。面对市...
2012-11-26 05:35:30

由于现在芯片性能越来越强,对于功耗的控制力也变弱了,因此很多手机芯片出现了发热严重的问题,尤其是在打游戏的时候,那么麒麟9000发热严重吗。麒麟9000的手机有...
2023-08-30 14:20:00