-
EDA名词解释:
EDA:电子设计自动化
CPLD:复杂可编程逻辑器件
FGPA:现场可编辑逻辑门阵列
VHDL:硬件描述语言
ASIC:专用集成电路 -
EDA设计方法采用 自顶向下(Top-Down)的设计思想
-
基于EDA软件的FPGA/CPL计流程为:设计输入→综合→布线布局(适配)→仿真→下载和硬件则试。
-
VHDL程序框架
通常由库( Library)——IEEE库(常见库)、STD库(标准程序包,随时调用)、WORK库(用户的现行工作库)、面向ASIC的库(存放大量逻辑门相对应的库)、用户自定义的库(使用需在程序的开始部分进行说明)
程序包(Package)、
实体( Entity)——实体( Entity)说明是一个设计实体的外层设计单元,其功能是对这个设计实体与外部电路进行接口描述,它规定了设计单元的输人输出接口信号或引脚。
结构体( Architecture)——结构体( Architecture)是设计实体的具体描述,它具体实现该设计实体的结构、行为和逻辑功能以及内部模块的连接关系。它在电路上相当于器件内部电路结构。
和配置( Configuration)5个部分组成,如图2.1所示
-
vhdl三种数据对象:常量,信号,变量
在VHDL中,把可以赋值的客体统称为数据对象
常量:代表电路中一个确定的数,如电源、地等。全局量,信号变量使用的地方都可用。
变量:代表电路中暂存某些值的载体,变量赋值不存在延迟,局部量。
信号:信号是描述硬件系统的基本数据对象,它类似于连接线。信号是电子系统内部硬件连
接和硬件特性的抽象表示,信号可以作为设计实体中并行语句模块间的信息交流通道
信号作为一种数值容器,不但可以容纳当前值,也可以保持历史值。这一属性与触发器的记忆功能有很好的对应关系。信号的定义格式除了没有方向的概念以外几乎和端口概念一致 -
信号与变量的区别
(1) 说明位置的不同:
信号可以在实体、结构体、包集合中说明;变量则在进程、子程序中说明。
进程对信号敏感,对变量不敏感。
(2) 赋值符号不同:
信号的赋值符号为“<=”,而变量的赋值符号为“:=
(3) 赋值后的结果不同:
变量赋值立即生效,信号的赋值则需经过一定的延时时间后才能生效,因此在顺序语句中如
果对同一信号多次赋值,只有最后一次赋值有效。
(4) 变量只在定义它的进程、过程和函数中可见,而信号则可以是多个进程的全局信号.
(5)变量在硬件中没有一定的对应关系,而信号是硬件中连线的抽象描述。 -
文字规则
-
数据类型:
其中STD_LOGIC定义了9种可能的取值,分别为U、X、0、1、Z、W、L、H、-。 -
用户自定义的数据类型
(1)type语句的用法
(2) subtype语句的用法
-
数据类型的转换
类型转换函数方式/直接类型转换方式 -
vhdl运算操作符
常见的运算操作符优先级由高到低排序:
逻辑操作符—>关系操作符—>符号操作符—>算术操作符
1,并置操作符“&”
通过连接操作数来建立新的数组。操作数的数据类型是一维数组,操作数可以是一个数组或数组中的一个元素。可以利用并置操作符将普通操作数或数组组合起来形成各种新的数组。
例如“VH"&“DL"的结果为“VHDL";“0”&“1”的结果为“01”。
并置操作符也叫串联操作符,常用于字符串。但在实际运算过程中,要注意并置操作前后的
数组长度应一致,
2, 6种一位操作符
操作数的数据类型是一维数组;数组中的元素必须是BIT或者BOOLEAN的数锯类型;移位的位数则是整数