《数字逻辑课件第6章寄存器与移位.ppt》由会员分享,可在线阅读,更多相关《数字逻辑课件第6章寄存器与移位.ppt(45页珍藏版)》请在三一办公上搜索。
1、6.2 寄存器,在数字系统中经常使用寄存器存放二进制代码,如地址寄存器、指令寄存器、数据寄存器、控制寄存器、状态寄存器、,寄存器是由一组触发器构成的,信息是在统一的时钟脉冲作用下存入寄存器。,通用四位并行寄存器74LS175,互补输出端,数据输入端,在CP上升沿写入寄存器。,CP,/CLR,异步清零,其逻辑图见教材P212。,2)有控制功能的寄存器,/RESET有效时,通过异步清零端将寄存器置为:0000,在CP上升沿,数据输入端(ABCD)的信息写入寄存器,只有在控制信号M=1时,才送到输出端(QAQBQCQD),八位三态输出并行寄存器74LS374,在CP上升沿,8位数据写入寄存器。,/O
2、E=0,寄存器数据输出;/OE=1,高阻状态。这种寄存器适于挂接到公共总线上。,其逻辑图见教材P213。,输出选通,使能输入8位并行寄存器74LS377,/G=0时,在CP上升沿,8位数据才写入寄存器。,1位等效逻辑图,/G=1时,保持,二选一,寄存器的Verilog HDL描述,module myreg_8(data,clk,reset,oe,q);input clk,reset,oe;input 7:0 data;output 7:0 q;reg 7:0 temp;/目的?assign q=(oe=1)?temp:8h00;/功能?always(posedge clk or negedge
3、 reset)begin if(!reset)temp=8h00;/同步清零?else temp=data;endendmodule,如何添加输入使能?,移位寄存器是一种既能存储数据,又能对所存数据在时钟节拍作用下按位向高位(或低位)顺移的寄存器。,按逻辑功能划分:串行输入串行输出;串行输入并行输出;并行输入串行输出;并行输入并行输出。,按移位方式划分:单向移位、双向移位、循环移位、扭环移位,利用移位操作,可实现简单的乘除法。例如:将原寄存器中的数据向高位移一位,相当于乘以 2;向低位移一位,相当于除以 2。,在数字通信系统中,移位寄存器广泛用于并行数据和串行数据之间的转换。,6.3 移位寄存
4、器,1)串入串出结构移位寄存器,若视该电路为右移,则左移?,串入串出的Verilog HDL模型,module shifter_R(SERIN,CP,SEROUT);input SERIN,CP;output SEROUT;reg 3:0 Q;always(posedge CP)begin Q3=SERIN;Q2=Q3;Q1=Q2;Q0=Q1;end assign SEROUT=Q0;/?endmodule,可否?Q3=SERIN;Q2=Q3;Q1=Q2;Q0=Q1;,体会阻塞与非阻塞区别,结论:时序描述,用非阻塞。,2)串入并出结构移位寄存器,串入并出的Verilog HDL模型,modul
5、e shifter_R(SERIN,CP,RD,OUT);input SERIN,CP,RD;output 3:0 OUT;reg 3:0 Q;always(posedge CP)begin Q3=SERIN;Q2=Q3;Q1=Q2;Q0=Q1;end assign OUT=(RD=1)?Q:0;/?endmodule,3)并入串出结构移位寄存器,module shifter_R(SIN,CP,LD,Data,SEROUT);input SIN,CP,LD;input 3:0 Data;output SEROUT;reg 3:0 Q;always(posedge CP)if(LD=1)Q=Da
6、ta;/并入 else begin Q3=SIN;Q2=Q3;Q1=Q2;Q0=Q1;end assign SEROUT=Q0;/串出endmodule,并入串出的Verilog HDL模型,如何设计满足下列功能要求的移位寄存器?,1)低有效异步清零,2)保持,3)右移一位,4)左移一位,5)并行置数,R_OUT,L_OUT,四选一,MSI移位寄存器74LS194的应用,74LS194是一个四位并入并出、双向移位的寄存器,其逻辑图见教材P216,逻辑符号如下:,异步清零/CLR,工作方式控制端,右移串行输入端,左移串行输入端,并行输入端,左移串行输出端,右移串行输出端,并行输出端,74LS19
7、4的Verilog HDL模型,module my_194(clr,clk,data,Rin,Lin,sel,Qout);input clr,clk,Rin,Lin;input 1:0 sel;input 3:0 data;output 3:0 Qout;reg 3:0 Qout;always(posedge clk or negedge clr)if(!clr)Qout 1;Qout3=Rin;end 2b10:begin Qout=Qout1;Qout0=Lin;end 2b11:Qout=data;endcaseendmodule,仿真验证?,同样功能,8位?,例:分析串行输入数据转换为
8、并行输出数据的电路。,分析:两片74LS194构成串行右移并出电路,S0=1,S1受控于QD,S1=1时,置数;S1=0时,右移。,从启动(/CLR有效)开始逐步分析,功能:一个有“转换完毕”信号的7位串并转换器。,这是将7位并行输入数据转换为串行输出数据的电路。请同学自行分析。,6.4 移位寄存器型计数器,如果将移位寄存器的输出以某种方式反馈到串行输入端,则可得到连接简单、编码别具特色、用途广泛的移位寄存器型计数器。,通过状态变化对CP计数,一般采用循环移位方式。,6.4.1 环形计数器,反馈电路为:Dn-1=Q0 构成自循环的移位寄存器。现以n=4为例。,不能自启动,有无效循环和陷阱。,分
9、析,画出状态图,为了便于修改设计,先作出基本反馈下的状态矩阵:,状态表改进后经激励矩阵得到的激励方程:,检查无效循环:,根据新的反馈方式:画电路图。,下面我们画出该电路输出端的时序波形,分析其特点。,四位环形计数器的输出波形如下:,每一时刻只有一个触发器状态为1。(四位循环一个1)每个触发器的输出均为与CP等宽的脉冲。可直接用作 节拍发生器。只使用了n个触发器的n种状态,有2n n个无效状态。,例1:采用74LS194实现循环一个“1”的环形计数器。,解:根据功能表,设置成右移工作方式,将反馈逻辑引到 RIN输入端。当启动清零后,循环一个“1”。,例2:分析图示电路的逻辑功能。,解:从启动清零
10、开始,根据反馈条 件和74LS194功能表,画出状 态转移图,进行分析。,QAQBQCQD S1 S0,0 0 0 0,0 1 1 1,1 0 1 1,1 1 0 1,1 1 1 0,1 1,0 1,0 1,0 1,1 1,置数,置数,右移,右移,右移,功能:四位右循环一个“0”;循环一个“0”环形计数器;模4环形计数器。,问题:若某时刻进入1111?,例3:四位右循环一个“0”的Verilog HDL描述。,module R_shift_0(clr,clk,Q);input clr,clk;output 3:0 Q;reg 3:0 Q;always(posedge clk or negedg
11、e clr)if(!clr)Q=4b0111;else case(Q)4b0111:Q=4b1011;4b1011:Q=4b1101;4b1101:Q=4b1110;4b1110:Q=4b0111;default:Q=4b0111;endcaseendmodule,思考:下列命题的Verilog HDL描述,1)8位右循环一个“0”2)8位右循环一个“1”3)8位左循环一个“0”4)8位左循环一个“1”,6.4.2 扭环形计数器(Johnson计数器),不能自启动,有无效循环。,依题意有如下状态表。,可以有多处改进而打破无效循环。,可以将0010和0110的次态从1001和1011改变为000
12、1和0011。经激励矩阵得到激励方程:,还可以将1101和1001的次态从0110和0100改变为1110和1100。经激励矩阵得到激励方程:,四位扭环形右移计数器波形图,特点:1.相邻两组状态只有一位变化,符合可靠性编码原则。2.常用于步进电机控制,也称步进码计数器。3.便于构成无竞争现象问题的顺序脉冲发生器。4.只使用n个触发器的2n种状态,有2n-2n个无效状态。,例1:分析采用74LS194构成扭环形计数器。,解:74LS194置成右移工作方式,QD反相接入RIN,当启动清零 后,即进入有效循环。,问题:电路进入0100,会如何?,解决:应满足,观察:1.上述电路也称模8步进码计数器。
13、2.若QC反相接入RIN,可获得模6步进码计数器。3.若QB反相接入RIN,可获得模4步进码计数器。,关键是获得正确的状态图!,0000,module L_shift_0(clr,clk,Q);input clr,clk;output 3:0 Q;reg 3:0 Q;always(posedge clk or negedge clr)if(!clr)Q=4b0000;else case(Q)4b0000:Q=4b0001;4b0001:Q=4b0011;4b1000:Q=4b0000;default:Q=4b0000;endcaseendmodule,4位左移扭环形计数器的Verilog HD
14、L描述,同学补充完整,例3:分析图示电路的逻辑功能,功能:模5步进码计数器?模5扭环形计数器,思考:若将与非门输入端改接到QCQD,电路的逻辑功能是什么?请同学自行分析。,010、101?,6.4.3 最大长度移位型计数器,n个触发器有2n个状态,环形计数器用了n个状态,扭环形计数器用了2n个状态。若反馈逻辑采用,可构成最大长度移位型计数器。以n=3为例。,不能自启动,有无效循环。,为打破无效循环,将000的次态修改为100。,请同学自画电路图。,特点:1.使用了n个触发器的2n-1种状态,只有1种无效状态。2.不符合循环码编码规律,构成节拍发生器时,译码电路 较复杂,且可能有竞争险象。,例:分析图示电路的逻辑功能。,这是一个四位最大长度右移计数器。共有24-1=15种计数状态。,=1,启动清零,作业:P228 4.15 4.20补充:1.用Verilog HDL描述一个4位右移扭环形计数器。2.用Verilog HDL描述一个8位左循环一个“1”。,