五、实验步骤与实验结果

1、用Verilog VHDL设计D触发器。打开QuarterII新建一个基于ALTERA的Cyclone系列FPGA芯片EP1C3T144C8N的项目保存在D:\dianlu\ecp1文件夹中,新建一个Verilog HDL文件,将附件一代码写入,运行无错误,查看myD触发器的逻辑图(图1-1),重新运行,无误后,进行“Creat symbol files for current file”操作,将myD.bsf和myD.v文件复制到ecp2文件夹中。

图1-1 myD触发器的逻辑图

对myD触发器进行仿真。仿真图如图1-2myD触发器的仿真图。可知功能表与仿真图一致。

图1-2 myD触发器的仿真图

表1-3 myD触发器的功能表

输   入

输 出

Rd

Sd

CP

D

Qn+1

Qn+1

1

0

×

×

1

0

0

1

×

×

0

1

1

1

1

1

0

1

1

0

0

1

1

1

×

Qn

Qn

2、用myD触发器组成三位缓冲寄存器。再创建一个一个基于ALTERA的Cyclone系列FPGA芯片EP1C3T144C8N的项目保存在D:\dianlu\ecp2文件夹中,通过自己设计的D触发器进行基于3-1原理图的三位寄存器的设计,设计图如图2-1,连接完毕后进行引脚锁定,如图2-2。2-1图中的clk输入端口进行了硬件消抖,硬件消抖的原理,基本rs触发器是基于稳态电路的,输入端的抖动不会影响Q的输出,rs触发器的创建Verilog代码,见附件二。

图2-1 三位寄存器

图2-2 三位寄存器的引脚锁定

3、将三位缓冲寄存器进行仿真。仿真图如图3-2,仿真图解读:当CLEN(低有效)置0时,Q全输出0,当CLEN置1且PRN置1时,D在clk的上升沿赋值000,011,101,111,Q逐步输出000,011,101,111,实现了存储数据的功能。

图3-2 仿真图

4、将三位缓冲寄存器下载到FPGA开发板上进行测试,开发板验证结果可以对比仿真图的测试结果,判断逻辑功能是否正确。结果如图4-1,注意:LED灯是是输出为0时才亮

表4-1

D2 D1D0

Q2 Q1Q0

十进制的意义

000

011

101

111

000

011

101

111

存储数据的功能,对于本题目而言十进制的意义是:0,3,5,7

5、用myD触发器组成四位左移寄存器。再创建一个一个基于ALTERA的Cyclone系列FPGA芯片EP1C3T144C8N的项目保存在D:\dianlu\ecp3文件夹中,通过自己设计的D触发器进行基于3-2原理图的四位左移寄存器的设计,设计图如图5-1,连接完毕后进行引脚锁定,如图5-2。5-1图中的clk输入端口通过连接48端口进行了硬件消抖。

图5-1 四位左移移位寄存器

图5-2 四位左移移位寄存器的引脚锁定

6、将三位缓冲寄存器进行仿真。仿真图如图6-1,仿真图解读:当CLR(低有效)置0时,Q全输出0,当CLR置1且SN置1时,DIN在CLD的第一次脉冲(第一次上升沿)时,将1存到寄存器中,依次保持其余量不变,给予第2,3,4次脉冲,Q逐步输出0000,0010,0100,1000,实现了数据左移的功能。

图6-1 仿真图

7、将三位缓冲寄存器下载到FPGA开发板上进行测试,开发板验证结果可以对比仿真图的测试结果,判断逻辑功能是否正确。结果如图7-1,注意:LED灯是是输出为0时才亮

表7-1

脉冲个数

Q3Q2Q1Q0

功能

0

1

2

3

4

0 0 0 0

0 0 0 1

0 0 1 1

0 1 1 1

1 1 1 1

随着cp脉冲数的增加,储存数据的位置逐个左移

实现逻辑左移

8、如何构建一个四位右移寄存器?如图8-1

图8-1 四位右移移位寄存器

图8-2 四位右移移位寄存器仿真图

表8-3

脉冲个数

Q3Q2Q1Q0

功能

0

1

2

3

4

0 0 0 0

1 0 0 0

1 1 0 0

1 1 1 0

1 1 1 1

实现逻辑右移

六、实验讨论与总结

1.准备工作,Quattus创建一个D触发器和一个基本RS触发器,前者为了设计三位缓冲寄存器和四位左移移位寄存器,写verilog代码的时候一定要注意是上升沿触发还是下降沿触发。

2. 触发器最重要的功能,存储、计数和分频

3. CP时钟信号控制的只是器件的工作状况。而真正的输入是由D决定的

4.消抖分为硬件消抖和软件消抖,硬件消抖可以通过RS触发器来实现,软件消抖要通过分析一个短时间内的主脉冲。抖动的原因:机械开关在闭合和断开的时候电路存在一定的延时性和接触性等问题,会出现一些“毛刺”使得电路不稳定,影响稳定性。

6.移位寄存器的作用:存储和移位;移位的实现,受到移位脉冲的作用

7.本次实验和38译码器实现逻辑函数的电路实验的最大的区别在于前面是组合逻辑电路,现在是时序电路,前面输入和输出是“一触即发”的关系,而现在是与脉冲有关,与一段时间有关

附件一:myD触发器代码

module myD(D,clk,SN,RN,Q,QN);input D,clk,SN,RN;output Q,QN;reg Q,QN;//寄存器定义always @ (posedge clk or negedge RN or negedge SN)beginif(!RN)Q<=0;else if(!SN)Q<=1;elseQ<=D;endalways @(Q)beginQN<=~Q;end       endmodule附件二:myrs触发器的代码module myrs ( Rn, Sn, Q );//低有效的rs触发器input Rn, Sn;output Q;reg Q;//寄存器定义always @( Rn,Sn )if(!(Rn&&Sn))begincase ({ Sn ,Rn })2'b01:Q <= 1;2'b10:Q <= 0;              endcaseendendmodule

实验三 触发器、移位寄存器的设计和应用相关推荐

  1. 软件质量保证与测试实验(实验三.逻辑覆盖测试用例设计)

    软件质量保证与测试.实验三.逻辑覆盖测试用例设计 0 目录 1 逻辑覆盖测试用例设计 1.1 逻辑覆盖测试用例设计 1.1.1 实验目的 1.1.2 实验预习 1.1.3 实验内容及要求 1.1.4 ...

  2. 自适应控制——仿真实验三 用超稳定性理论设计模型参考自适应系统

    自适应控制--仿真实验三 用超稳定性理论设计模型参考自适应系统 一.问题描述 二.问题建模 三.问题求解 参考书目 一.问题描述 设控制对象的传递函数为 W p ( s ) = k 1 T 1 2 s ...

  3. 中国大学MOOC数据库系统概论中国人民大学实验三 触发器

    实验题基于学生选课数据库,其包含三个关系模式: (1)学生关系模式Student(Sno, Sname, Ssex, Sage,Sdept) (2)课程关系模式Course(Cno, Cname, C ...

  4. 实验三 面向对象分析与设计

    文章目录 一.实验目的 二.实验内容 实例1:在线选课系统 实例2:试卷自动生成系统 实例3:人事信息管理系统 三.实验步骤 四.实验内容 1.问题陈述 2.用例图(Use Case View)的建模 ...

  5. 实验三 lr分析器的设计与实现_实验室规划设计趋势之一灵活性|无风管通风柜的灵活性是如何实现的?...

    点击上方蓝字关注 "法国依拉勃" "成功的空间是灵活的", 可以响应当前需求并能够适应未来需求的空间. 科学是不断发展和快速变化的领域, 实验室是需要大量财务投 ...

  6. 实验三 lr分析器的设计与实现_三电平ZVS半桥的控制模型与仿真 基于PSPICE

    前言: 因为最近有研究一些三电平的东西,所以找出了15年写的TL移相桥的文章,也算是旧文新发.必须要说的,5年前水平有限哈(但是蛮认真的),如果有错误请见谅. 正文:3650字 22图  预计阅读时间 ...

  7. 软件技术实习项目:实验三、迷宫游戏设计

    目录 1.系统简介 1.1设计背景 1.2开发工具及环境 2.系统分析与设计 2.1设计目的 2.2功能需求 2.3系统功能代码设计 2.3.1算法说明 3.系统调试 3.1编写源程序界面 4.设计总 ...

  8. 【数电实验】触发器及其应用

    实验三 触发器及其应用 一 实验目的 1 了解触发器的触发方式(上升沿触发.下降沿出发)及其触发特点: 2 测试常用触发器的逻辑功能: 3 掌握用触发器设计同步时序逻辑电路的方法. 二 实验内容 1 ...

  9. 实验三 基于FPGA的数码管动态扫描电路设计 quartus/数码管/电路模块设计

    实验三 基于FPGA的数码管动态扫描电路设计 源文件的链接放在最后啦 实验目的: (1) 熟悉7段数码管显示译码电路的设计. (2) 掌握数码管显示原理及静态.动态扫描电路的设计. 实验任务: (1) ...

最新文章

  1. centos上tensorflow一键安装脚本
  2. 2020 AI产业图谱启动,勾勒中国AI技术与行业生态
  3. 图形交互界面_人机交互界面UI简介
  4. JAVA移慎_谨慎使用Java8的默认方法
  5. SQL Server温故系列(1):SQL 数据操作 CRUD 之增删改合
  6. Java多线程编程那些事:volatile解惑--转
  7. Flex与.NET互操作(三):基于WebService的数据访问(下)
  8. 精通Android开发 1
  9. pm1 android,Android Sensor SDK
  10. [HNOI2019]校园旅行
  11. 真香无疑了!新iPhone抢断货,国内最受欢迎的颜色是它
  12. Jenkins Robot framework 持续集成环境搭建
  13. Oracle分析函数用法
  14. lisp天正图元位置修改_关于图元改层的,请求大佬帮助 - AutoLISP/Visual LISP 编程技术 - CAD论坛 - 明经CAD社区 - Powered by Discuz!...
  15. 3D游戏编程与设计作业02
  16. API接口管理平台源码thinkPHP
  17. 《自控力》分享一些减缓压力小妙招
  18. 【论文笔记_自蒸馏_2020】Regularizing Class-wise Predictions via Self-knowledge Distillation
  19. c语言编写图形登录窗口,C语言实现图形界面登陆窗口
  20. 什么是PCB走线的3W原则

热门文章

  1. 吉大计算机如何本科进实验室,吉林大学本科实验教学管理办法(试行)
  2. 什么是istp?istp收录
  3. Windows系统截屏有那么多方法,你知道吗?
  4. Mbus总线低温丢包问题分析及解决
  5. Java 实例-打印图形
  6. 什么是UI界面设计作者 信息构架+交互设计+视觉设计=UI
  7. 栈的存储——顺序存储与链式存储
  8. 源码系列:基于FPGA的数字电压表(AD)设计
  9. Mockito一个用于Java开发的伟大的模拟框架
  10. 造成数据丢失的原因有哪些