实验四 时序逻辑电路的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. 了 ...
随机推荐
- VC++中操作XML(MFC、SDK)转
[转]VC++中操作XML(MFC.SDK) XML在Win32程序方面应该没有在Web方面应用得多,很多Win32程序也只是用XML来存存配置信息而已,而且没有足够的好处的话还不如用ini.VC++ ...
- asp.net GridView控件的列属性
BoundField 默认的数据绑定类型,通常用于显示普通文本 CheckBoxField 显示布尔类型的数据.绑定数据为TRUE时,复选框数据绑定列为选中状态:绑定数据为FALSE时,则显示未选中状 ...
- nullcon HackIM2016 -- Programming Question 3
Still Hungry and unsutisfied, you are looking for more. Some more, unique un heard dishes. Then you ...
- 使用python的subprocess启动windows程序提示WindowsError: [Error 6] The handle is invalid
代码如下: subp = subprocess.Popen(cwd_path + "test.exe", cwd = cwd_path, shell = True, stdout ...
- 使用rownum对oracle分页
以Student表为例进行分页 建表及插入 -- 有表结构如下 create table STUDENT ( sno INTEGER, sname ), sage INTEGER ); -- 插入数据 ...
- ExtJs弹出窗口
1.Ext.Msg.alert(String title, String msg, [Function fn], [Object scope]) 显示一个标准的带有一个"确定"按钮 ...
- Selenium2+python自动化6-八种元素元素定位(Firebug和firepath)
前言 自动化只要掌握四步操作:获取元素,操作元素,获取返回结果,断言(返回结果与期望结果是否一致),最后自动出测试报告.本篇主要讲如何用firefox辅助工具进行元素定位. 元素定位在这四个环节中是至 ...
- Python:面向对象
面向过程:根据业务逻辑从上到下写垒代码 面向对象:对函数进行分类和封装 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 类:用来描述具有相同属性和方法的对象的集合,定义了该集合中 ...
- iOS中两个APP之间的跳转和通信
app间的跳转 一:在第一个app首先要做下面这些操作: 1.在info.plist文件中的Information Property List下添加一项:URL types. 2.点开URL type ...
- AngularJs自定义指令详解(2) - template
一些用于定义行为的指令,可能不需要使用template参数. 当指定template参数时,其值可以是一个字符串,表示一段HTML文本,也可以是一个函数,这函数接受两个参数:tElement和tAtt ...