FPGA基础知识-模块和端口

这篇具有很好参考价值的文章主要介绍了FPGA基础知识-模块和端口。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

学习目标

学习内容

 端口

端口列表

端口声明

端口链接规则

学习时间

总结


学习目标:

1.说明Verilog 模块定义中的各个组成部分,例如模块名、端口列表、参数、变址声明、数据流描述语句、行为语句、调用(实例引用》其他模块以及任务和函数等。

2.说明verilog模块定义中的各个组成部分,例如模块名、端口列表、参数、变址声明、数据流描述语句、行为语句、调用(实例引用“其他模块以及任务和函数等.


3.理解如何定义模块的端口列表以及在 Verilog中如何声明,理解如何定义模块的端口列表以及在verilog中如何声明.


4.讲述模块实例的端口连接规则。讲述模块实例的端口连接规则.


5.理解如何通过有序列表和名字将端口与外部信号相连。·解释对verilog标识符的层次引用。 理解如何通过有序列表和名字将端口与外部信号相连.·解释对verilog标识符的层次引用.


学习内容:

          通过对学习,我们知道了模块是设计中的基本功能块;在忽略模块实现的同时,重点讨论了如何对模块进行定义和调用(实例引用)。在本章中,我们将对模块的内部实现做深入的分析。 通过学习,我们知道了模块是设计中的基本功能块;在忽略模块实现的同时,重点讨论了如何对模块进行定义和调用(实例引用)。在本章中,我们将对模块的内部实现做深入的分析.

FPGA基础知识-模块和端口

       模块定义以关键字module开始,模块名、端口列表、端口声明和可选的参数声明必须出现在其他部分的前面,endmodule语句必须为模块的最后一条语句。端口是模块与外部环境交互的 、模块定义以关键字模块开始,模块名、端口列表、端口声明和可选的参数声明必须出现在其他部分的前面,终端模块语句必须为模块的最后一条语句。端口是模块与外部环境交互的 。

       只有在模块有端凹的情况下才需要有端П列表和端口声明。模块内部的5个组成部分是:变量声明、数据流语句、低层模块实例、行为语句块以及任务和函数。这些部分可以在模块中的任意位置,以任意顾序出现。在模块的所有组成部分中,只有module、模块名和endmodule 必须出现,其他部分都是可选的,用户可以根据设计的需要随意选用。在一个Verilog源文件中可以定义多个模块,Verilog 对模块的排列顾序没有要求, 通道,只有在模块有端凹的情况下才需要有端П列表和端口声明.模块内部的5个组成部分是:变量声明、数据流语句、低层模块实例、行为语句块以及任务和函数.这些部分可以在模块中的任意位置,以任意顾序出现.在模块的所有组成部分中,只有模块、模块名和终端模块必须出现,其他部分都是可选的,用户可以根据设计的需要随意选用。在一个verilog源文件中可以定义多个模块,verilog对模块的排列顾序没有要求。

       为了理解模块的各个组成部分,下面我们以SR锁存器为例进行详细说明,

FPGA基础知识-模块和端口

SR锁存器有两个输人端口S和R以及两个输出端口,SR锁存器及其激励的Verilog 描述如例所示。 锁存器有两个输人端口S和R以及两个输出端口,SR锁存器及其激励的Verilog描述如例所示. 

        在SR锁存器的描述中,显示的各组成部分并未全部出现,例如变量声明、数据流( assign)语句和行为语句块( aways和 initial结构); ·在SR锁存器的描述中,中显示的各组成部分并未全部出现,例如变量声明、数据流(Ascription)语句和行为语句块(Aways和Initial结构);

     在SR锁存器的激励模块中包括了模块名、线网/寄存器/变量声明、低层模块实例、行为语句块和endmodule语句,但是没有包括端口列表、端口声明和数据流( assign )语句;除了module和endmodule这一对关键字以及模块名,其他部分都是可选的,可以根据设计需要混合使用。 ·在SR锁存器的激励模块中包括了模块名、线网/寄存器/变量声明、低层模块实例、行为语句块和终端模块语句,但是没有包括端口列表、端口声明和数据流(赋值)语句;除了模块和终端模块这一对关键字以及模块名,其他部分都是可选的,可以根据设计需要混合使用。

 端口

端口是模块与外界环境交互的接口,例如芯片的输人、输出引脚就是它的端口。对于外部环境来讲,模块内部是不可见的,对模块的调用(实例引用〉只能通过其端口进行。这种特点为设计者提供了很大的灵活性:只要接口保持不变,模块内部的修改并不会影响到外部环境。我们也常常将端口称为终端( terminal ) 端口是模块与外界环境交互的接口,例如芯片的输人、输出引脚就是它的端口.对于外部环境来讲,模块内部是不可见的,对模块的调用(实例引用>只能通过其端口进行.这种特点为设计者提供了很大的灵活性:只要接口保持不变,模块内部的修改并不会影响到外部环境.我们也常常将端口称为终端(终端).

端口列表

        在模块的定义中包括一个可选的端口列表。如果模块和外部环境没有交换任何信号,则可以没有端口列表。考虑一个在顶层模块Top中被调用(实例引用)的四位加法器、显示了输人/输出端口的示意图。在中,Top是一个顶层模块,在其中调用(实例引用)了模块fulladd4,模块fulladd4从端口a,b和c_in读人数据,将结果从 sum和c_out 端口送出,这样它就可以作为加法器被外界调用(实例引用)。模块‘Top的作用是作为仿真中的顶层模块,调用(实例引用)设计模块。它无需和周围环境交换信息,因此没有端口列表。两个模块定义中的模块名和端口列表如所示。

FPGA基础知识-模块和端口

FPGA基础知识-模块和端口 

 

端口声明

FPGA基础知识-模块和端口

 在Verilog 中,所有的端口隐含地声明为wire类型,因此如果希望端口具有wire数据类型,将其声明为三种类型之一即可;如果输出类型的端口需要保存数值,则必须将其显式地声明为reg数据类型。在下面的中,DFF触发器模块的输出端口q需要保持它的值,直到下一个时钟边沿,其端口声明如所示。

端口链接规则

我们可以将-个端口看成是由相互连接的两个部分组成,一部分位于模块的内部,另一部分位于模块的外部。当在一个模块中调用(实例引用)另--个模块时,端口之间的连接必须遵守一些规则。如果违反了这些规则,则Verilog仿真器会报错。中对这些规则进行了总结。

输入端口:从模块内部来讲,输入端口必须为线网数据类型;从模块外部来看,输入端口可以连接到线网或reg数据类型的变量。

输出端口:从模块内部来讲、输出端口可以是线网或reg数据类型;从模块外部来看,输出必须连接到线网类型的变量,而不能连接到reg类型的变量。

输入输出端口:从模块内部来讲,输入/输出端口必须为线网数据类型;从模块外部来看,输人/输出端口也必须连接到线网类型的变址。


学习时间:

   2023.6.12晚

总结:

提示:这里统计学习计划的总量

        模块定义包括多个组成部分。关键字module 和endmodule是必须使用的。其他各个部分,诸如端口列表、端口声明、变量和信号声明、数据流语句、行为语句块.低层模块实例以及任务和函数都是可选的,由用户根据需要进行添加。 模块定义包括多个组成部分.关键字模块和终端模块是必须使用的。其他各个部分,诸如端口列表、端口声明、变量和信号声明、数据流语句、行为语句块.低层模块实例以及任务和函数都是可选的,由用户根据需要进行添加.

       端口是模块与其他模块或外部环境通信的渠道。模块可以具有一个端口列表,其中的每个端口必须在模块中声明为输入、输出或输人/输出三种类型之一。在对模块进行调用(实例引用)的时候,必须遵守有关端口连接的规则、ANSI C风格的端口声明将端口声明嵌人到端口列表中。

      端口的连接方法有两种:顺序连接和命名连接. ·端口的连接方法有两种:顺序连接和命名连接.

      设计中的每个标识符都具有惟一的层次名,它使得用户可以在设计中的任何位置访问设计中的每个标识符。文章来源地址https://www.toymoban.com/news/detail-480704.html

到了这里,关于FPGA基础知识-模块和端口的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 什么是端口映射?端口映射基础知识介绍

    端口映射又叫做端口转发、虚拟服务器,不同的宽带路由器的命名有所不同。内网的一台电脑要上因特网对外开放服务或接收数据,都需要端口映射。 端口映射分为动态和静态。动态端口映射:内网中的一台电脑要访问网站,会向NAT网关发送数据包,包头中包括对方网站IP、

    2024年02月08日
    浏览(43)
  • Linux 网络基础(1)基础知识、IP地址、端口、协议、网络字节序

    网络发展背景: 网络的划分:局域网(覆盖范围在1000m以内)、城域网(覆盖范围在20km以内)、广域网(更大范围) 组网方式:以太网、令牌环网.... 日常名词:互联网,因特网----说的是一个网络,就是国际化的广域网 网卡:实现数字信号与电信号之间的转换 中继器:信号

    2024年02月05日
    浏览(93)
  • [FPGA] 7系列FPGA的基础知识

    Virtex-7 Family是Xilinx公司推出的一系列FPGA器件,采用了28纳米工艺制造。它是Xilinx公司的第一个采用28纳米工艺的FPGA系列,提供了高性能、低功耗和灵活性的特点。 Virtex-7 Family提供了不同规模的器件,包括Virtex-7 XT、Virtex-7 HT、Virtex-7 H580T、Virtex-7 VXT和Virtex-7 VX系列,每个系列都

    2024年02月09日
    浏览(45)
  • FPGA基础知识

    FPGA是在PAL、PLA和CPLD等可编程器件的基础上进一步发展起来的一种更复杂的可编程逻辑器件。它是ASIC领域中的一种半定制电路,既解决了定制电路的不足,又克服了原有可编程器件门电路有限的缺点。 由于FPGA需要被反复烧写,它实现组合逻辑的基本结构不可能像ASIC那样通过

    2024年02月03日
    浏览(38)
  • 第一篇 FPGA基础知识

    FPGA的全称为Field-ProgrammableGateArray,即现场可编程门阵列。 在开始学习FPGA之前,同学们首先应该清楚地了解FPGA的概念,明白FPGA到底是什么东西,可以用来做什么。FPGA是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物,是作为专用集成电路(ASIC)领域中的一种半定制

    2024年02月07日
    浏览(69)
  • FPGA基础知识点

    基础知识 逻辑值 逻辑0:表示低电平,也就是对应电路GND 逻辑1:表示高电平,也就是对应电路VCC 逻辑X:表示未知,有可能是高电平也有可能是低电平 逻辑Z:表示高阻态,外部没有激励信号,是一个悬空状态 数字进制格式 Verilog数字进制格式包括 二进制(b) , 八进制(

    2024年02月03日
    浏览(52)
  • FPGA基础知识-时序和延迟

    目录 学习目标: 学习内容: 1.延迟模型的类型 2.路径延迟建模 3.时序检查 4.延迟反标注 学习时间: 学习总结 提示:这里可以添加学习目标 ·鉴别Verilog 仿真中用到的延迟模型的类型,分布延迟、集总( lumped)延迟和引脚到引脚〔路径)的延迟。 能解释rise. fall和 turn-off延迟

    2024年02月09日
    浏览(40)
  • FPGA基础知识-行为级建模

    目录 学习目标 学习内容 1.结构化过程语句 2.过程赋值语句 3.时序控制 4.条件语句 5.多路分支语句 6.循环语句 7.顺序块和并行块      8.生成块 学习时间 学习产出 解释结构化过程always和initial在行为级建模中的重要性, 定义阻塞( blocking〉和非阻塞( non-blocking )过程性赋值语句

    2024年02月12日
    浏览(52)
  • FPGA基础知识-任务和函数

    目录 学习目标 学习内容 1.任务和函数的区别 2.任务 3.函数 学习时间 学习总结 1.理解任务和函数之间的区别。 2.理解定义任务所需的条件,学会任务的声明和调用。 3.理解定义函数所需的条件.学会函数的声明和调用。 提示:这里可以添加要学的内容      在 Verilog中,任务

    2024年02月10日
    浏览(37)
  • FPGA基础知识-实用建模技术

    目录 学习目标: 学习内容: 1.过程连续赋值 2.改写参数 3.条件编译和执行 4.时间尺度 5.常用的系统任务 学习时间: 学习总结 提示:这里可以添加学习目标 1.掌握怎样在模块调用时用defparam语句重新定义参数值J解释条件编译和Verilog 插述部件的执行。· 2.认识和理解系统任务

    2024年02月10日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包