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

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

3天内不再提示

Verilog端口连接规则

冬至子 来源:行走的BUG永动机 作者:行走的BUG永动机 2023-05-26 16:42 次阅读

端口

端口是模块与外界交互的接口,对外部环境而言,模块内部是不可见的,对模块的调用只能通过端口连接进行

端口基本语法约定如下:

端口必须被声明

端口声明不可重复

端口声明既可在端口列表内也可在列表外

模块间的数据只能通过端口进行

端口声明

根据端口的方向,端口类型有3种:输入(input)、输出(output)和双向端口(inout)

  • input 和 output 只能是wire
  • output 既可以是 wire 也可以是 reg
    • 需要保存数值时,用reg
    • 不需要保存数值时,用wire

reg类型是用于保存数值的,而输入端只能反映与其相连的外部信号的变化,并不能保存这些信号的值

端口连接规则

1.jpg

对于inpuoutput我是这样理解的,内部是reg外部就应该是wire

就比如input这一端,外部是reg,内部是wire,在这个一端,已经有一个reg类型可以用来保存数据,不需要用到两个reg来保存数值

端口连接方式

端口连接的方式有两种:按位置连接按名称连接

  1. 按位置连接
    调用模块的端口名必须与被调用模块端口列表中的位置保持一致
    //调用模块
    module name(……);
        //端口定义
        //端口描述
    
    
        /*a, b, c, d分别对用调用模块
           中的in1, in2, sel, dout*/
        mux u1(a, b, c, d);
    
    endmodule
    
    
    //调用模块
    module mux (in1, in2, sel, dout);
        //端口定义
        //端口描述
        //逻辑描述
    endmodule
    
  2. 按名称连接
    格式为:
    模块名 模块实例化名 (.被调用模块端口名(调用模块端口名));
    其中,模块实例化名 是自己随意定的一个名字,方便记忆就好
    //调用模块
    module name(……);
        //端口定义
        //端口描述
    
        //模块调用,也叫实例化
        //对应方式和上一个相同
        mux u1(.in1(a), .in2(b), .sel(c), .dout(d));
    endmodule
    
    //被调用模块
    module mux(in1, in2, sel, dout);
        //端口定义
        //端口描述
        //逻辑描述
    endmodule
    
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Verilog设计
    +关注

    关注

    0

    文章

    20

    浏览量

    6474
  • verilog接口
    +关注

    关注

    0

    文章

    2

    浏览量

    4473
收藏 人收藏

    评论

    相关推荐

    使用Verilog/SystemVerilog硬件描述语言练习数字硬件设计

    在实例化模块时,使用Verilog时有两种常用的方式来进行模块端口的信号连接:按端口顺序以及按端口名称
    的头像 发表于 09-08 09:04 1250次阅读

    如何在Verilog中声明一个2-D端口

    嗨, 任何人都知道,如何在Verilog中声明一个2-D端口。问候,怪物以上来自于谷歌翻译以下为原文Hi, Anyone know, how to declare a 2-D port in Verilog. regards,f
    发表于 01-10 10:59

    是否存在处理verilog模块的多个定义的先例规则

    我正在使用ISE 14.4并尝试合成一个网表,其中有内存核心的模块定义。我想用我自己的版本替换这些内存模块定义。在XST流程中,是否存在处理verilog模块的多个定义的“先例”规则?例如,将使
    发表于 03-01 11:20

    SDI_OUT端口与屏幕连接后显示噪音该怎么办?

    mvisdi_viodc_2VP7.bit从'viodc_sdi_verilog \ Bit Files'目录复制到fpga芯片。但它不起作用。板的SDI-IN端口与视频信号连接,SDI_OUT
    发表于 08-14 07:15

    Verilog 模块与端口

    :输入、输出端口可以采用向量的方式表示,例如:4输入端a0,a1,a2,a3,与4输入端b0,b1,b2,b3, 一一对应相与,其结果赋给对应的c0,c1,c2,3;Verilog 的描述如下
    发表于 07-23 23:08

    如何把硬件不规则端口IO映射到一个规则的软件端口中?

    如何把硬件不规则端口IO映射到一个规则的软件端口中?
    发表于 10-15 09:25

    Verilog代码命名六大黄金规则

    电子发烧友网核心提示: 关于Verilog代码中命名的六大黄金规则。 1. 系统级信号的命名。 系统级信号指复位信号,置位信号,时钟信号等需要输送到各个模块的全局信号;系统信号以字
    发表于 09-04 14:40 5811次阅读

    模块和端口介绍

    verilog的相关学习和介绍,主要介绍模块和端口
    发表于 11-10 10:21 0次下载

    Verilog HDL简明教程(2)

    模块是Verilog 的基本描述单位,用于描述某个设计的功能或结构及其与其他模块通信的外部端口
    发表于 02-11 16:58 1129次阅读
    <b class='flag-5'>Verilog</b> HDL简明教程(2)

    verilog端口类型有哪三种_verilog语言入门教程

    本文主要阐述了verilog端口的三种类型及verilog语言入门教程。
    发表于 08-27 09:29 1w次阅读

    System Verilog的概念以及与Verilog的对比

    Verilog模块之间的连接是通过模块端口进行的。 为了给组成设计的各个模块定义端口,我们必须对期望的硬件设计有一个详细的认识。 不幸的是,在设计的早期,我们很难把握设计的细节。 而且
    的头像 发表于 06-12 10:05 793次阅读

    Verilog实现讲解

    verilog第一步肯定需要将输入输出端口,常量等信息补齐全;
    的头像 发表于 06-16 09:52 391次阅读
    <b class='flag-5'>Verilog</b>实现讲解

    verilog双向端口的使用

    Verilog硬件描述语言中,端口是指连接模块(Module)与其他模块、寄存器或是物理设备的输入或输出接口。单向端口可以作为输入或输出使用,而双向
    的头像 发表于 02-23 10:18 329次阅读

    verilog调用模块端口对应方式

    Verilog是一种硬件描述语言(HDL),广泛应用于数字电路设计和硬件验证。在Verilog中,模块是构建电路的基本单元,而模块端口对应方式则用于描述模块之间信号传递的方式。本文将介绍
    的头像 发表于 02-23 10:20 390次阅读

    verilog端口类型有哪三种

    Verilog 中,端口类型有三种:输入端口(input)、输出端口(output)和双向端口(inout)。 输入
    的头像 发表于 02-23 10:28 507次阅读