数字逻辑第6章寄存器与移位课件_第1页
数字逻辑第6章寄存器与移位课件_第2页
数字逻辑第6章寄存器与移位课件_第3页
数字逻辑第6章寄存器与移位课件_第4页
数字逻辑第6章寄存器与移位课件_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

6.2寄存器在数字系统中经常使用寄存器存放二进制代码,如地址寄存器、指令寄存器、数据寄存器、控制寄存器、状态寄存器、……,寄存器是由一组触发器构成的,信息是在统一的时钟脉冲作用下存入寄存器。1)简单寄存器通用四位并行寄存器74LS175>CLKCLR

1D2D3D4D1Q1Q2Q2Q3Q3Q4Q4Q74LS175逻辑符号互补输出端数据输入端,在CP上升沿写入寄存器。CP/CLR异步清零其逻辑图见教材P212。2)有控制功能的寄存器/RESET有效时,通过异步清零端将寄存器置为:0000在CP上升沿,数据输入端(ABCD)的信息写入寄存器只有在控制信号M=1时,才送到输出端(QAQBQCQD)使能输入8位并行寄存器74LS377逻辑符号>CLKEN

1D2D3D4D5D6D7D8D1Q2Q3Q4Q5Q6Q7Q8Q74LS377CP/G/G=0时,在CP上升沿,8位数据才写入寄存器。11&&≥1D>CLKQ11D/GCP1位等效逻辑图/G=1时,保持二选一寄存器的VerilogHDL描述modulemyreg_8(data,clk,reset,oe,q);inputclk,reset,oe;input[7:0]data;output[7:0]q;reg[7:0]temp;//目的?assignq=(oe==1)?temp:8’h00;//功能?always@(posedgeclkornegedgereset)beginif(!reset)temp<=8’h00;//同步清零?elsetemp<=data;endendmodule如何添加输入使能?移位寄存器是一种既能存储数据,又能对所存数据在时钟节拍作用下按位向高位(或低位)顺移的寄存器。按逻辑功能划分:串行输入——串行输出;串行输入——并行输出;并行输入——串行输出;并行输入——并行输出。按移位方式划分:单向移位、双向移位、循环移位、扭环移位利用移位操作,可实现简单的乘除法。例如:将原寄存器中的数据向高位移一位,相当于乘以2;向低位移一位,相当于除以2。在数字通信系统中,移位寄存器广泛用于并行数据和串行数据之间的转换。6.3移位寄存器串入—串出的VerilogHDL模型moduleshifter_R(SERIN,CP,SEROUT);inputSERIN,

CP;outputSEROUT;reg[3:0]Q;always@(posedgeCP)beginQ[3]<=SERIN;Q[2]<=Q[3];Q[1]<=Q[2];Q[0]<=Q[1];endassignSEROUT=Q[0];//?endmodule可否?Q[3]=SERIN;Q[2]=Q[3];Q[1]=Q[2];Q[0]=Q[1];体会阻塞与非阻塞区别结论:时序描述,用非阻塞。2)串入——并出结构移位寄存器SERIN&&&&RDQAQBQCQD串入—并出的VerilogHDL模型moduleshifter_R(SERIN,

CP,

RD,OUT);inputSERIN,

CP,RD;output[3:0]OUT;reg[3:0]Q;always@(posedgeCP)beginQ[3]<=SERIN;Q[2]<=Q[3];Q[1]<=Q[2];Q[0]<=Q[1];endassignOUT=(RD==1)?Q:0;//?endmodulemoduleshifter_R(SIN,CP,LD,Data,SEROUT);inputSIN,

CP,LD;input[3:0]Data;outputSEROUT;reg[3:0]Q;always@(posedgeCP)if(LD==1)Q<=Data;//并入elsebeginQ[3]<=SIN;Q[2]<=Q[3];Q[1]<=Q[2];Q[0]<=Q[1];endassignSEROUT=Q[0];//串出endmodule并入—串出的VerilogHDL模型如何设计满足下列功能要求的移位寄存器?1)低有效异步清零2)保持3)右移一位4)左移一位5)并行置数

≥1&&&&1S1S0B1CLRCLKQARINQBAQCQBLINCR_OUTL_OUT四选一74LS194功能表/CLRS1S0CPQAQBQCQD功能01111ΧΧ00011011Χ↑↑↑↑0000QAQBQCQDRINQAQBQCQBQCQDLINABCD清零保持右移左移并行置数74LS194的VerilogHDL模型modulemy_194(clr,clk,data,Rin,Lin,sel,Qout);inputclr,clk,Rin,Lin;input[1:0]sel;input[3:0]data;output[3:0]Qout;reg[3:0]Qout;always@(posedgeclkornegedgeclr)if(!clr)Qout<=4’b0000;elsecase(sel)2’b00:Qout<=Qout;2’b01:beginQout<=Qout>>1;Qout[3]<=Rin;end2’b10:beginQout<=Qout<<1;Qout[0]<=Lin;end2’b11:Qout<=data;endcaseendmodule仿真验证?同样功能,8位?功能:一个有“转换完毕”信号的7位串—并转换器。这是将7位并行输入数据转换为串行输出数据的电路。请同学自行分析。“转换完毕”信号启动时为06.4移位寄存器型计数器如果将移位寄存器的输出以某种方式反馈到串行输入端,则可得到连接简单、编码别具特色、用途广泛的移位寄存器型计数器。6.4.1环形计数器反馈电路为:Dn-1=Q0

构成自循环的移位寄存器。现以n=4为例。

不能自启动,有无效循环和陷阱。

01000001001001011010

011010010011

11101011011100001111分析,画出状态图为了便于修改设计,先作出基本反馈下的状态矩阵:若将D3端接0时,有如下状态表。状态表改进后经激励矩阵得到的激励方程:检查无效循环:根据新的反馈方式:画电路图。Q3Q2Q1Q0下面我们画出该电路输出端的时序波形,分析其特点。例1:采用74LS194实现循环一个“1”的环形计数器。解:根据功能表,设置成右移工作方式,将反馈逻辑引到RIN输入端。当启动清零后,循环一个“1”。QAQBQCQD00001000010000100001例2:分析图示电路的逻辑功能。解:从启动清零开始,根据反馈条件和74LS194功能表,画出状态转移图,进行分析。QAQBQCQDS1S0000001111011110111101101010111置数置数右移右移右移/CLR清零CPCPCPCPCP功能:四位右循环一个“0”;循环一个“0”环形计数器;模4环形计数器。问题:若某时刻进入1111?例3:四位右循环一个“0”的VerilogHDL描述。moduleR_shift_0(clr,clk,Q);inputclr,clk;output[3:0]Q;reg[3:0]Q;always@(posedgeclkornegedgeclr)if(!clr)Q<=4’b0111;elsecase(Q)4’b0111:Q<=4’b1011;4’b1011:Q<=4’b1101;4’b1101:Q<=4’b1110;4’b1110:Q<=4’b0111;default:Q<=4’b0111;endcaseendmodule思考:下列命题的VerilogHDL描述1)8位右循环一个“0”2)8位右循环一个“1”3)8位左循环一个“0”4)8位左循环一个“1”6.4.2扭环形计数器(Johnson计数器)反馈电路为:Dn-1=Q0

构成自循环的移位寄存器。现以n=4为例。

不能自启动,有无效循环。0000100011001110000100110111111101001010110101101001001001011011依题意有如下状态表。无效循环:可以有多处改进而打破无效循环。可以将0010和0110的次态从1001和1011改变为0001和0011。经激励矩阵得到激励方程:还可以将1101和1001的次态从0110和0100改变为1110和1100。经激励矩阵得到激励方程:画出电路图:四位扭环形右移计数器波形图特点:1.相邻两组状态只有一位变化,符合可靠性编码原则。2.常用于步进电机控制,也称步进码计数器。3.便于构成无竞争现象问题的顺序脉冲发生器。4.只使用n个触发器的2n种状态,有2n-2n个无效状态。例1:分析采用74LS194构成扭环形计数器。解:74LS194置成右移工作方式,QD反相接入RIN,当启动清零后,即进入有效循环。启动清零00001000110011100001001101111111问题:电路进入0100,会如何?解决:应满足观察:1.上述电路也称模8步进码计数器。2.若QC反相接入RIN,可获得模6步进码计数器。3.若QB反相接入RIN,可获得模4步进码计数器。启动清零例2:4位左移扭环形计数器的VerilogHDL描述关键是获得正确的状态图!00000001001101111111111011001000其余状态moduleL_shift_0(clr,clk,Q);inputclr,clk;output[3:0]Q;reg[3:0]Q;always@(posedgeclkornegedgeclr)if(!clr)Q<=4’b0000;elsecase(Q)4’b0000:Q<=4’b0001;4’b0001:Q<=4’b0011;……4’b1000:Q<=4’b0000;default:Q<=4’b0000;endcaseendmodule4位左移扭环形计数器的VerilogH

温馨提示

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

评论

0/150

提交评论