实验四 时序逻辑电路的VHDL设计
一、实验目的
熟悉QuartusⅡ的VHDL文本设计过程,学习简单时序逻辑电路的设计、仿真和测试方法。
二、实验
1. 基本命题
用VHDL文本设计触发器,触发器的类型可任选一种。给出程序设计、仿真分析、硬件测试及详细实验过程。
① 实验原理
由数电知识可知,D触发器由输入的时钟信号(CLK)、数据输入口(D)和数据输出(Q)构成。本程序通过进程监视CLK和D\,当CLK为上升沿的时候,将D赋值给Q,要完成这个赋值操作,必须再借助一个信号S来进行值的传递。
② 程序设计
③ 仿真分析
仿真预测:输入一组波形,当且仅当CLK为上升沿的时候,Q输出D的值;否则,Q保持原值不变。
图1 D触发器仿真波形图
结论:仿真的结果与仿真预测一致。
④ 硬件测试
我们通过将输出Q设为为灯泡(D1),按键1为D,按键2为CLK。
表2-1 D触发器在GWAC6板上目标芯片EP1C6Q240C8的引脚锁定信息
端口名称 |
端口符号 |
GWAC6板输入输出元件 |
GWAC6板接口 |
目标器件引脚 |
备注 |
输入D |
D |
键1 |
PIO0 |
233 |
模式No.5 |
CLK |
CLK |
键2 |
PIO1 |
234 |
|
输出Q |
Q |
D1 |
P108 |
1 |
如表2-1所示完成元件D触发器与实验板引脚的绑定。如图2所示
图2 D触发器与实验板引脚的绑定
2. 扩展命题
将设计的触发器看成是一个元件,利用元件例化语句设计如图4-1所示4D透明锁存器。给出程序设计、仿真分析、硬件测试及详细实验过程。
图3 4D透明锁存器
① 实验原理
依据图3 ,我们将所有触发器的时钟输入端接入同一个时钟,将第一个触发器的输入端接入D0输入,第一个触发器输出Q0接入Q0。其他的D触发器按照第一个触发器的接法,按输入、输出口下标的递增顺序与对应的输入、输出总线相连。根据锁存器的特性,在程序设计中,我们通过监视CLK的电平,当CLK为高电平时,将输入原样输出;否则保持输出状态。
② 程序设计
③ 仿真分析
仿真预测:输入一组波形,当且仅当BCLK为高电平的时候,BQ输出BD的值;否则,BQ输出高阻态。
图4 4D透明锁存器仿真波形图
实验原理:为了让实验的效果明显,我们取的BCLK周期为BD的两倍。
结论:仿真的结果与仿真预测一致。
④ 硬件测试
我们通过将BD(1)、BD(2)、BD(3)、BD(4)设为按键1、2、3、4,D1,D2,D3,D4为BQ(1)、BQ(2)、BQ(3)、BQ(4),CLK设置为按键5。
表2-2 4D透明锁存器在GWAC6板上目标芯片EP1C6Q240C8的引脚锁定信息
端口名称 |
端口符号 |
GWAC6板输入输出元件 |
GWAC6板接口 |
目标器件引脚 |
备注 |
输入D |
BD |
键1,2,3,4, |
PIO0,PIO1,PIO2,PIO3 |
233,234,235,236 |
模式No.5 |
CLK |
BCLK |
键5 |
PIO4 |
237 |
|
输出Q |
BQ |
D1 |
P108,P109,P110,P111 |
1,2,3,4 |
如表1-1所示完成元件4D透明锁存器与实验板引脚的绑定。如图5所示
图5 4D透明锁存器与实验板引脚的绑定
最新文章
- python爬虫学习(5) —— 扒一下codeforces题面
- 国内可用maven repository 配置
- 两种CSS3圆环进度条详解
- java_常用数据类型转换基础篇
- Rank of Tetris(hdu1811拓扑排序+并查集)
- C#基础枚举的设计
- Struts2(五)——核心拦截器
- JS框架~Angularjs
- MD5加密解密
- 不要怂,就是GAN (生成式对抗网络) (四):训练和测试 GAN
- oracle-获取数据库中所有表的注释 comments
- about-php
- git添加秘钥提示Key is already in use
- hackerrank杂记
- Openflow协议详解
- 一款jq的计时器
- U3D面试题系列二
- LeetCode 771 Jewels and Stones 解题报告
- 讲讲亿级PV的负载均衡架构
- WCF+Nhibernate循环引用导致序列化的问题