这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » 软件与操作系统 » VHDL语法学习笔记1

共1条 1/1 1 跳转至

VHDL语法学习笔记1

助工
2015-04-13 21:17:32     打赏

     接触VHDL也就好长时间了。记得第一次知道VHDL还是大四时候上一个选修课《集成电路设计》,但是当时基本上没有怎么学,纯粹是为了考试混学分。大四快要毕业的时候Altera来我们学校做宣传和讲座,那时候没有什么事情做,就去听了,第一次知道VHDL还可以做这么多的事情,第一次知道了什么叫IP核,还有软核,硬核和固核,当然也少不了SOC,最后亲眼看到他们的FPGA可以拿来做成一个CPU,当时好像他们说用的是51核。


        觉得这个东西很是神奇,就从图书馆借了基本书来看,发现也没有什么特别的。因为我的c语言功底比较好,所以看起来很容易,但是唯一遗憾的是没有上机实践。后来做一个项目的时候要使用到CPLD,但是都是简单的译码电路,也就没有用到VHDL,但是那个时候知道了用VHDL可以实现需要的功能。


        现在也能用VHDL描述一些简单的电路了,但是总觉得自己的VHDL还是很欠缺。于是决定再系统的学习学习。现就将学习过程中的心得体会做一笔记:


       1.VHDL描述的是硬件,而不是软件。在所有的设计开始之前在心目中都应当有一个硬件框图儿不是软件流程图,要用硬件的思想而非软件的思想使用VHDL。这一点是使用VHDL最基本的原则。


      2.VHDL中的数据对象有信号,变量和常量。常量一般用来提高代码的可读性,易维护和修改性。关键是要弄清楚信号和变量的区别,首先信号我们可以把它理解成实际的硬件连线而变量不能,也就是说信号综合以后有实际的对应硬件而变量是没有的,其次信号是一个全局性的变量,而变量只能在进程,过程和函数中使用和定义,信号没有这样的限制,再次变量是用来存放进程,过程和函数中的中间量的,第四信号的赋值有延时,符号是“<=”,变量的赋值是立即见效的,也就是说信号是有历史信息的,而变量只有当前的信息。


      3。VHDL的数据类型。VHDL不但具有标准的数据类型,还支持用户自定义的数据类型,这一点在复杂系统的设计中非常的有用。VHDL的标准数据类型有多种,包括BOOLEAN,BIT,BIT_VECTOR,CHARACTER, INTEGER,NATURAL,POSITIVE,REAL,TIME。有几点需要注意:a> 不同数据类型的数据对象是不能相互作用的,相互作用之前先要进行类型转换;b>使用INTEGER,NATURAL,POSITIVE类型最好加范围限制以提高综合效率,同时REAL型一般很难综合实现,c>CHARACTER类型的使用的使用一定要用但引号引起来。VHDL用TYPE来支持用户自定义的数据类型,语法格式如下:TYPE 数据类型名  IS 数据类型定义 OF 基本数据类型


       TYPE 数据类型名 IS 数据类型定义


     常用的用户自定义的数据类型有枚举型,数组型,记录型。其中枚举型的在状态机的描述中经常使用到 ,数组型的在存储器的描述中经常用到,记录型的使用以后再详细学习。枚举型的定义方法 TYPE 数据类型名 IS {枚举1,枚举2,...}


  数组型有两种,限制型和非限制型:


 TYPE  数组名 IS  Array(范围) OF 基本类型                                  --限制性      


 TYPE  数组名 IS  Array(下标名Range<>) OF 基本类型            --非限制性


数组是将一组具有相同数据类型的元素组合在一起,而记录是将一组不具有相同数据类型的元素组合在一起。


TYPE 记录名 IS  Record


     元素1: 元素数据类型;


     元素2: 元素数据类型;


     ……



共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]