1. 首页
  2. 课程学习
  3. 数据库
  4. VHDL编程基础知识点总结

VHDL编程基础知识点总结

上传者: 2024-12-11 23:12:07上传 DOC文件 78.5KB 热度 11次

VHDL(VHSIC Hardware Description Language)是一种基于事件驱动的硬件描述语言,用于描述数字电路和数字系统的行为。下面是 VHDL 编程的基础知识点:

一、 VHDL 程序的组成部分

  • 实体(Entity):描述所设计系统的外部接口特性,即该设计实体对外的输入、输出端口数量和端口特性。

  • 结构体(Architecture):描述实体所代表的系统内部的结构和行为;它描述设计实体的结构、行为、元件及内部连接关系。

  • 库(Library):存放已经编译的实体、构造体、程序包集合和配置。

  • 程序包(Package):存放各设计模块都能共享的数据类型、常数和子程序库。

  • 配置(Configuration):实体对应多个结构体时,从与某个实体对应的多个结构体中选定一个作为具体实现。

二、端口模式

  • Out(输出):只能被赋值,用于不能反馈的输出。

  • In(输入):只能读,用于时钟输入、控制输入单向数据输入。

  • Inout(输入输出):既可读又可被赋值,被读的值是端口输入值而不是被赋值,作为双向端口。

  • Buffer(缓冲):类似于输出,但可以读,读的值是被赋值,用做内部反馈用,不能作为双向端口使用。

三、标识符

  • 合法的标识符:Led3coder_1std_machineadderdecoder

  • 非法的标识符:_decoder_1and-2and__2(带有特殊字符或数字开头)

四、实体描述中的语法错误

  • 删除括号内的分号。

  • ENTITY 声明中,实体名应与 ARCHITECTURE 声明中的一致。

  • PROCESS 语句缺少结束的分号。

  • ARCHITECTURE 声明中,名称应与 ENTITY 声明中的一致。

五、设计实体的实体声明


ENTITY mux41 IS PORT( A, B, C, D : IN BIT ; SEL : IN BIT_VECTOR(1 DOWNTO 0) ; Q : OUT BIT );

六、表达式中的运算符重载

  • VHDL 中,STD_LOGIC_VECTOR 数据类型不能直接进行加法运算,需要调用运算符重载,例如在程序开头添加 IEEE.STD_LOGIC_UNSIGNED.ALL 程序包。

七、整数类型的赋值

  • 可以把任意一种进制的值向整数类型的对象赋值,例如,visto 16#0FA# 可以赋值给整数类型的对象。

八、VHDL 的数值表示

  • 16#0FA# 合法

  • 10#12F# 非法,十进制数值表示不需要 # 号。

  • 8#789# 非法,八进制数值表示需要以 8# 开头,但不能超过八进制范围。

  • 8#356# 非法,八进制数值表示需要以 8# 开头,但不能超过八进制范围。

  • 2#0101010# 合法。

九、数据类型的定义

  • BITINTEGERBOOLEAN 等数据类型分别定义在 IEEE.STD_LOGIC_1164.ALL 库中。

  • IEEE.STD_LOGIC_1164.ALL 库和 IEEE.STD_LOGIC_UNSIGNED.ALL 库总是可见的。

下载地址
用户评论