时序电路实验报告_第1页
时序电路实验报告_第2页
时序电路实验报告_第3页
时序电路实验报告_第4页
时序电路实验报告_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、时序电路实验说明:在实验原理图中的框图中,第一步的产生环形脉冲是指产生q4q1:1000-1100-1110-0000-1000,产生的译码后的节拍电位是指t40t41:0001-0010-0100-1000-0001,最后通过启停控制逻辑,启动,单拍,停机控制t40t41怎么输出。但是为什么环形脉冲没有1111这一个状态呢,为什么在0111就归零了呢?分析电路图可知,因为节拍电位只有4个状态,所以在环形脉冲的设计中忽略了1111,当然也可以设计成没有0000这个状态。先解释机器周期、节拍电位、时标脉冲。机器周期的时间宽度通常对应于一个内存存取周期,即一个机器周期可以访问一次内存。机器周期分为

2、多种类型,如取指令周期、取操作数周期、执行周期等。一条指令从内存中取出到被执行完需要若干个不同类型的机器周期,但任何指令的第一个周期都是取指令周期,每个机器周期包含若干个节拍电位。节拍电位是控制操作顺序的信号,各节拍电位在时间上不重叠。节拍电位由主振分频得到。其宽度对应于运算器执行一次算术/逻辑运算所需要的时间,一个节拍电位包括若干时标脉冲。时标脉冲用来保证计算机内触发器的可靠翻转,它的宽度为节拍电位的几分之一。以上内容书上也有,下面举例来解释这3个概念。 一条指令有分为取指周期,译码周期,执行周期。如比较熟悉的取指周期中就有fetch1: arpcfetch2: drm,pcpc1fetch

3、3: irdr7.6,ardr5.0fetch1,fetch2,fetch3为3条微指令。每条微指令都对应相应的控制信号,如fetch1就是arload有效,其余控制信号均无效。时标脉冲是指在节拍电位中,产生控制信号逻辑的每个时钟信号;节拍电位就是产生一组控制信号逻辑,fetch1、fetch2、fetch3分别对应3个节拍电位;机器周期就是整个取指周期,包括3个节拍电位。下面解释实验原理图:第一个7474是产生清零信号和时钟信号,清零信号是当q2=1时,在时钟上升沿clrn=0,clk=1,在其他时候clk与h的信号一致。所以有clrn=(q2h),clk=q2+h。74175是为了产生环形

4、脉冲的,环形脉冲q4q1为1000-1100-1110-0000-1000,q*表示次态,q表示现态。所以q4*=clrn,q3*=q4clrn,q2*=q3clrn,q1*=0,在74175中体现出来就是4d=1,3d=q4,2d=q3,1d=q2。产生译码后的节拍电位可以根据卡洛图得逻辑表达式,除了q4q1的几个状态,其余的都作为无关项理解。q4q1: 1000-1100-1110-0000-1000对应t40t41:0001-0010-0100-1000-0001,有:t40=q4, t30=q2,t20= q3q2, t10= q4q3,第二个7474和组合逻辑是产生启停控制逻辑的。通

5、过产生的控制信号与t40t41进行与运算,最后得到真正的节拍电位。qd是通过锁存器产生,由于单拍和启动信号都与周期有关,也就是可以理解为,周期结束后单拍和启动信号才发挥作用,一个是让输出全为0,一个是输出为t40t41,所以通过7474,来控制信号什么时候有效,所以连接的时钟信号与q4一致,单拍时d=0,启动时d=1,会发现中间有反馈信号,这个是因为单拍和停机都必须在启动状态下才有效,所以有这样一个连接。另外在锁存器后连接了一个与非门和与门,这个我觉得是用来判断优先级的,因为启动状态时,只有当单拍和停机都无效时d=1,而单拍和停机都有效时d=0,当然中间的停机信号设计有问题。1.电路设计时序电

6、路library ieee;use ieee.std_logic_1164.all;entity sm1 is port (复位信号启动信号单步信号停机信号 reset : in std_logic := 0;启动信号单步信号停机信号 clock : in std_logic; qd : in std_logic := 0; dp : in std_logic := 0; tj : in std_logic := 0; t1 : out std_logic;时序脉冲信号启动信号单步信号停机信号 t2 : out std_logic; t3 : out std_logic; t4 : out s

7、td_logic );end sm1;architecture behavior of sm1 is type type_fstate is (idle,st1,s_st2,st4,st2,s_st3,st3,s_st4); signal fstate : type_fstate; signal reg_fstate : type_fstate;begin process (clock,reset,reg_fstate) begin if (reset=1) then fstate = idle; elsif (clock=1 and clockevent) then fstate = reg

8、_fstate; end if; end process; process (fstate,qd,dp,tj) begin t1 = 0; t2 = 0; t3 = 0; t4 if (not(qd = 1) then reg_fstate = st1; else reg_fstate = idle; end if; t1 = 0; t2 = 0; t3 = 0; t4 if (tj = 1) and not(dp = 1) then reg_fstate = st1; elsif (dp = 1) and not(tj = 1) then reg_fstate = s_st2; else r

9、eg_fstate = st2; end if; t1 = 1; t2 = 0; t3 = 0; t4 if (tj = 1) then reg_fstate = s_st2; else reg_fstate = s_st3; end if; t1 = 0; t2 = 1; t3 = 0; t4 if (tj = 1) and not(dp = 1) then reg_fstate = st4; elsif (dp = 1) and not(tj = 1) then reg_fstate = idle; else reg_fstate = st1; end if; t1 = 0; t2 = 0

10、; t3 = 0; t4 if (tj = 1) and not(dp = 1) then reg_fstate = st2; elsif (dp = 1) and not(tj = 1) then reg_fstate = s_st3; else reg_fstate = st3; end if; t1 = 0; t2 = 1; t3 = 0; t4 if (tj = 1) then reg_fstate = s_st3; else reg_fstate = s_st4; end if; t1 = 0; t2 = 0; t3 = 1; t4 if (tj = 1) and not(dp =

11、1) then reg_fstate = st3; elsif (dp = 1) and not(tj = 1) then reg_fstate = s_st4; else reg_fstate = st4; end if; t1 = 0; t2 = 0; t3 = 1; t4 if (tj = 1) then reg_fstate = s_st4; else reg_fstate = idle; end if; t1 = 0; t2 = 0; t3 = 0; t4 t1 = x; t2 = x; t3 = x; t4 0-1111101-0-10tj停机信号0000-1-000100dp单步

12、信号000010010t4.0时序信号00000001-0010-0100-1000-000100100010-0100-100000010001能说明启动时序发生器,但并未产生时序脉冲启动时序发生器,t4t1,周而复始的发送出去停机状态是,机器不产生时序脉冲单步状态机器发出一个cpu周期就停止停机状态优先,即使此时处于启动单步状态优先,即使此时处于启动复位状态优先,之后若未启动,单步状态无效实验结论验证成功实验箱验证验证仪器flex10k系列的epf10k20tc144-3芯片dda-i型实验箱管脚名管脚功能管脚分配情况123456clk时钟信号122时钟上升沿

13、reset置位信号830(无效)1(有效)qd启动信号8210110xtj停机信号800(无效)x101xdp单步信号810(无效)x011xt4.1时序信号118,11,7,116,11400000001-0010-0100-1000-000101000100-100010000000功能说明启动时序发生器,但并未产生时序脉冲启动时序发生器,t4t1周而复始发送出去停机状态是,机器不产生时序脉冲单步状态,机器只发出一个cpu周期就停止停机状态优先,即使此时处于启动复位状态优先,之后若未启动,单步状态无效实验结论实验操作正确,验证正确实验日志思考题(1) 时序电路实行了哪几种启停控制逻辑?答:

14、实现了启动、单拍、停机等控制信号来控制(2) 举例说明机器周期,节拍,脉冲。答: 机器周期:从内存中读取一个指令字的最短时间。 本实验中,相当于输出一组t1、t2、t3、t4节拍脉冲所用的时间 节拍与脉冲:一个节拍电位表示一个cpu周期的时间。一个节拍电位中包含若干个节拍脉冲,节拍脉冲表示较小的时间单位。(3) 如何进入单步运行状态?答: 先置dp=0,tj=0,qd由0变化到1,然后令dp=1,即可使机器进入到单步运行状态中。 其用途为:每次只读取一条指令,可观察当前执行结果。(4) 时序电路参考电路图4-5-3中的停机控制电路未能实现停机功能,如何修改?答:实现全停全停全停全停功能,电路修改如下: 7474 clrn的输入为tj的反,通过反相器实现,原来为直接接高电平。即在使得tj=1的时候,clrn有效,则清零,即全停。 实现暂停暂停暂停暂停功能,电路修改如下: 添加一个新的输入控制信号,将其与h的反做或运算,运算的结果作为图中7474的时钟的输入。 日志1. 时序电路响应qd低电平时启动,试述vhdl中如何如果实现响应qd下降沿?(1)qd : in std_logic := 0;/改为qd : in std_logic := 1;(2)case fstate

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论