0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

系统模块与子模块的实例化设计

冬至子 来源:电子技术实验XJTU 作者:孙敏 2023-09-17 16:03 次阅读

在层次化的设计当中,我们常常将复杂电路系统进行功能模块划分,先设计各个子功能模块电路,然后再在顶层模块中通过实例化这些子模块,并通过各个子模块的输入输出端口进行模块间的互联,来实现复杂电路设计

在这里,为了说明实例化的方法,我使用了一个简单的门电路的例子,帮助大家理解和掌握。当然,在实际当中我们是不会去这样去进行设计的,当有了这样的逻辑表达式,我们仅使用一条assign语句就可以实现设计了。这里仅仅是给大家演示实例化的方法。

0****1系统模块划分

要实现一个与或非逻辑的电路,可以先将这个电路进行模块划分,根据功能划分为与门和或非门,如下图所示。

图片

△ 与或非门模块划分

0****2子模块设计

模块划分好后,分别对与门和或非门进行独立设计。在这里,我们可以将子功能模块看作一个电路或者一个具有一定功能的芯片,我们现在要对这个芯片进行设计。设计包括模块名称、端口声明,电路功能描述。

图片

△ 子功能模块设计

03顶层模块搭建

子模块设计好后,我们需要再新建一个源程序.v文件作为顶层文件,并进行顶层模块的设计。顶层模块的端口就是最终整个电路的端口。与或非门有四个输入端口,分别是A、B、C和D,输出端口是L。

**规则:**顶层模块中只出现模块的实例化,不要有assign或always等功能描述语句。

接下来,我们要将设计的子模块实例化到顶层文件中。这个过程就好像将一个个带引脚的芯片,用导线将他们的引脚根据输入输出关系进行连接,形成最终的数字电路系统。

模块实例化中信号与模块端口的接方式有两种,位置对应方式和名称对应方式。

(1)位置对应方式

实例化模块时,上层模块的信号必须严格按照低层模块端口声明的顺序一一对应连接。例如本示例中可以这样写:

my_AND U1 (A, B, c1);

my_AND U2 (C, D, c2);

my_NOR U3 (c1, c2, L);

(2)名称对应方式(推荐

实例化模块时,使用端口名称进行连接,使用“.”符号标明原模块定义的端口,其后所跟括号中为与之相连接的信号名,如下图所示,即为名称对应方式的写法。此方式不需要按顺序排列。

图片

△ 顶层模块设计

my_AND是子模块的模块名,实例化后的实例需要一个名称来唯一指定该器件,例如这里的U1、U2和U3。a、b、c是原子模块中定义的端口名称,括号中是在顶层模块中所要连接的端口。

模块内部信号,要声明为wire型,如这里的c1和c2。

总结一下,在设计之初,我们需要将电路系统进行模块划分,然后进行子模块设计,具有相同功能和端口的电路,只需要设计一次,然后在顶层模块中进行子模块的实例化,每个实例都有独一无二的实例名,因为他对应的实实在在的电路,在对相同的模块进行实例化时,实例化几次就产生几个相同的电路,由实例名唯一指定。最后通过端口和信号线将子模块的输入输出根据逻辑关系进行连接。

04自顶向下的设计

自顶向下是一种设计思想,是解决复杂问题的有效方法。在数字系统设计中,设计者要先从整个系统的功能和结构出发,先进行最上层的设计。例如,与或非门设计示例中,我们先设计整个系统的模块名,输入、输出端口。

接下来,将系统分成若干个子系统,每个子系统分成若干功能模块,模块还可以继续向下划分成子模块,直至分成许多最基本的数字功能电路。

在自顶向下的设计中,我们可以先逐级设计每一层次中各个子系统或子模块的输入、输出端口,以及模块之间的连接关系。根据设计可以在在顶层模块中,将各个子系统通过实例化进行连接。此时,可以不必关心模块具体是如何实现的,底层模块的具体设计可以放在最后去完成。

也就是说,实际上,上述“ 02子模块设计 与“ 03顶层模块的搭建 ”两部分的顺序应该颠倒一下,先从全局视角进行顶层模块的设计与搭建,最终再进行子模块功能设计。

而最终的系统设计与验证,则是一个自底向下的过程。先完成每个底层模块的设计与验证,再一步步逐级向上进行验证,直至整个系统正常运行。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 逻辑电路
    +关注

    关注

    13

    文章

    494

    浏览量

    42656
  • 连接器
    +关注

    关注

    98

    文章

    14585

    浏览量

    136789
收藏 人收藏

    评论

    相关推荐

    【FPGA】UART顶层模块子模块实例

    子模块实例表示的就是根据子模块(组件)的声明定义一个子模块实例,同时定义此
    发表于 10-30 09:24

    顶层调用子模块的VHDL例程

    本站提供的顶层调用子模块的VHDL例程,希望对你的学习有所帮助!
    发表于 05-27 15:38 0次下载

    汽车电子模块常用接口电路

    本文结合在实际系统设计中,模块与汽车其他电子模块进行信息互联,不同类型的接口电路实例,提供出来和大家一起来分享,希望大家一起来归纳和整理。
    发表于 09-01 16:39 2529次下载
    汽车电<b class='flag-5'>子模块</b>常用接口电路

    子模块总规范标准

    本规范规定了军用系统中采用的标准电子模块的质量与可靠性保证和采购要求
    发表于 11-02 14:29 120次下载
    电<b class='flag-5'>子模块</b>总规范标准

    新颖电子模块应用手册下载

    子模块是近十余年来发展起来的新颖电子器件,采用电子模块可以使电子产品的设计和制造得到大幅度得到大幅度的简化,同时又能提高电子产品的工作可靠性。本手册分为十章,介
    发表于 11-02 14:54 0次下载
    新颖电<b class='flag-5'>子模块</b>应用手册下载

    汽车电子模块常用接口电路

    本文结合在实际系统设计中,模块与汽车其他电子模块进行信息互联,不同类型的接口电路实例,提供出来和大家一起来分享,希望大家一起来归纳和整理。
    发表于 02-23 17:38 7次下载

    车载信息娱乐系统IO端口和电子模块的电路保护注意事项

    车载信息娱乐系统IO端口和电子模块的电路保护注意事项
    发表于 01-24 16:54 13次下载

    CPU卡水表电子模块的实现

      CPU卡水表(可选燃气表、热量表)电子模块是依据CPU卡作为介质传递数据的电子模块,CPU卡具有安全性高、稳定性强、卡容量大等特点,这些优势使得CPU卡在智能表电子模块中被广泛的应用。
    发表于 09-19 16:47 4次下载
    CPU卡水表电<b class='flag-5'>子模块</b>的实现

    新型MMC子模块及其混合拓扑

    模块化多电平换流器技术(MMC)自2001年由德国学者R.Marquart和A. Lesnicar提出后,现已成为学术界学者研究热点。MMC凭其优越的性能,具有模块化结构、易拓展、交流侧输出谐波含量
    发表于 04-10 14:36 13次下载
    新型MMC<b class='flag-5'>子模块</b>及其混合拓扑

    汽车电子模块常用不同类型的接口电路实例

    结合在实际系统设计中,模块与汽车其他电子模块进行信息互联,不同类型的接口电路实例,提供出来和大家一起来分享,这个电路经常用于多路负载并联的应用中,比如通常一个
    的头像 发表于 06-20 09:02 1.3w次阅读
    汽车电<b class='flag-5'>子模块</b>常用不同类型的接口电路<b class='flag-5'>实例</b>

    Verilog快速掌握之模块资源下载

    FPGA逻辑设计中通常是一个大的模块中包含了一个或多个功能子模块,verilog通过模块调用或称为模块实例
    发表于 04-30 09:30 25次下载

    面包板电源端子模块

    电子发烧友网站提供《面包板电源端子模块.zip》资料免费下载
    发表于 07-28 11:19 4次下载
    面包板电源端<b class='flag-5'>子模块</b>

    MMC全桥子模块电磁暂态快速模型建模

    前一篇我们介绍过半桥子模块级联电磁暂态快速模型建模(MMC 半桥子模块电磁暂态快速模型建模),同样的思路,可以搭建全桥子模块级联拓扑的快速等效模型。半桥子模块主要用在柔性直流输电(MM
    的头像 发表于 08-06 11:51 3335次阅读
    MMC全桥<b class='flag-5'>子模块</b>电磁暂态快速模型建模

    子模块用的电源设计

    电子发烧友网站提供《电子模块用的电源设计.doc》资料免费下载
    发表于 11-15 09:57 0次下载
    电<b class='flag-5'>子模块</b>用的电源设计

    西门子模块型号都代表什么意思

    西门子(Siemens)是一家德国跨国公司,其产品涵盖了工业自动、能源、医疗、交通等多个领域。在工业自动领域,西门子提供了各种模块化产品,包括PLC(可编程逻辑控制器)、HMI(人机界面
    的头像 发表于 06-11 16:20 5116次阅读