《实验四 D触发器.docx》由会员分享,可在线阅读,更多相关《实验四 D触发器.docx(15页珍藏版)》请在三一办公上搜索。
1、YUNNAN NORMAL UNIVERSITY本科学生综合性实验报告学号114090315 姓名李开斌学院物电学院 专业、班级 11电子实验课程名称电子设计自动化(EDA实验)教师及职称罗永道副教授开课学期2013 至2014学年下学期填报时间2014 年 5月 23日云南师范大学教务处编印实验序号4实验名称D触发器实验时间2014年5月23日实验室同析楼114一.实验预习1.实验目的:(1)掌握D触发器的工作原理;(2)掌握VHDL编程语言的使用,学习基本时序元件的VHDL表达;2.实验原理、实验流程或装置示意图:最简单、最常用、最具代表性的时序元件时D触发器,它是现代数字系统设计 中最基
2、本的底层元件,甚至是ASIC设计的标准单元。JK和T等触发器都可以由D 触发器构建而来。D触发器的描述包含了 VHDL对时序电路的最基本和经典的表达 方式,同时也包含了 VHDL许多最具特色的语言现象。具有边沿触发性能的D触发器(图1),只有当上升沿到来时,其输入的Q的数值 才会随输入口 D的数据而改变,在这里我们称之为更新。Q1P.FIEDI- 口0 - QCLKI ENACiR图1D触发器凡在时钟信号作用下逻辑功能符合表2-1特性表所规定的逻辑功能者叫做D触 发器。从特性表写出D触发器的特性方程为:Qn+1=D。elkDQn+10D触发器的特性表01在试验中的VHDL代码中,条件语句的判断
3、表达式“clkevent and clk=1”是 用于检测时钟信号CLK的上升沿,即如果检测到CLK的上升沿,此表达式将输出 TRUE。因此这也可称为边沿敏感表达式。关键词EVENT是信号属性函数,也包含在IEEE库的std_logic_1164程序包。 用来获得信号行为信息的函数称之为信号属性函数。VHDL通过通过以下表达式来 测定某信号的跳变(变化)情况:信号名EVENT短语“CLK EVENT”就是对CLK标示符的信号在当前的一个极小的时间段 6内发生事件的情况进行检测。所谓发生事件,就是CLK在其数据类型的取值范 围内发生变化,从一种取值变到另一种取值(或电平方式)。如果CLK的数据类
4、型 定义为STD_LOGIC,则在6时间段内,CLK从其数据类型允许的9种值中的任何 一个值向另一值跳变,如由0变成1、由1变成0或由Z变成0,都认为发生了事 件,于是次表达式将输出一个布尔值TRUE,否则FALSE。3. 实验设备及材料电脑一台,QuartusII实验平台,EDA实验箱4. 实验方法步骤及注意事项1、启动Quartus II 5.1:在Windows操作系统下,单击“开始”,选择“程序”, 再选择“altera”选项下的“Quartus II 5.1”命令。2、新建工程:在File菜单中选择New Project Wizard”,弹出对话框如图2-1 所示在这个对话框中,第一
5、行是需要你指定项目保存的路径,支持含中文字符的路 径,第二行是需要你为这个项目取一个名称,第三行是需要你为这个项目的顶层实 体取个名称,如实验不需要使用芯片,这三个设定好后,点击“ finish”。出现如 下界面Fh Edit Vr Fqpdt Aianiininn PrsKtininq Todi MliidsM HnlpS;- 中仲z卜啡忸/O .尊曹虫jEjJ.L,.y今 匚2m IT I ETICBWnca L h m JfalilH 卅些 iFfe.|K 匚 5炽.r-nkljfcUEI E I dFrrt-:l ET! Irf F-b:r * fcrwsbLsr Crsno: rSi
6、 j Tife+Enii. Tub* Hal IH Fidist Tritw,:jxB - .dEh w SffFiffifc MirHi r.raDfiMTlQpd HW Sutwirv 4vtMir&scunrrAikuiiEE,咔5 g蝴 人怦gf *,hWf k 沁 X Xg H 明 5J!C3、在file中点击new,建立VHDL file文件,如下图实验过程中认真分析实验原理编写代码,防止书本、书包等物品与实验设备接触,以免造成不必要的麻烦。二.实验内容1. 实验现象与结果1、D触发器VHDL语言程序如下:LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.
7、ALL ;ENTITY dff1 ISPORT ( CLK, D : IN STD_LOGIC ;Q : OUT STD_LOGIC );END ;ARCHITECTURE a OF dff1 ISSIGNAL Q1 : STD_LOGIC ;BEGINPROCESS (CLK,Q1)BEGINIF CLKEVENT AND CLK =TTHEN Q1 = D ;END IF ;END PROCESS ;Q = Q1 ;END a ;2、功能仿真1413- l-r-l 2 l-:-l 2 2口 口二 o- 2细详spoefghjk lmnp-rtuvwym OC_0-Q 0-V &OQS!3&
8、-A vASVOA0_vy clbc!0A3A AogAoo -000OO0OOA2AUV 0-00 0-00 Vo 欢-o o 0 o ;VAOA。 xo-oao 令口口 x-qooqgs VAOO.I .:1 .11-字3二。LOA1716 -=3、引脚配置:Quartus II 一 E:/ydesign/DFF1/DFF1 - DFF1 - Pin Planner会 包ixkKo&l & o 0 &-0-&-o-eQ aqcsoq0-o-0- 0X0 v.o o VOOA-0 o Av o AdAA-Ac;lo V V VAMV V o o 色8onos0A vlgllel-6m6lel
9、-K&llIQBll0llo-F7ne o rl1310我16:12彩 Quartus II -. 启Compilation Report - Flow S. 卜项皿1. | Kingston (e:)| 登Quartus【-Flow SummaryFlow StatusQuartus II Versi onIn progress - Sat Jun 07 16:53:48 20149. 1 Build 350 03/24/2010 SF 2 SJ Full VersionRevi si on N:=uiiedftlTop-level Entity HamedttlF:din i lyCycl
10、one IV EDevi ceEP4CE6F17C8Timing M u delsFrelimiriaryMet timing requirementER/ATotal logic elements1Tqt:il combinatioiud. fiinctions0Dedi cated logi c regi sters1Total registers1Total pins3Total virtual pins0Total memory tits0EmbeddHil Multiplier 9-bit elements0Total FLLs0SymbolQ1QD|CLKI写的程序是通过了,但是不
11、知道写的程序是否实现自己设想的功能,接下来对这个程序进 行仿真。进行仿真首先需要建立一个仿真文件:点击file-new,然后在Device Design Files,SoftwareFiles,Other Files 中选择 Other Files,然后选择最下面一个 “Vector Waveform File”, 新建一个波形仿真文件,见下图:新建完一个新的波形文件后,在左边的空白处点击右键,选择“Insert Node or Bus ”,或者点击 edit-Insert Node or Bus。O Quartus II - C:/Documents and Settings/胡益/桌面/l
12、/dff logic - dff logic - Tavef oral. wf H| File Edit View Project Assignments Processing Tools Window Help口回留_ B1 XZU质,7。辱|姓| A小怎辱。|四abc dff_logic.vhdMaster Time BarLogic CeI (1)StatusModule |Prog. . %|Time*TProject Navigator:| EntityStr&tix: AUTO&莞O啊炬。T-TM延涟瓯炬限Name| Waveforml.vwf18. 1 ns |Pointer:1
13、00 psInterval: 18.0 ns Start:End:)ps10.0 ns20.0 ns30.0 ns18.1 ns2dJCutCopyPasteFaste Sjieci al.Repeat Paste.DeleteCtrl+XCtrl+CCtrl+VDelInsert Copi ed NodesInsert Mode or Bus.ZoomDfiS 耐昌 昭电 |oValue-Clock出现一个对话框,在这个对话框中,我们可以设定这个时钟激励的周期(频 率),相位,以及占空比等参数,设定后,点击“OK”:垃 4u4Et*s II - Ci/Doc*mR0 心燧签*V/24fT_l
14、oi|;M - drr_l*fla -Y:i sffl_Ijrdwalj #口必 慕电- -m顷i;3, /点邙鲫 c *| | 9 isii;rr hr 1R 1 vs Jjhixt- i 15 w liUrnil-i& W F3 ,I:W0 ci EH&卜 SMm/. F*iiiTa Jit EhaIf- /i, Wia ft/vfaratq Crsdvin Eih /,/J一_JITiOiir ULjjfl1 11*然后保存,一般仿真的模块取什么名字,仿真文件也取什么名字,以方便日后文件的管理 和调用,我们以dff_logic.vwf名字保存。然后点击Tool-Simulator Too
15、l,见下图:口回留_ o XO Quartus II - C:/Documents and Settings/胡益/桌面/l/dff_logic - dff_logic - dff_logic.vf ,g File Edit View Project Assignments Processing Tools Window HelpD 喜 9 昌 X 昭 Slpnc *? dffjogicModule |Prog. . %|Time*TA E 拣X*A瓯涎程格距以rfe英o傩炬。T-rz 一延溥近X2陲IEIEIEEDA Simulati on. ToolRun EDA Timing Analy
16、sis ToolLaunch S o f tw ar e D ebuggei C til+Shi f t+DLaunch Desi gn Space E约Lor erCompiler ToolJ可 Simulator ToolTiming Analyzer ToolAdv:mced Li st Faths伊 PowerPlay Power Analyzer ToolResource Optimi zati on Advi soi*0 Timing Optimization AdvisorQ次 Power Optimization AdvisorChip Editor& RTL ViewerTe
17、chnology Map Viewer纹 State Machine ViewerSignalTap II Logic AnalyzerIn_System Mem nr 至 Content Edi toi3 Logi c An.:alyzei Intelface Edi torProgrammerMegaWizard Plug-In Manager.攻 SOPC Builder.Tel Sci-jjits.Customize.Options.Li cense Setup. System 人 Processing 入 Extra Info 入 Info 入 Warning 入Critical W
18、arning入 Error 入 Suppressed /Message:金 专 | | Location:Locate |I idi?Opens the Simulator Tool window or brings it to the foreground选择时序仿真,点击Start,开始仿真,结束后点击“Report”。至此,完成了程序的设计和仿真,可以把它生成一个模块符号,以便在以后图形文件中调 用,点击 File-Create/Update-Create Symbol Files for Current File 见下图:观察分析波形:还可以进一步了解信号的延时情况。2. 对实验现象、
19、实验结果的分析及其结论通过Quartus II软件的顺利编程,实现了 D触发器的VHDL设计,从功能仿真图中可以看 到,当CLK上升沿到来时,其输入的Q的数值才会随输入口 D的数据而改变。对于同步时序逻辑电路,因为时钟脉冲对电路的控制作用,所以无论输入信号时电平信号 还是脉冲信号,对电路引起的状态响应都是相同的。而对于异步时序逻辑电路,电路中没有统一的时钟脉冲信号同步,电路状态的改变是外部输入 信号变化直接作用的结果;在状态转移过程中,各存储元件的状态变化不一定发生在同一时刻, 不同状态的维持时间不一定相,并且可能出现非稳定状态。对输入信号的形式有所区分,输入 电平信号与脉冲信号,对电路引起的状态响应是不同的。教师评语及评分:签名:年 月 日