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

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

3天内不再提示

Verilog语法基础

工程师 来源:网络整理 作者:h1654155205.5246 2019-03-08 14:29 次阅读

Verilog语法基础

一、Verilog HDL

Verilog HDL是一种用于数字系统设计的语言。用Verilog HDL描述的电路设计就是该电路的Verilog HDL模型也称为模块。Verilog HDL既是一种行为描述的语言也是一种结构描述的语言。这也就是说,无论描述电路功能行为的模块或描述元器件或较大部件互连的模块都可以用Verilog语言来建立电路模型。如果按照一定的规矩编写,功能行为模块可以通过工具自动地转换为门级互连模块。Verilog模型可以是实际电路的不同级别的抽象。这些抽象的级别和它们对应的模型类型共有以下五种:

1.1、 系统级(system): 用语言提供的高级结构实现设计模块外部性能的模型。

1.2、 算法级(algorithm): 用语言提供的高级结构实现算法运行的模型。

1.3、 RTL级(Register Transfer Level):描述数据在寄存器之间流动和如何处理和控制这些数据流动的模型。

1.4、 门级(gate-level):描述逻辑门以及逻辑门之间的连接的模型。

1.5、 开关级(switch-level):描述器件中三极管和储存节点以及它们之间连接的模型。

二、Verilog HDL模块

一个复杂电路系统的完整Verilog HDL模型是由若干个Verilog HDL模块构成的,每一个模块又可以由若干个子模块构成。其中有些模块需要综合成具体电路,而有些模块只是与用户所设计的模块有交互联系的现存电路或激励信号源。利用Verilog HDL语言结构所提供的这种功能就可以构造一个模块间的清晰层次结构来描述极其复杂的大型设计,并对所作设计的逻辑电路进行严格的验证。

Verilog HDL行为描述语言作为一种结构化和过程性的语言,其语法结构非常适合于算法级和RTL级的模型设计。这种行为描述语言具有以下功能:

(1)、可描述顺序执行或并行执行的程序结构。

(2)、用延迟表达式或事件表达式来明确地控制过程的启动时间。

(3)、通过命名的事件来触发其它过程里的激活行为或停止行为。

(4)、提供了条件、if-else、case、循环程序结构。

(5)、提供了可带参数且非零延续时间的任务(task)程序结构。

(6)、提供了可定义新的操作符的函数结构(function)。

(7)、提供了用于建立表达式的算术运算符、逻辑运算符、位运算符。

Verilog HDL作为一种高级的硬件描述编程语言,与C语言的风格有许多类似之处。其中有许多语句如:if语句、case语句等和C语言中的对应语句十分相似。如果读者已经掌握C语言编程的基础,那么学习Verilog HDL并不困难。我们只要对Verilog HDL某些语句的特殊方面着重理解,并加强上机练习就能很好地掌握它,就能利用它的强大功能来设计复杂的数字逻辑电路系统。

三、模块的结构

3.1.模块的结构

Verilog的基本设计单元是“模块”(block)。一个模块是由两部分组成的,一部分描述接口,另一部分描述逻辑功能,即定义输入是如何影响输出的。下面举例说明:

请看上面的例子: 程序模块旁边有一个电路图的符号。在许多方面,程序模块和电路图符号是一致的,这是因为电路图符号的引脚也就是程序模块的接口。而程序模块描述了电路图符号所实现的逻辑功能。以上就是设计一个简单的Verilog程序模块所需的全部内容。从上面的例子可以看出,Verilog结构位于在module和endmodule声明语句之间,每个Verilog程序包括四个主要部分:端口定义、I/O说明、内部信号声明、功能定义。

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

    关注

    28

    文章

    1351

    浏览量

    110074
  • 语法
    +关注

    关注

    0

    文章

    44

    浏览量

    9807
收藏 人收藏

    评论

    相关推荐

    Verilog与VHDL的比较 Verilog HDL编程技巧

    Verilog 与 VHDL 比较 1. 语法和风格 VerilogVerilog语法更接近于 C 语言,对于有 C 语言背景的工程
    的头像 发表于 12-17 09:44 110次阅读

    Verilog硬件描述语言参考手册

    一. 关于 IEEE 1364 标准二. Verilog简介三. 语法总结四. 编写Verilog HDL源代码的标准五. 设计流程
    发表于 11-04 10:12 0次下载

    Verilog语法中运算符的用法

    verilog语法中使用以下两个运算符可以简化我们的位选择代码。
    的头像 发表于 10-25 15:17 583次阅读
    <b class='flag-5'>Verilog</b><b class='flag-5'>语法</b>中运算符的用法

    Verilog HDL的基础知识

    本文继续介绍Verilog HDL基础知识,重点介绍赋值语句、阻塞与非阻塞、循环语句、同步与异步、函数与任务语法知识。
    的头像 发表于 10-24 15:00 335次阅读
    <b class='flag-5'>Verilog</b> HDL的基础知识

    如何用FPGA实现一个通信系统的发射端接收机?

    基础(略懂verilog语法和通信原理)的人该怎么一步步学习? A:对于这个问题,分两部分回答,一部分是如何设计以及思路,另一部分是规划学习路线。拙见,仅供参考。 如何设计以及思路如下: 以下是使用 FPGA
    发表于 09-10 19:15

    FPGA学习笔记---基本语法

    Verilog语法是指硬件能够实现的语法。它的子集很小。常用的RTL语法结构如下: 1、模块声明:module ... end module 2、端口声明:input, output,
    发表于 06-23 14:58

    关于Verilog的一些基本语法

    示寄存器,可用来存储数据的。 ②、如何对变量进行赋值呢? 学习C语言可以知道赋值就是用=号,比方int a = 15;//将15赋值给a;然而在verilog语法中也有 =(阻塞赋值) 这种赋值方式
    发表于 05-31 18:31

    Verilog到VHDL转换的经验与技巧总结

    Verilog与VHDL语法是互通且相互对应的,如何查看二者对同一硬件结构的描述,可以借助EDA工具,如Vivado,打开Vivado后它里面的语言模板后,也可以对比查看Verilog和VHDL之间的差异。
    的头像 发表于 04-28 17:47 2412次阅读
    <b class='flag-5'>Verilog</b>到VHDL转换的经验与技巧总结

    有什么好用的verilog HDL编辑工具可用?

    有什么好用的verilog HDL编辑工具可用?最好能集成实时的verilog HDL语法检测、自定义模块识别触发等功能,最好能够免费;
    发表于 04-28 11:00

    如何快速入门FPGA

    时钟管理模块、嵌入式块RAM、布线资源等。 学习FPGA编程语言: 掌握Verilog HDL(硬件描述语言)。Verilog用于数字电路的系统设计,具有简洁的语法和清晰的仿真语义,非常适合初学者入门
    发表于 04-28 09:06

    如何快速入门FPGA?

    时钟管理模块、嵌入式块RAM、布线资源等。 学习FPGA编程语言: 掌握Verilog HDL(硬件描述语言)。Verilog用于数字电路的系统设计,具有简洁的语法和清晰的仿真语义,非常适合初学者入门
    发表于 04-28 08:54

    verilog双向端口的使用

    输出信号。本文将详细介绍Verilog双向端口的使用,并提供示例说明其在实际应用中的作用。 第一部分:双向端口的定义和语法Verilog中,可以使用wire声明一个双向端口。例如:wire bidirectional_por
    的头像 发表于 02-23 10:18 1396次阅读

    verilog task和function区别

    verilog中的task和function都是用于实现模块中的可重复的功能,并且可以接收参数和返回结果。但是它们在编写和使用上有一些区别。下面将详细介绍task和function的区别。 语法
    的头像 发表于 02-22 15:53 1055次阅读

    FPGA入门篇(三)至简原理与应用-Verilog语法#电路原理 #电子技术 #FPGA #物联网 #云计算

    fpga物联网
    明德扬助教小易老师
    发布于 :2024年01月23日 07:22:58

    verilog语法-如何使用function提高效率?

    function的作用返回一个数值,此数值由一串组合逻辑代码计算得到。
    的头像 发表于 12-25 15:27 2547次阅读
    <b class='flag-5'>verilog</b><b class='flag-5'>语法</b>-如何使用function提高效率?