EDA原理及应用 个人笔记

本文是关于EDA中VHDL的学习笔记,详细介绍了VHDL的结构,包括实体和端口模式、结构体、库和配置。同时,讲解了VHDL的文字规则,如数字、标识符、文件命名规范。此外,文章还深入讨论了VHDL的数据对象,如常数、变量、信号,以及各种预定义数据类型,如BIT、BIT_VECTOR、STD_LOGIC、STD_LOGIC_VECTOR、INTEGER和BOOLEAN,并提供了使用示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在学,就是一点点笔记,有错误的话,望请大佬指正,非常感谢。

1.1 VHDL结构

VHDL程序结构模型图

1.1 实体和端口模式

实体的端口描述主要有四类:

  1. IN端口----输入端口
  2. OUT端口----输出端口
  3. INOUT端口----输入输出端口
  4. BUFFER端口----缓冲端口(与INOUT端口功能类似,区别在于当需要输入数据时只允许回读输出的数据,也就是允许反馈。)
ENTITY 实体名 IS
	[GENERIC ( 参数名: 数据类型 );]
	[PORT ( 端口表: 数据类型);]
END ENTITY 实体名;
1.2 结构体
ARCHITECTURE 结构体名 OF 实体名 IS
	[说明语句]
BEGIN
	[功能描述语句]
END ARCHITECTURE 结构体名;
1.3 库和库的种类
LIBRARY WORK ;
LIBRARY STD ;			//打开sTD库
USE STD.STANDARD.ALL ;	//能够使用STD库中的所有内容

重点所需要的库有:

  1. IEEE库
  2. STD库
  3. WORK库
  4. VITAL库
1.4 库和程序包的调用方法
LIBRARY 库名;
USE 库名.程序包名.ALL ;

USE 库名.程序包名.项目名 ;
USE 库名.程序包名.ALL;

例子:

LIBRARY IEEE ;
USE IEEE.STD_LOGIC_1164.ALL ;

LIBRARY IEEE ;
USE IEEE.STD_LOGIC_1164.STD_ULOGIC ;
USE IEEE.STD_LOGIC_1164.RISING_EDGE ;
1.5 配置

2.1 VHDL结构

2.2 VHDL文字规则

2.2.1 数字
  1. 整数
5, 678, 0, 156E2(=15600), 45_234_287(=45234287)
  1. 实数
1.335, 88_670_511.453_909(=88670551.453909), 1.0, 44.99E-2(=0.4499)
  1. 文字示例
SIGNAL d1,d2,d3,d4,d5,: INTEGER RANGE 0 TO 255;//全部定义为整数类型
d1 <= 10#170#;		//向d1赋值10#170#(十进制表示,等于170)
d2 <= 16#FE#;		//(十六进制表示,等于254)
d3 <= 2#1111_1110#;	//(二进制表示,等于254)->也是整数类型!
d4 <= 8#376#;		//(八进制表示,等于254)
d5 <= 16#A#E3;		//(六进制表示,等于16#A000#)
  1. 物理量文字
60s(60秒),100m(100米),k(千欧姆),177A(177安培)
  1. 字符串
data1 <= B"1_1101_1110"		//二进制数数组,位矢数组长度是9位
data2 <= O"15"				//八进制数数组,位矢数组长度是6位
data3 <= X"AD0"				//十六进制数数组,位矢数组长度是12
data4 <= B"101_010_101_010"	//二进制数数组,位矢数组长度是12
data5 <= "101_010_101_010"	//表达错误,缺B
data6 <= "101010101010"		//表达正确。这里可以略去B,但不可加下划线
data6 <= "0AD0"				//表达错误,缺x
2.2.2 关键词
2.2.3 标识符及其表述规则
  1. 有效的字符:包括26个大小写英文字母,数字包括0~9以及下划线“_”。
  2. 任何标识符必须以英文字母开头
  3. 必须是单一下划线“_”,且其前后都必须有英文字母或数字。
  4. 标识符中的英语字母不分大小写
  5. 允许包含图形符号(如回车符、换行符等),也允许包含空格符。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值