您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 2016EDA实验报告D触发器的设计
电子系统设计基础1AdvancedElectronicsSystemLab.@201603ALTERAFPGA设计之带复位的D触发器_基本实验QuartusII13.0SP1+ModelsimSE-6410.2c+Cyclone【姓名学号】实验目的:1、熟悉VHDL触发器的设计;2、了解FPGA基本结构中的触发器。3、熟悉VHDLtestbench(测试平台/测试激励)的设计;4、熟练掌握AlteraFPGA的开发环境、设计步骤和流程。实验形式:边做实验边写实验报告,实验完成后即提交实验报告。【描述实验中的设计】用IF语句设计D触发器,实现带复位功能的D触发器。【实验中设计实现的HDL代码】libraryieee;useieee.std_logic_1164.all;entityexp1isport(R:instd_logic;clk:instd_logic;D:instd_logic;Q:outstd_logic;Q0:outstd_logic);endexp1;architecturearch_exp1ofexp1issignala:std_logic;beginprocess(clk,R)beginif(clk'eventandclk='1')thenif(R='0')thena='0';elsea=D;endif;电子系统设计基础2AdvancedElectronicsSystemLab.@201603endif;endprocess;Q=a;Q0=nota;endarch_exp1;【实验中用于仿真的HDLtestbench代码】libraryieee;useieee.std_logic_1164.all;entityexp1_tbisendexp1_tb;architecturearch_Etbofexp1_tbiscomponentexp1isport(R:instd_logic;clk:instd_logic;D:instd_logic;Q:outstd_logic;Q0:outstd_logic);endcomponent;signalR,clk,D,Q,Q0:std_logic;beginu_tb:exp1portmap(R=R,clk=clk,D=D,Q=Q,Q0=Q0);processbeginR='0';D='0';waitfor10ns;R='0';D='1';waitfor10ns;R='1';D='0';waitfor10ns;R='1';D='1';waitfor10ns;R='1';D='0';wait;电子系统设计基础3AdvancedElectronicsSystemLab.@201603endprocess;clk_stimulus:processbeginclk='0';waitfor4ns;clk='1';waitfor4ns;endprocessclk_stimulus;endarch_Etb;【实验中设计的功能仿真结果及分析】功能仿真结果分析:从上图中的仿真结果可以看出,0ns~20ns输入R为低电平’0’,4ns时,clk遇到上升沿,电路复位;20ns以后输入R为高电平’1’;30ns~40ns,输入D为高电平‘1’,36ns时,clk为上升沿,输出Q置为D即高电平‘1’,输出Q0置为D的非即低电平‘0’。功能仿真结果正好验证了我们设计的带复位功能的D触发器是正确的。【实验中设计的时序仿真结果及分析】(注意建立时间和保持时间)时序仿真结果分析:从上图中的仿真结果可以看出,0ns~20ns输入R为低电平’0’,4ns时,clk遇到上升沿,电路复位延迟到7.6ns才发生;20ns以后输入R为高电平’1’;30ns~40ns,输入D为高电平‘1’,36ns时,clk为上升沿,输出Q置为D即高电平‘1’,输出Q0置为D的非即低电平‘0’,二者都延时到48ns才发生。时序仿真结果同样验证了我们设计的带复位功能的D触发器是正确的。【实验中设计的RTL级电路结构及分析】电子系统设计基础4AdvancedElectronicsSystemLab.@201603只含有一个触发器,R作为复位信号,clk上升沿触发。【实验中设计的硬件验证结果及分析】R和D设置为K1,K2,Q和Q0设置为L1,L2,时钟信号由单步时钟输入B18:Step控制。经验证硬件电路满足上述表格关系,实验成功。【列出实验中遇到的问题及解决情况】1、开始时编程得到的RTL电路中含有两个触发器,是因为代码为“Q=D,Q0=notD“,老师要求不能用inout端口,故改用signal,将信号量赋值给D,“Q=a,Q0=nota”,问题解决。2、功能仿真中Q和Q0的输出总是慢半个周期,几乎可以看做是下降沿触发,经老师提醒,发现自己在信号量复制给输出量是代码位置有误,应放在endprocess之后,仅仅放在endif之后仍会影响输出。。【实验总结】这次实验我做了两个晚上,第一次做时,因为没有找出功能仿真错误所在,所以决定第二天再来试一次,最后在老师的帮助下完成了实验。这次实验让我印象深刻,同时也学到了很多知识,以后做实验硬胆大心细多思考,稍不注意的小错误都可能导致结果不正确。
本文标题:2016EDA实验报告D触发器的设计
链接地址:https://www.777doc.com/doc-5237042 .html