实验四 时序逻辑电路的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透明锁存器与实验板引脚的绑定
实验四 时序逻辑电路的VHDL设计的更多相关文章
- 实验三 组合逻辑电路的VHDL设计
一.实验目的 熟悉QuartusⅡ的VHDL文本设计过程,学习简单组合逻辑电路的设计.仿真和测试方法. 二.实验内容 1. 基本命题 完成2选1多路选择器的文本编辑输入(mux21a.vhd)和仿真测 ...
- 实验五 含有控制信号的计数器VHDL设计
一.实验目的 学习计数器的设计.仿真和硬件测试,进一步熟悉VHDL设计技术. 二.实验仪器与器材 计算机1台,GW48-PK2S实验箱1台,QuartusⅡ6.0 1套. 三.实验 1. 基本命题 在 ...
- 20155219实验四 Android开发基础设计实验报告
20155219实验四 Android开发基础设计实验报告 实验内容 安装Andriod Studio并配置软件 使用Andriod Studio软件实现Hello World!+学号的小程序 实验步 ...
- 20155227 《Java程序设计》实验四 Android开发基础设计实验报告
20155227 <Java程序设计>实验四 Android开发基础设计实验报告 任务一 Android Stuidio的安装测试: 参考<Java和Android开发学习指南(第二 ...
- 20145219 《Java程序设计》实验四 Android开发基础设计实验报告
20145219 <Java程序设计>实验四 Android开发基础设计实验报告 实验内容 安装Andriod Studio并配置软件 使用Andriod Studio软件实现Hello ...
- 实验四 简单的PV操作
实验四 简单的PV操作 专业 网络工程 姓名 方俊晖 学号 201406114309 一. 实验目的 1.掌握临界区的概念及临界区的设计原则: 2.掌握信号量的概念.PV操作的含义以 ...
- Java实验四
20145113 Java实验四 快捷键 之前没怎么记ISDEA的快捷键,但是熟练使用快捷键可以带来很多的便利,于是先开始学习一些常用的快捷键,就采用它默认的快捷键,这样后期就不会出现冲突,一些and ...
- 20145212 实验四《Andoid开发基础》
20145212 实验四<Andoid开发基础> 实验内容 安装Android Studio 运行安卓AVD模拟器 使用Android运行出模拟手机并显示自己的学号 实验过程 一.安装An ...
- Java实验四和实验五
实验四 类的继承性和多态性 [开发语言及实现平台或实验环境] Windows2000 或XP,JDK1.6与Jcreator4.0 [实验目的] 1. 掌握OOP方式进行程序设计的方法, 2. 了 ...
随机推荐
- {Links}{Matting}{Saliency Detection}{Superpixel}Source links
自然图像抠图/视频抠像技术发展情况梳理(image matting, alpha matting, video matting)--计算机视觉专题1 http://blog.csdn.net/ansh ...
- 调试CS5343总结报告
一周前接到新任务,调试CS5343,百度一下,CS5343是一款音频采集的AD芯片,CS5343驱动代码是现成的,我的工作是提高芯片的采样速率,看了一边芯片的Datesheet,辛好东西不是很多. 概 ...
- clone()与clone(true)的区别
clone()方法用于复制一个元素,但是被复制出来的元素不具备复制的功能,如果希望被复制出来的元素也具备复制的功能,需要给clone()方法加上true这个参数,即clone(true). 例如: & ...
- Swift3.0基础语法学习<三>
枚举和结构体: // // ViewController3.swift // SwiftBasicDemo // // Created by 思 彭 on 16/11/16. // Copyright ...
- 浅析Android中ndk-build支持的参数
在解决Android Studio中编译native code出现的问题时,发现Android Studio使用了完整的ndk-build命令进行编译,参数众多.故在此做一个说明,以便大家可以根据偏好 ...
- C# 生成条形码
原文地址:http://www.cnblogs.com/xcsn/p/4514759.html 引用BarcodeLib.dll(百度云中有)生成条形 protected void Button2_C ...
- 内存屏障(Memory barrier)-- 转发
本文例子均在 Linux(g++)下验证通过,CPU 为 X86-64 处理器架构.所有罗列的 Linux 内核代码也均在(或只在)X86-64 下有效. 本文首先通过范例(以及内核代码)来解释 Me ...
- Centos7 安装MPlayer过程详解
使用自带的totem基本上都无法播放视频,各种格式都不支持,令人无语.想到了MPlayer,为了看片,决定编译安装,过程真的是折腾.如图是自带的Totem播放提示,安装了解码还是无法播放,反正要找其他 ...
- [转载]提高rails new时bundle install运行速度
最近在新建rails项目时,rails new老是卡在bundle install那里,少则五分钟,多则几十分.这是因为rails new时自动会运行bundle install,而bundle in ...
- Python基础学习笔记FromImooc.com
1.list L = ['a','a','a','a','a','a3'] L[0] = a L[-1] = a3 添加新元素 L.append('paul') L.insert(-1,'Paul ...