ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:963.76KB ,
资源ID:27373944      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/27373944.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(黄红涛vhdl实验报告实验3 触发器.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

黄红涛vhdl实验报告实验3 触发器.docx

1、黄红涛vhdl实验报告实验3 触发器学生实验报告实验课名称:VHDL硬件描述语言实验项目名称:触发器专业名称:电子科学与技术班级:32050801学号:3205080134学生姓名:黄红涛教师姓名:程鸿亮_2010_年_11_月_6_日组别_ 同组同学_ 刘增辉 实验日期:2011 年 11 月 6 日 实验室名称_ 成绩_一、实验名称: 触发器二、实验目的与要求: 设计RS、JK、D、T四种触发器,掌握异步复位置位的方法以及四种触发功能的实现方法,掌握QuartusII软件的使用方法以及GW48型SOPC开发平台中的输入输出模式配置方法。 通过VHDL编程,实现RS、JK、D、T四种触发器,

2、要求四种触发器同时在开发平台上实现,并共享置位、复位端,JK、D、T三种触发器共享时钟信号端,具体接口如下所示:s:所有触发器的置位输入端,低电平有效; r:所有触发器的复位输入端,低电平有效; j:JK触发器可j控制输入端; k:JK触发器的k控制输入端; cp:时钟信号; d:D触发器数据输入端; t:T触发器控制端。q_rs、qn_rs:RS触发器状态输出端; q_jk、qn_jk:JK触发器状态输出端; q_d、qn_d:D触发器状态输出端; q_t、qn_t:T触发器状态输出端; err3.0:无效状态显示输出端。 首先在QuartusII上进行功能和时序仿真,之后通过器件及其端口配

3、置下载程序到SOPC开发平台中。在硬件实现中,要求:1. 用拨动开关实现触发器的控制信号(r、s、t、j、k、d):注:要求使用最右面6个开关。2. 用实验平台的按键实现时钟信号(cp):3. 用LED阵列实现状态输出的显示:注:要求用LED3、LED11分别显示RS触发器的q_rs和qn_rs;用LED4、LED12分别显示T触发器的q_t和qn_t;用LED5、LED13分别显示JK触发器的q_jk和qn_jk;用LED6、LED14分别显示D触发器的q_d和qn_d;用LED1、LED9、LED8、LED16同时显示无效状态。三、实验内容:1. 打开QuartusII软件,建立一个新的工

4、程: 2. 建立VHDL文件3. 建立矢量波形文件4. 进行功能仿真5. 进行时序仿真6. 器件的下载 四、实验条件:1. 安装WindowsXP系统的PC机; 2. 安装QuartusII6.0 EDA软件; 3. GW48型SOPC开发平台;五、实验原理:1算法流程图:2硬件设置与调试原理:1) 用拨动开关实现触发器的控制信号(r、s、t、j、k、d),用实验平台的按键实现时钟信号cp,这时,可以直接通过拨动六个开关的位置和按键的状态,改变输入信号,开关上置表示输入高电平1,开关下置表示输入低电平0,按键指示灯亮表示为高电平,按键指示灯暗表示为低电平。2) 用LED阵列实现状态输出的显示,

5、根据LED的显示原理,加在LED上的电平为高电平时LED正常发光,低电平时,LED不会正常发光。用LED3、LED11分别显示RS触发器的q_rs和qn_rs;用LED4、LED12分别显示T触发器的q_t和qn_t;用LED5、LED13分别显示JK触发器的q_jk和qn_jk;用LED6、LED14分别显示D触发器的q_d和qn_d;用LED1、LED9、LED8、LED16同时显示无效状态。这样各个触发器随时钟脉冲产生的状态就可以直接通过LED的发光状态显示出来。3) 各个触发器随cp时钟变化的规律如下表格:这样,触发器的时序功能在试验平台上得到实现和验证。六、源代码:library i

6、eee;use ieee.std_logic_1164.all;entity trigger_all isport(s,r,j,k,cp,d,t:in std_logic; q_rs,qn_rs:out std_logic; q_jk,qn_jk:out std_logic; q_d,qn_d:out std_logic; q_t,qn_t:out std_logic; err:out std_logic_vector(3 downto 0);end entity trigger_all;architecture one of trigger_all issignal q_temp_rs,qn

7、_temp_rs,q_temp_jk,qn_temp_jk,q_temp_d,qn_temp_d,q_temp_t,qn_temp_t:std_logic;begin prs:process(r,s) begin if(r=0 and s=1)then q_temp_rs=0; qn_temp_rs=1; elsif(r=1 and s=0)then q_temp_rs=1; qn_temp_rs=0; elsif(r=0 and s=0)then q_temp_rs=1; qn_temp_rs=1; end if; q_temp_rs=s nand qn_temp_rs; qn_temp_r

8、s=r nand q_temp_rs;end process prs;pjk:process(r,s,j,k,cp) begin if(r=0 and s=1)then q_temp_jk=0; qn_temp_jk=1; elsif(r=1 and s=0)then q_temp_jk=1; qn_temp_jk=0; elsif(r=0 and s=0)then q_temp_jk=1; qn_temp_jk=1; elsif(cpevent and cp=1)then if(j=0 and k=1)then q_temp_jk=0; qn_temp_jk=1; elsif(j=1 and

9、 k=0)then q_temp_jk=1; qn_temp_jk=0; elsif(j=1 and k=1)then q_temp_jk=not q_temp_jk; qn_temp_jk=not qn_temp_jk; end if;end if;end process pjk;pd:process(r,s,d,cp) begin if(r=0 and s=1)then q_temp_d=0; qn_temp_d=1; elsif(r=1 and s=0)then q_temp_d=1; qn_temp_d=0; elsif(r=0 and s=0)then q_temp_d=1; qn_

10、temp_d=1; elsif(cpevent and cp=1)then q_temp_d=d; qn_temp_d=not d; end if;end process pd;pt:process(r,s,t,cp) begin if(r=0 and s=1)then q_temp_t=0; qn_temp_t=1; elsif(r=1 and s=0)then q_temp_t=1; qn_temp_t=0; elsif(r=0 and s=0)then q_temp_t=1; qn_temp_t=1; elsif(cpevent and cp=1)then if(t=1)then q_t

11、emp_t=not q_temp_t; qn_temp_t=not qn_temp_t; else q_temp_t=q_temp_t; qn_temp_t=qn_temp_t; end if; end if; end process pt;perr:process (r,s)begin if(r=0 and s=0)thenerr=1111;elseerr=0000;end if;end process;q_rs=q_temp_rs;qn_rs=qn_temp_rs;q_jk=q_temp_jk;qn_jk=qn_temp_jk;q_d=q_temp_d;qn_d=qn_temp_d;q_t

12、=q_temp_t;qn_t=qn_temp_t;end architecture one;七、实验结果与分析 1) 波形时序仿真,其仿真结果如下图: 创建的波形文件,进行功能仿真:进行时序仿真:2) 以下是对参考代码的编译下载后的部分图例:说明:通过异步清零方式(r=1,s=0),此时无论j,k,t,d输入为多少四个触发器的输出都为1。说明:当r、s端同时为高电平时,可以通过cp端(按键1)来改变T、JK和D触发器的状态,RS触发器的状态由其前一有效状态决定。上图是其中的一个截图。此时,由于d=k=t=0,j=1所以led3保持亮,led4,led5,led14全亮。说明:当r、s端同时为0

13、时,触发器处于无效状态,触发器所有的输出为高电平,对应LED1、LED9、LED8、LED16被点亮以表示此无效状态。八、讨论和回答问题及体会:1、触发器是数字系统中非常重要的器件,它应用于有记忆功能的逻辑电路之中。不同的触发器在状态的变化中具有不同的动作特点。用VHDL语言进行描述时,需要分析真值表,掌握其触发方式,结合触发器本身特点,充分利用if语句,让程序简单易读。2、RS触发器存在无效状态,RS应具有互补的特性,当r、s端同时为0时,触发器处于无效状态,输出为不定态。这一点在程序的设计中也应该特别注意。3、在程序的编写过程中,我们应该首先分析各个端口的优先级顺序,这一点就可以利用if语句首先进行判断。这一点是用VHDL语言进行设计数字逻辑电路的共同点,是我们学习过程中必须掌握的内容。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1