首页 > 技术 > 内容

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

时间:2026-02-01  作者:Diven  阅读:0

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

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

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

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

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

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

顶层模块代码如下所示:

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

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

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

审核编辑:黄飞

 

猜您喜欢


肖特基二极管是重要的半导体器件,应用于各种电子电路中。由于其独特的特性,在电源管理、开关电源、整流电路等领域发挥着重要作用。了解肖特基二极管的正负位置对于正确使...
2025-04-08 12:30:03
电容器是电子设备中重要部件。了解电容型号对选购非常重要。本文将教你如何看电容型号,帮助你更好地选择电容。电容型号的组成电容型号通常包含字母和数字。字母代表类型,...
2025-04-11 23:31:41
贴片电阻,电子产品中的常见元件,其型号看似复杂,其实区分起来并不难。掌握几个关键技巧,就能轻松识别。看尺寸。贴片电阻的尺寸通常用四位数字表示,例如0402、06...
2024-11-29 10:25:50
保险丝作为保护电路安全的重要元件,受到了越来越多用户的关注。旭程作为知名的保险丝品牌,其XC7系列因性能稳定、质量可靠而广受欢迎。那么,旭程XC7保险丝型号有哪...
2022-06-14 15:36:30
汽车保险丝是非常重要的配件。作为电路的安全卫士,保险丝能够有效防止电流过大引发的电路短路或火灾事故。卡亚斯(Kayas)作为知名的汽车保险丝品牌,高品质的产品和...
2024-01-29 01:29:30
防浪涌电阻作为保护电路的重要元件,有着着非常重要的作用。禾伸堂(HEC)作为知名的电子元器件制造商,其防浪涌电阻产品以优异的性能和的应用赢得了市场的认可。本文将...
2024-03-04 03:20:06
电子工程领域,变容二极管是重要的元器件,其符号和含义对于理解电路设计非常重要。变容二极管(Varicap Diode),又称为可变电容二极管,是利用反向偏置电压...
2025-04-08 10:01:07
固态接触器是应用于电气控制系统中的关键组件,其规格尺寸直接影响到设备的安装与使用效率。固态接触器的规格尺寸根据不同的型号和功能有所差异。常见的固态接触器尺寸包括...
2010-09-04 00:00:00
贴片电阻R240代表阻值为24Ω。 「R」 表示小数点,后面的数字则遵循特定的编码规则。对于三位数的编码,前两位数字表示有效数值,最后一位数字表示10的幂次方。...
2024-11-26 11:29:59