EDA数据比较器的VHDL设计_第1页
EDA数据比较器的VHDL设计_第2页
EDA数据比较器的VHDL设计_第3页
EDA数据比较器的VHDL设计_第4页
EDA数据比较器的VHDL设计_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

EDA 技术基础备课笔记 吴翠娟 顺序 10 第 1 页 总 5 页 复习 1 简单信号赋值语句 2 条件信号赋值语句 3 选择信号赋值语句 4 4 数据比较器的 VHDL 设计 VHDL 语言的语句分为顺序语句和并行语句两大类 并行语句可以直 接在结构体中使用 而顺序语句必须在进程中使用 一 进程 PROCESS 语句 进程语句作为一个独立的结构 在结构体中以一个完整的结构存在 是 VHDL 语言中描述能力最强 使用最多的语句结构 进程语句是结构体 的有机组成部分 各个进程之间可以通过信号 signal 通信 共同组成一 个功能强大的结构体 一个结构体内可以包含多个进程语句 多个进程之间是同时执行的 进程语句本身是并行语句 但每个进程的内部则由一系列顺序语句构成 1 PROCESS 语句的格式 进程名 PROCESS 敏感信号表 进程说明语句 BEGIN 进程内顺序描述语句 END PROCESS 进程名 进程名是可选项 如果有多个进程 则以进程名加以区别 敏感信号表中的信号可以是在结构体中定义的信号 也可以是在实体 说明中定义的端口 但只能是输入端口 双向端口或 Buffer 类型端口 进 程的启动是通过敏感信号表中敏感量的变化激励的 也即当且仅当敏感信 号表中的敏感量有变化时进程才能启动 应用时应将进程中所有输入信号 都列入敏感表内 但切勿将变量列入敏感表 因为进程只对信号敏感 另 外 wait 语句在进程中的作用与敏感信号表相似 有敏感信号表就不需要 wait 语句 有 wait 语句则不能出现敏感表 进程说明语句是可选项 主要用途是定义进程中将要用到的中间变量 或常量 但此处只能定义 变量 而不能定义 信号 进程中语句的执行具有顺序性 真正的具有描述行为的语句是 BEGIN 开始到 END PROCESS 之间的语句 2 进程语句的主要特点 EDA 技术基础备课笔记 吴翠娟 顺序 10 第 2 页 总 5 页 1 同一结构体中的各个进程之间是并发执行的 并且都可以使用实 体说明和结构体中所定义的信号 而同一进程中的描述语句则是顺序执行 的 即 PROCESS 结构中的语句是按顺序一条一条向下执行的 并且在进程 中只能设置顺序语句 2 为启动进程 进程的结构中必须至少包含一个敏感信号或包含一 个 WAIT 语句 但是在一个进程中不能同时存在敏感信号和 WAIT 语句 3 一个结构体中的各个进程之间可以通过信号或共享变量来进行通 信 但任一进程的进程说明部分只能定义局部变量 不允许定义信号和共 享变量 4 在敏感信号表中的任意一个敏感量发生变化 则启动 PROCESS 语 句 从上到下逐句执行一遍 当执行完成就返回到 PROCESS 语句 并悬挂 在该语句处 等待敏感量的再次变化 二 IF 语句 IF 语句又称条件语句 是根据所指定的一种或多种条件来决定执行哪 些语句的一种重要顺序语句 因此也可以说成是一种控制转向语句 1 IF 语句的格式 IF 语句一般有三种格式 1 跳转控制 格式如下 IF 条件 THEN 顺序语句 END IF 2 二选一控制 格式如下 IF 条件 THEN 顺序语句 ELSE 顺序语句 END IF 3 多选择控制语句 格式如下 IF 条件 1 THEN 顺序语句 1 ELSIF 条件 2 THEN 顺序语句 2 ELSIF 条件 n THEN 顺序语句 n ELSE 顺序语句 END IF 2 IF 语句的主要特点 1 每个 IF 语句必须有一个对应的 END IF 语句 2 if 语句中的条件值必须是布尔类型 boolen EDA 技术基础备课笔记 吴翠娟 顺序 10 第 3 页 总 5 页 例 IF a b THEN output b 的结果为 true 则 output 1 否则 output 维持原数据 不变 且跳到 END IF 后面语句执行 3 IF 语句是顺序语句 不仅能实现条件分支处理 而在条件判断上 有先后顺序 因此特别适合处理含有优先级的电路描述 三 数据比较器的 VHDL 设计 数值比较器是对两个位数相同的二进制数进行比较并判定其大小关系 的算术运算电路 数值比较器的逻辑电路图如下图所示 Comp YA YB YC A B 数值比较器的真值表为 A 与 B 的关系YAYBYC A B100 AB A B THEN EDA 技术基础备课笔记 吴翠娟 顺序 10 第 4 页 总 5 页 YA 1 YB 0 YC 0 ELSIF A B THEN YA 0 YB 1 YC 0 ELSE YA 0 YB 0 YC 1 END IF END PROCESS END behave 四位数值比较器的功能仿真为 IF 语句处理含有优先级的电路描述我们将在下节的优先编码器的设计 中进行讲述 四 练习 用 IF 语句和条件信号赋值语句分别描述 4 位数据比较器 EDA 技术基础备课笔记 吴翠娟 顺序 10 第 5 页 总 5 页 LIBRARY IEEE USE IEEE STD LOGIC 1164 ALL ENTITY comp4 2 IS PORT A IN STD LOGIC VECTOR 3 DOWNTO 0 B IN STD LOGIC VECTOR 3 DOWNTO 0 Y OUT STD LOGIC VECTOR 2 DOWNTO 0 END comp4 2 ARCHITECTURE behave OF comp4 2 IS BEGIN YB ELSE 010 WHEN A B ELSE 001 END behave 总结 IF 语句与条件信号赋值语句的区别 1 IF 语句是顺序描述语句 因此只能在进程内部使用 而条件信号 赋值语句是并行描述语句

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论