您的位置 首页 发布

FPGA学习之模块化规划概述

FPGA学习之模块化设计概述-模块化设计是FPGA设计中一个很重要的技巧,它能够使一个大型设计的分工协作、仿真测试更加容易,代码维护或升级更加便利。

模块化规划是FPGA规划中一个很重要的技巧,它能够使一个大型规划的分工协作、仿真测验愈加简略,代码保护或晋级愈加便当。

如图8.28所示,一般整个规划的顶层只做例化,不做逻辑。然后一个顶层下面会有模块A、模块B、模块C等等,模块A/B/C下又能够分多个子模块完结。

FPGA学习之模块化规划概述

图8.28 模块层次规划

如此一来,就能够将大规模杂乱体系依照必定规矩区分红若干模块,然后对每个模块进行规划输入、归纳,并将完结成果束缚在预先设置好的区域内,最终将一切模块的完结成果有机地组织起来,就能完结整个体系的规划。

关于顶层模块的规划,主管规划师需求完结顶层模块的规划输入与归纳,为进行模块化规划完结阶段的第一步即初始预算阶段(IniTIal BudgeTIng Phase)做准备。

关于子模块的规划,多个模块的规划者相对独登时并行完结各自子模块的规划输入与归纳,为进行模块化规划完结阶段的第二步即子模块的激活形式完结(AcTIve Module ImplementaTIon)做准备。

模块化规划的完结过程是整个模块化规划流程中最重要、最特别的,它包括:

●  初始预算,本阶段是完结过程的第一步,对整个模块化规划起着指导性的效果。在初始预算阶段,项目办理者需求为规划的全体进行方位布局,只要布局合理,才能够在最大程度上表现模块化规划的优势;反之,如果因布局不合理而在较后的阶段需求再次进行初始预算,则需求对整个完结过程全面返工。

●  子模块的激活形式完结(Active Module Implementation),在该阶段,每个项目成员并行完结各自子模块的完结。

●  模块的最终兼并(Final Assembly),在该阶段项目办理者将顶层的完结成果和一切子模块的激活形式完结成果有机地组织起来,完结整个规划的完结过程。

模块区分的根本原则是,子模块功用相对独立,模块内部联系尽量严密,而模块间的衔接尽量简略。关于那些难以满意模块区分原则的具有强内部相关的杂乱规划,并不合适选用模块化规划办法。

本试验,咱们就要来体会一把模块化规划。如图所示,在这个规划中,咱们的顶层模块是cy4.v,在此之前的实例中,咱们都只要孤零零的一个cy4.v是源代码文件,一切的逻辑代码都写在这个文件中,可是这个实例开端,咱们将运用模块化的规划,将各个不同的独立的功用逻辑代码别离写在不同的源文件中,然后经过“例化”的方法,将它们之间的接口互联起来。

因而,这个比如中,cy4.v文件里边其实几乎是没有详细的逻辑功用的,它仅仅做一些根本的例化和互联,将它下面的5个功用模块相关的接口信号都衔接起来。如图8.29所示,它们还详细层级的联系,一望而知,十分易于检查和修改办理。

FPGA学习之模块化规划概述

图8.29 模块层次图

2板级调试

参阅前面的例程,将本实例生成的sp6.bit文件烧录到FPGA中,接着咱们就能看到D2、D3、D4和D5这4个LED彻底同步的进行闪耀。当然了,这也至少证明了咱们的PLL输出的4个时钟相互之间所出现的倍频联系。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/fabu/336877.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部