VHDL与数字系统设计课程设计.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《VHDL与数字系统设计》 课程设计 高雪莲 2007年 1 月 8 日 目录 实验一:8-3编码器 实验二:八位可逆计数器电路设计 实验三:ALU设计 实验四:双向移位寄存器 实验五:闹钟系统控制电路 实验六:简单状态机 实验七:交通灯控制器 实验八:简单电梯控制电路 实验一:8-3编码器 一、课程设计的目的与要求 设计目的 熟悉MAXPLUS2/Quartus II软件,掌握软件的VHDL程序输入、程序编译和程序仿真操作; 学习利用VHDL语言设计数字时序电路程序; 了解编码器电路的工作方式。 设计要求 利用VHDL语言设计8-3编码器电路,并利用相关软件进行编译和仿真。并通过其波形输入验证电路设计。 二、设计正文 带优先级的8-3编码器真值表如下所示: 实验二:八位可逆计数器电路设计 一、课程设计的目的与要求 1.设计目的 熟悉MAXPLUS2/Quartus II软件,掌握软件的VHDL程序输入、程序编译和程序仿真操作; 学习利用VHDL语言设计数字时序电路程序; 了解可逆计数器电路的工作方式。 设计要求 利用VHDL语言设计八位可逆计数器电路,并利用相关软件进行编译和仿真。并通过其波形输入验证电路设计。 二、设计正文 8位可逆计数器根据计数脉冲的不同,控制计数器在同步信号脉冲的作用下,进行加1或减1操作。其真值表如下所示: CLR UPDOWN CLK Q0~Q7 1 X X 0 1 ↑ 加1 0 0 ↑ 减1 可逆计数器的计数方向,由特殊的控制端UPDOWN控制。 当UPDOWN=1时,计数器进行加1操作; 当UPDOWN=0时,计数器进行减1操作。 实验三:ALU设计 一、课程设计的目的与要求 设计目的 1.1 熟悉MAXPLUS2/Quartus II软件,掌握软件的VHDL程序输入、程序编译和程序仿真操作; 1.2学习利用VHDL语言设计数字电路程序; 1.3了解ALU的工作方式。 设计要求 2.1利用VHDL语言设计ALU(算术逻辑单元)电路,并利用相关软件进行编译和仿真。并通过其波形输入验证电路设计。 2.2 根据ALU的每一个算术运算执行动作,写出当前算术运算执行动作的真值表,并根据这些真值表编写每个执行动作的VHDL程序。 2.3尽可能采用多种编程思路完成程序设计。 二、设计正文 ALU是算术逻辑单元,是拥有算术运算和逻辑运算功能的电路。 其中,算术运算主要以加、减法为主,(乘除法可以利用移位配合加法的方法处理,即可完成运算。逻辑运算分与、或、异或、非四种运算。ALU的真值表如下所示:(其中,A和B都为四位数据。) 表1 ALU真值表 S2 S1 S0 进\借位co 输出 执行动作 0 0 0 0 F=A+B 加法 1 F=A+B+1 进位加法 0 0 1 0 F=A-B 减法 1 F=A-B-1 借位减法 0 1 0 0 F=A 传递(无进位) 1 F=A+1 A加1 0 1 1 0 F=A 传递(无借位) 1 F=A-1 A减1 1 0 0 X F=A AND B 与操作 1 0 1 X F=A OR B 或操作 1 1 0 X F=A XOR B 异或操作 1 1 1 X F=NOT A 非操作 实验四:双向移位寄存器 一、课程设计的目的与要求 1.设计目的 熟悉MAXPLUS2/Quartus II软件,掌握软件的VHDL程序输入、程序编译和程序仿真操作; 学习利用VHDL语言设计双向移位寄存器电路程序。 2.设计要求 根据设计正文提出的双向移位寄存器功能设置,实现电路设计。 二、设计正文 双向移位寄存器有三种输入方式:4位并行输入、1位左移串行输入、1位右移串行输入; 双向移位寄存器有一种输出方式:4位并行输出。 双向移位寄存器工作过程如下: 当1位数据从左移串行输入端输入时,首先进入内部寄存器最高位,并在并行输出口最高位输出,后由同步时钟的上跳沿触发向左移位。 当1位数据从右移串行输入端输入时,首先进入内部寄存器最低位,并在并行输出口的最低位输出,后由同步时钟的上跳沿触发向右移位。 双向移位寄存器的输入、输出端口如下: CLR:异步清零输入端; SRSI:串行右移输入端; SLSI:串行左移输入端; A、B、C、D:4位并行输入端; QA、QB、QC、QD:4位并行输出端; S0,S1:两位控制码输入端。 双向移位寄存器的端口功能如下: 当CLR=0时,4位输出端清0; 当CLK=0时,4位输出端保持原来状态不变; 当S=00时,4位输出端保持原来的状态不变; 当S=01时,允许串行右移输入1位数据; 当S=10时,允许串行左移输入1位数据; 当S=11时,允许4位

文档评论(0)

xiexie2012 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档