VHDL语言基础-基本语句

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

目录

VHDL基本语句:

并行语句:

并行语句常包括以下七种:

赋值语句:

使用格式:

条件赋值语句:

使用格式:

选择信号赋值语句:

使用格式:

进程语句:

使用格式:

Example:D触发器:

进程语句的特点:

元件例化语句:

元件例化语句——Example:4输入与门

生成语句:

使用格式:

子程序调用语句:

使用格式:

顺序语句:

IF语句:

使用格式:

IF语句——Example:

CASE语句: 

使用格式:

CASE语句——Example:

LOOP语句:

使用格式:

EXIT语句和NEXT语句:

其它顺序语句:

等待语句WAIT:

返回语句RETURN:

空操作语句NULL:

属性描述语句:

1.信号类属性:

2.数据区间类属性:

3.数值类属性:

4.数组属性:

5.用户自定义属性:


VHDL基本语句:

VHDL语言与高级程序语言最大的不同就是VHDL语言是并发执行的,但是VHDL的基本语句包括顺序语句和并行语句。

顺序语句不能直接用在结构体中,需要用process 进行“封装”

VHDL中,不区分大小写,使用“--”表示注释


并行语句:

并行执行,其执行方式与书写顺序无关

假设信号原始值为 假设信号原始值为a=1;b=1;对于以下两种书写格式,执行结果如下:

VHDL语言基础-基本语句

并行语句常包括以下七种:

赋值语句、条件赋值语句、选择信号赋值语句、进程语句 、元件例化语句 、生成语句 、子程序调用语句


赋值语句:

将一个值或一个表达式的运算结果传递给某一数据对象。

使用格式:

VHDL语言基础-基本语句

注意:信号赋值符号为“<=”;变量和常量的赋值符号为 “:= ”


条件赋值语句:

根据执行条件,将一个值或表达式的的运算结果赋给赋值目标

使用格式:

VHDL语言基础-基本语句

注意:每一个子句结尾没有任何标点,只有最后一句有分号


选择信号赋值语句:

根据选择值的匹配,将一个值或表达式的的运算结果赋给赋值目标

使用格式:

VHDL语言基础-基本语句

注意:选择信号赋值语句的每一个子句结尾是逗号,最后一句是分号


进程语句:

本身是一个并行语句,内部是由顺序语句组成

使用格式:

VHDL语言基础-基本语句

注意:进程启动有两种方式:敏感列表和wait语句

Example:D触发器:

VHDL语言基础-基本语句

在此例中,PROCESS由敏感参数表中的reset、clk或d当敏感信发生变化时启动进程

VHDL语言基础-基本语句

在此例中,PROCESS由wait on语句启动,当等待到in1,in2信号发生变化时,进程再次执行。

进程语句的特点:

  • 进程本身是并行语句,一个结构体可以包含多个进程
  • 已列出敏感量的进程不能使用wait语句
  • 进程语句的启动只能是信号的变化
  • 当一个进程执行结束后,先挂起来,一直到有新的启动信号变化为止

元件例化语句:

将预先设计好的元件与当前设计实体中的指定端口相连接

使用格式:

VHDL语言基础-基本语句

注意:元件例化语句由两部分组成,前一部分是把一个现成的设计实体定义为一个元件,第二部分则是此元件与当前设计实体中的连接说明。

元件例化语句——Example:4输入与门

VHDL语言基础-基本语句


生成语句:

根据某些条件,复制 组完全相同的并行元件或设计单元电路结构

使用格式:

VHDL语言基础-基本语句


子程序调用语句:

调用其它程序,在执行完程序后返回需要的数据

使用格式:

VHDL语言基础-基本语句

注意 子程序的调用语句包括了过程调用语句和函数调用语句


顺序语句:

IF语句:

IF语句是一种流程控制语句,判断条件有先后次序 ,而且允许条件涵盖不完整

使用格式:

VHDL语言基础-基本语句

IF语句——Example:

VHDL语言基础-基本语句

 IF语句与并行语句中的when…else条件赋值语句具有类似功能,可互换

VHDL语言基础-基本语句


CASE语句: 

CASE语句与IF语句类似,也是一种流程控制语句

使用格式:

VHDL语言基础-基本语句

注意:

  • CASE语句的选择值必须在表达式的取值范围内
  • CASE语句的所有选择条件具有相同的优先权,不能有相 同选择值的条件句出现。
  • 未能完全覆盖表达式的取值,则最末的选择值必须用 “OTHERS”
  • 不想执行任何操作,可用保留字“NULL”描述

CASE语句——Example:

VHDL语言基础-基本语句

注意:CASE语句与并行语句中的WHEN …SELECT语句具有类似的功能,可互换 。

VHDL语言基础-基本语句


LOOP语句:

重复执行语句若干次或指导满足退出循环的条件为止

使用格式:

VHDL语言基础-基本语句

注意:与高级程序语言不同,里面的循环变量是不用定义说明的。

EXIT语句和NEXT语句:

  • EXIT语句和NEXT语句都是LOOP语句的内部循环控制语句
  • 执行EXIT 后,跳到循环体结束处跳到循环体结束处,立即退出循环
  • 执行NEXT语句后,跳到循环体开始处,有条件或无条件终止当前循环迭代并开始下一循环

其它顺序语句:

等待语句WAIT:

VHDL语言基础-基本语句

返回语句RETURN:

VHDL语言基础-基本语句

空操作语句NULL:

VHDL语言基础-基本语句


属性描述语句:

VHDL中具有属性的项目包括 中具有属性的项目包括:类型 、子类型 、过程 、函数、信号、变量、常量、实体、结构体、配置、程序包、元件和语句标号等,属性就是这些项目的特性。

常用综合器支持的属性有:LEFT 、RIGHT 、HIGH 、LOW 、RANGE 、REVERSE_RANGE 、LENGTH 、EVENT 、STABLE 。

1.信号类属性:

EVENT表示信号发生率动作,STABLE表示无事件发生

VHDL语言基础-基本语句

2.数据区间类属性:

对属性项目取值区间进行测试,返回内容是一个区间如RANGE 和REVERSE RANGE

VHDL语言基础-基本语句

3.数值类属性:

·LEFT 、`RIGHT 、`HIGH 及`LOW这些属性函数主要用于对属性测试目标的数值特性进行测试

4.数组属性:

·LENGTH这个函数用于对数组宽度或元素个数进行测定

VHDL语言基础-基本语句

5.用户自定义属性:

属性与属性值的定义格式如下:

ATTRIBUTE 属性名:数据类型;

ATTRIBUTE 属性名 OF 对象名:对象类型 IS 值文章来源地址https://www.toymoban.com/news/detail-424716.html

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

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

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

相关文章

  • VHDL语言基础-时序逻辑电路-锁存器

    目录 锁存器的设计: RS锁存器: 真值表: 电路结构图: RS锁存器的仿真波形如下: D锁存器: D锁存器的仿真波形如下: 为了与触发器相类比,我们先介绍锁存器。锁存器是一种电平敏感的寄存器,典型的例子有RS锁存器与D锁存器。 真值表: 电路结构图: Library  ieee; Use 

    2024年02月08日
    浏览(29)
  • VHDL语言基础-时序逻辑电路-触发器

    目录 触发器: D触发器: 触发器的VHDL描述: 触发器的仿真波形如下:​编辑 时钟边沿检测的三种方法: 方法一: 方法二: 方法三: 带有Q非的D触发器: 带有Q非的D触发器的描述: JK触发器: JK触发器: JK触发器的VHDL描述: T触发器: 真值表: T触发器: T触发器的VHDL描述

    2024年02月05日
    浏览(43)
  • VHDL语言基础-状态机设计-ASM图法状态机设计

    目录 有限状态机的描述方法: ASM图: 状态转移图: 状态转移列表: MDS图: ASM图法状态机设计: ASM图的组成: 状态框: 判断框: 条件框: 状态框与条件框的区别: 状态单元: 用计数器实现ASM图: ASM图的状态分配: 状态转换表: 由状态转换表推导触发器的驱动方程:

    2024年02月03日
    浏览(26)
  • Go语言基础-if语句

      原文链接:  https://www.fearlazy.com/index.php/post/288.html   在目前接触的几种语言中条件语句都是必不可少的。很难想象没有条件语句要怎么写程序。   1.if语句 Go语言的条件语句和C++的很像,使用if。 其格式如下: if 表达式为true {    执行语句 } 和C++的区别是条件表达式

    2023年04月08日
    浏览(55)
  • 【C语言基础考研向】08判断语句与循环语句

    算术运算符的优先级高于关系运算符、关系运算符的优先级高于逻辑与和逻辑或运算符、相同优先级的运算符从左至右进行结合等,那么表达式5384-!0的最终值是多少?其计算过程如下图所示。 引入:在你打开衣柜拿出最上面的一件衣服时,你会判断这件衣服是不是你想穿的.如

    2024年01月22日
    浏览(39)
  • 零基础玩转C语言第一章—分支语句

    大家好,我是深鱼~ 目录 前言: 1.什么是语句? 2.分支语句(选择结构) 2.1if语句 2.1.1悬空的else 2.1.2if书写形式的对比 2.1.3练习 2.2switch语句  2.2.1在switch语句中的break和default语句 2.2.2练习 结语:彼方尚有荣光在,少年不惧岁月长 今天我们来重点来学习分支语句的相关内容,

    2024年02月15日
    浏览(39)
  • 滴水逆向三期笔记与作业——02C语言——05 正向基础/05 循环语句

    原理:arr[5]是ebp的位置,而arr[6]是ebp+0x4的位置,即函数的返回地址,赋值给arr[6]相当于是修改了eip寄存器。 反汇编:i等于7时,修改了rbp+0x1c-0x20即rbp-0x4位置的值,将其置为0,而该位置为i的值,所以每一轮for过后将i重新置0,就造成了不停的循环。 声明一个变量就是告诉计

    2024年02月15日
    浏览(43)
  • Go语言基础之基本数据类型

    Go语言中有丰富的数据类型,除了基本的整型、浮点型、布尔型、字符串外,还有数组、切片、结构体、函数、map、通道(channel)等。Go 语言的基本类型和其他语言大同小异。 整型 整型分为以下两个大类: 按长度分为:int8、int16、int32、int64 对应的无符号整型:uint8、uint1

    2024年02月12日
    浏览(34)
  • 【C语言趣味教程】(11) 循环语句Ⅰ:while 循环 | 循环的类型 | 流程图基础 | 循环的定义 | 死循环 | while 循环嵌套 | break 语句 | continue 语句

        🔗 《C语言趣味教程》👈 猛戳订阅!!! \\\"我们先来思考一个富有哲学性的问题,人类的本质是什么?我们知道,人类的本质就是复读机!那复读机的本质又是什么?复读机的本质就是循环!本章的主题就是循环,我们来好好研究研究,还是和上一章一样,我们先介绍

    2024年02月03日
    浏览(43)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包