- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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)