- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数字逻辑实验6触发器的仿真
实验六 触发器的仿真
实验要求
1.用VHDL语言设计D锁存器,并进行仿真与分析;
2.参看Maxplus中器件7474(边沿D触发器)的逻辑功能,用VHDL语言设计边沿触发式D触发器,并进行仿真与分析。
3.参看Maxplus中器件7476(边沿JK触发器)的逻辑功能,用VHDL语言设计边沿触发式JK触发器,并进行仿真与分析。
实验内容
通过quartus2 参照芯片的电路结构,只使用VHDL语言实现D锁存器、边沿D触发器(参照7474)和边沿JK触发器(参考7476)。并通过仿真波形验证设计的功能是否正确。
实验过程
由于在报告1中已经详尽描述了如何使用Quartus 2建立逻辑原理图和使用VHDL语言实现元件功能,所以本次的实验报告中便不再赘述上述内容,报告将主要就VHDL语言描述实现元件的功能的过程进行阐述。
D锁存器
选择File→New,弹出新建文本对话框,在该对话框中 选择VHDL File并单击OK按钮,进入文本编辑窗口,输入VHDL代码。
library IEEE;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity d_lock is
port(
en,d:in std_logic;
q,notq:out std_logic);
end d_lock;
architecture d_lock_arc of d_lock is
signal q1,notq1 :std_logic;
begin
process(en,d)
begin
if(en/=0) then
if(d=0) then
q1=0;
notq1=not q1;
else
q1=1;
notq1=not q1;
end if;
else
q1= q1;
notq1= notq1;
end if;
end process;
q= q1;
notq= notq1;
end d_lock_arc;
保存文件并编译,选择菜单File→New,选择Vector Waveform File新建波形图,添加节点,参数设置为:End Time=2us, Grip size=100ns。所完成的波形图如下图:
保存波形文件,并在settings中选择functional功能仿真,绘制网格,仿真可得出如图波形:
在仿真中,只摘取了部分重要部分进行仿真验证,测试了使能端G的功能从仿真波形的信息可以得出:
endqnotq100111100×保持q保持notq据仿真波形信息,当使能端en为1时,d端数据输入为0时,q端输出0,notq输出1;
当使能端en为1时,d端数据输入为1时,q端输出1,notq输出0;
当使能端en为0时,无???d端数据输入什么,q端保持输出原输出,notq保持原输出;
根据输入输出的对应关系,可以得出它的真值表和D锁存器相同,设计成功。
边沿D触发器
选择File→New,弹出新建文本对话框,在该对话框中 选择VHDL File并单击OK按钮,进入文本编辑窗口,输入VHDL代码。
library IEEE;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity d_chufa is
port( pr,clr,clk,d:in std_logic;
q,notq:out std_logic);
end d_chufa;
architecture arc of d_chufa is
signal q1,nq1: std_logic;
begin
process(pr,clk,d,clr)
begin
if(pr=0 and clr=1) then
q1=1;
nq1= not q1;
elsif(pr=0 and clr=0) then
q1=1;
nq1=1;
elsif(pr=1 and clr=0) then
q1=0;
nq1= not q1;
elsif(clkevent and clk=1) then
q1=d;
nq1=not d;
else q1=q1;
nq1=nq1;
end if;
end process;
q=q1;
notq=nq
您可能关注的文档
最近下载
- 肾动态显像dynamicrenalimaging.PPT
- 人教版(2024新版)英语七年级上册Unit 7 Happy Birthday!大单元整体教学设计.docx
- 《高等职业学校专业教学标准(试行)》存在的问题及改进建议--以财经大类、文化教育大类和旅游大类为例.pdf VIP
- 《小班美工区中幼儿教师指导问题及策略研究报告》9700字.docx
- 三级烟草专卖管理师岗位技能鉴定试卷答案.docx VIP
- 国家开放大学,地域文化,人文武隆形考一 (2).docx
- 2024年秋季新北师大版七年级上册数学全册教案.DOCX
- 手术讲解模板:睾丸扭转复位固定术.ppt
- 壹号土猪市场营销分析.doc VIP
- DELI得力 M201CR用户手册 说明书.pdf
文档评论(0)