Verilog学习--端口

verilog基本语法学习笔记 表征模块的开始与结束。:模块名可由用户指定,可包含字母、数字及下划线,需以字母开头,区分大小写:赋值操作关键字,该关键字后可跟一个赋值表达式,该关键字是实现组合逻辑操作的一种主要描述方式。:表征该信号的方向,除输入、输出外还有一种inout(输入输出)型。 阅读详情

端口

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

端口基本语法约定

  • 端口必须被声明
  • 端口声明不可重复
  • 端口声明既可在端口列表内也可在列表外

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

端口声明

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

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

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

端口连接规则

方向内部外部
inputwirewire 或 reg
outputwire 或 regwire
inoutwirewire

对于input和output我是这样理解的,内部是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语法(可综合的语法子集) 可综合的语法子集 1、模块声明类语言:module…endmodule module后加该模块的命名,取名没有任何限制,随后加“()”内罗列出该模块的所有输出/输入端口信号名。 用法描述 module my_first_prj(<端口信号列表> … ); <逻辑代码> … endmodule 2、端口声明:input(输入信号)、output(输出信号)inout(双向) 每个module都有输入和输出的信号用于和外部器件或其他module进行连接。所以要在module后的“ 阅读详情

相关推荐

Verilog基本语法介绍(上)

这算是最详细的Verilog基本语法介绍了

m0_73636161的博客 1745

verilog端口声明

verilog端口声明

zzh8082的博客 3407

verilog语法学习心得(转载)

verilog语法学习心得 1.数字电路基础知识: 布尔代数、门级电路的内部晶体管结构、组合逻辑电路分析与设计、触发器、时序逻辑电路分析与设计2.数字系统的构成: 传感器  AD  数字处理器  DA  执行部件3.程序通在硬件上的执行过程:     C语言(经过编译)-->该处理器的机器语言(放入存储器)-->按时钟的节拍,逐条取出指令、分析指令、执行指令4.DSP处理是个广

leehyfer的专栏 3788

Verilog中端口应该设置为wire形还是reg形

初学Verilog时,一直搞不清Verilog描述模块时端口应该取什么类型;是reg形?还是wire形?模块对应测试文件的端口类型为什么又与模块的端口类型不一样?因此有必要进行学习与整理: 先写结论: verilog中的端口具有三种传输方向:input、output、和inout,所有的端口均默认为wire类型; 模块描述时,input端口只能为线网形,output端口可以为线网/reg,i...

CLL_caicai的博客 1万+

50天学习FPGA第16天-verilog的模块与端口

本文介绍了Verilog模块的基本结构和端口定义。模块由module开始,包含模块名、端口列表等必要部分,以及可选的变量声明、数据流语句等组成部分。端口是模块与外界交互的接口,保持接口不变可确保模块内部修改不影响外部环境。文章通过四位加法器示例说明端口列表的使用,并指出顶层模块可能不需要端口列表。同时解释了模块实例的端口连接规则和层次引用标识符的方法。

whm128的博客 201

(150)Verilog[真正双端口RAM设计]

第一,Verilog HDL是一种硬件描述语言(HDL:Hardware Description Language),以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。Verilog HDL和VHDL是世界上最流行的两种硬件描述语言,都是在20世纪80年代中期开发出来的。前者由Gateway Design Automation公司(该公司于1989年被Cadence公司收购)开发。两种HDL均为IEEE标准。

m0_46498597的博客 387

Verilog HDL学习——双向端口设计

qq_42295125的博客 716

(36)Verilog实现RAM【双端口】

FPGA(Field Programmable Gate Array)是在PAL、GAL等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA设计不是简单的芯片研究,主要是利用 FPGA 的模式进行其他行业产品的设计。与 ASIC 不同,FPGA在通信行业的应用比较广泛。

m0_46498597的博客 1118

「Verilog学习笔记」单端口RAM

本专栏的内容主要是记录本人学习Verilog过程中的一些知识点,刷题网站用的是牛客网input clk,input rst,input enb,integer i;i < 127;i = i + 1)else if (enb) // 使能高电平写数据end// 使能低电平读数据endmodule。

KS的博客 736

(33)Verilog实现ROM【单端口】

FPGA(Field Programmable Gate Array)是在PAL、GAL等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA设计不是简单的芯片研究,主要是利用 FPGA 的模式进行其他行业产品的设计。与 ASIC 不同,FPGA在通信行业的应用比较广泛。

m0_46498597的博客 751

(149)Verilog[伪双端口RAM设计]

第一,Verilog HDL是一种硬件描述语言(HDL:Hardware Description Language),以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。Verilog HDL和VHDL是世界上最流行的两种硬件描述语言,都是在20世纪80年代中期开发出来的。前者由Gateway Design Automation公司(该公司于1989年被Cadence公司收购)开发。两种HDL均为IEEE标准。

m0_46498597的博客 224

Verilog HDL学习笔记(四)| 第4章 模块和端口

在Verilog中,每个模块实例、信号或变量都处于设计层次中的唯一位置。层次命名允许你通过完整的路径名来访问设计中的任何信号或实例。层次名由一串用点顶层模块名.子模块实例名.子子模块实例名.信号名。

2401_88251472的博客 321

(53)Verilog实现单端口ROM【ROM IP】

FPGA(Field Programmable Gate Array)是在PAL、GAL等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA设计不是简单的芯片研究,主要是利用 FPGA 的模式进行其他行业产品的设计。与 ASIC 不同,FPGA在通信行业的应用比较广泛。

m0_46498597的博客 297

Verilog学习笔记-——Verilog模块例化

Verilog模块例化 在一个模块中引用另一个模块,对其端口进行相关连接,叫做模块例化。模块例化建立了描述的层次。信号端口可以通过位置或名称关联,端口连接也必须遵循一些规则。 1. 命名端口连接 这种方法将需要例化的模块端口与外部信号按照其名字进行连接,端口顺序随意,可以与引用 module 的声明端口顺序不一致,只要保证端口名字与外部信号匹配即可。 下面是例化一次 1bit 全加器的例子: full_adder1 u_adder0( .Ai (a[0]), .Bi (b[

秋之的博客 1万+

Computer Networks 和 Computer & Security投稿经验

论文投稿

qq_50604294的博客 9234

异步bus交互(一)— 两级DFF同步器

异步bus交互(一)— 两级DFF同步器 跨时钟域处理 & 亚稳态处理 1.问题产生 现在的芯片(比如SOC,片上系统)集成度和复杂度越来越高,通常一颗芯片上会有许多不同的信号工作在不同的时钟频率下。比如SOC芯片中的CPU通常会工作在一个频率上,总线信号(比如DRAM BUS)会工作在另一个时钟频率下,而普通的信号又会工作在另外的时钟频率下。这3个不同时钟频率下工作的信号往往需要相互沟通和传递信号。 不同时钟域下的信号传递就涉及到跨时钟域信号处理,因为相互之间的频率、相位不一样,如果不做处理或者

qq_44816673的博客 5121

verilog学习笔记(二)程序的基本结构

verilog学习笔记 文章目录verilog学习笔记前言一、Verilog语言的逻辑抽象层级二、verilog程序的构成verilog中的逻辑与数字表示:总结 前言 前面的学习笔记是在看程序时遇到什么问题就记下来然后去查资料整理的,后续的学习笔记会更加系统的整理verilog相关的内容。 一、Verilog语言的逻辑抽象层级 Verilog作为硬件电路语言,将电路抽象为程序,用代码去控制电路的运行。我们可以使用verilog语言去实现各种各样的功能。当需要去完成一个复杂的工程时,我们需要将工程分解为

bjwhile的博客 2223

S32K3 eMIOS输入捕获(ICU)全解析:从信号测量到代码实现

本文深入解析了S32K3 eMIOS输入捕获(ICU)技术,从信号测量到代码实现的完整流程。详细对比了六种核心捕获模式的性能差异,提供了动态模式切换、Counter Bus配置、中断服务程序优化等实战技巧,并分享了汽车电子中的典型应用案例,如发动机转速测量和CAN唤醒脉冲检测。

weixin_33137081的博客 347

rt-thread端口时钟使能_(实现BPSK学习Verilog)2. m序列的verilog实现以及使能信号解决跨时钟域问题...

BPSK的Simulink仿真实现简单介绍了BPSK信号产生的整体流程,现在开始进行对应模块的verilog实现讲解。本文主要介绍m序列的基础知识,m序列的verilog实现以及使能信号的使用问题。m序列等verilog代码公开在这:m序列​github.com根据《通信原理》一书可知,m序列是最长线性反馈移位寄存器的简称,它产生的伪随机序列的周期与其反馈移存器级数有关;m序列的属性有很多,比如:...

weixin_39929153的博客 568

忘记安卓锁屏密码怎么办?3种方法教你用ADB恢复访问(含gesture.key解密)

本文详细解析了安卓设备锁屏密码的存储与加密机制,特别是gesture.key文件的解密原理。针对遗忘密码的常见问题,提供了三种核心恢复方法:利用ADB调试接口删除密码文件、对gesture.key进行离线分析与解密,以及应对高版本系统的替代方案。重点介绍了通过ADB工具在Recovery模式下操作的具体步骤,帮助用户在合法合规前提下恢复设备访问权限。

php55的博客 959

告别屏幕适配焦虑:用AndroidAutoSize 1.2.1搞定多尺寸设备(附AndroidX兼容方案)

本文详细介绍了AndroidAutoSize 1.2.1在屏幕适配中的应用,帮助开发者高效解决多尺寸设备适配问题。通过动态计算机制,AutoSize显著提升了UI一致性和开发效率,特别适合处理横竖屏切换、折叠屏等复杂场景。文章还提供了AndroidX兼容方案和性能优化建议,是Android开发者的实用指南。

weixin_42535461的博客 190

8位寄存器verilog代码_Verilog HDL菜鸟学习笔记———三、Verilog常用语法之一

1.一个完整版实例上一次Verilog学习笔记中,我通过几个小例子,较为直观的对Verilog编程有了一些了解。这次笔记,我开始着重的系统学习Verilog编程语法基础。在我系统学习语法之前,我先用一个实例,引入这次笔记。上图被测试器件被测试器件DUT 是一个二选一多路器。测试装置(test testbench or fixture)提供测试激励及验证机制。TestBench 使用行为级描述,DU...

weixin_42134285的博客 3322

逐行逐句进一步了解SurroundOcc(一)

通过分析中的模型构建过程,理解了从配置文件到模型实例化的整个流程。构建过程的核心是通过build和等函数,逐步将配置文件解析并生成模型的各个模块对象,最终组合成一个完整的模型结构。这一过程涉及多个类和函数的调用,其中函数是生成对象的关键,它能够从配置字典中提取必要信息并生成对应的类实例。

lovely_yoshino的博客 8113

verilog语法学习心得

<br />verilog语法学习心得<br /><br />1.数字电路基础知识: 布尔代数、门级电路的内部晶体管结构、组合逻辑电路分析与设计、触发器、时序逻辑电路分析与设计<br />2.数字系统的构成: 传感器  AD  数字处理器  DA  执行部件<br />3.程序通在硬件上的执行过程:<br />     C语言(经过编译)-->该处理器的机器语言(放入存储器)-->按时钟的节拍,逐条取出指令、分析指令、执行指令<br />4.DSP处理是个广泛概念,统指在数字系统中做的变换(DFT)、滤波、

1364

手机抽奖页面代码html,html5大转盘抽奖支持手机转盘抽奖代码

特效描述:html5 大转盘抽奖 支持手机 转盘抽奖代码。html5转盘,html5抽奖,手机转盘,手机抽奖,手机转盘抽奖,可配置奖品抽奖。代码结构1. 引入CSS2. 引入JS3. HTML代码大转盘活动var turnplate={restaraunts:[],//大转盘奖品名称colors:[],//大转盘奖品区块对应背景颜色outsideRadius:192,//大转盘外圆的半径textR...

weixin_39628551的博客 1872

SwinTransformer 改进:SSPCAB模块(2024最新改进方法)

SSPCAB(Spatial Pyramid Pooling with Channel Attention Block)是2024年提出的一种新型神经网络架构改进方法,专注于在保持高精度的同时显著降低计算复杂度和参数量。该方法通过创新的空间金字塔池化与通道注意力机制的结合,实现了网络结构的紧凑化和运算效率的大幅提升。核心创新点1. 混合空间金字塔池化(Hybrid Spatial Pyramid Pooling, HSPP)多尺度动态核池化:根据输入特征图尺寸动态调整池化核大小和步长交叉级联结构。

Henry的博客 1311
上一篇: Perl学习-输入与输出(01)
下一篇: Verilog学习--移位操作符、原码补码
行走的BUG永动机
博客等级 码龄7年 61粉丝 54原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值