首页 > 新闻资讯 > 新闻详情

双向移位寄存器原理_电路图_真值表

IC先生 IC先生 3140 2023-01-09 15:08:11

触发器(FF) 是一种主要用于存储单个二进制数据位0或1的设备。但是要存储多位数据,需要多个FF。所以连接多个触发器就可以存储n位的数据。寄存器是一组串联的FF,用于存储多个数据位。存储在这些类型的寄存器中的数据可以通过移位寄存器传输。

此外,移位寄存器 (SR) 是一种数字电路,它包括一组FF,并且第一个触发器的输出引脚可任意连接到下一个FF的数据输入引脚,因为所有FF都简单地工作在相似的时钟上,然后可以将阵列位存储在寄存器中,并将移动一个位置。目前有不同类型的移位寄存器,例如SISO、SIPO、PIPO、PIPO和双向移位寄存器。本文介绍其中的一种移位寄存器——双向移位寄存器。

基本概念

用于根据所选模式在右侧或左侧移位数据的寄存器称为双向移位寄存器。如果所选模式为高 (1),则数据将移至右侧;如果所选模式为低 (0),则数据将移至左侧。

其中,如果将一个二进制数(基数为2)向左移动,就是将该数乘以2,如果将同一个二进制数向右移动1位,则等于该数除以2。当然,要执行这些操作,需要一个寄存器来向任意方向移动数据。

双向移位寄存器

应用电路

双向移位寄存器用于根据输入在右侧或左侧移位数据。该寄存器可以通过D触发器逻辑门来实现,逻辑门允许数据位根据输入信号从一个级传输到下一个级到右侧或左侧的任何一侧。在这里,数据移位的方向由模式控制选择。

应用电路

如果利用移位寄存器对数据进行乘除,则可以将二进制输入数据右移或左移,这就是所谓的双向移位寄存器。

工作原理

双向移位寄存器主要包括串行右移(DR)数据输入和串行左移(DL)数据输入以及选择模式输入(M)两个串行i/ps。每当数据需要向右移动时,就会将输入提供给DR。类似地,如果数据需要在左侧移动,则输入从DL给出。

当模式控制信号为高电平时,它允许数据向右移动,而模式控制信号为低信号时,它会将数据向左移动。如果i/p数据左移1个位置,则乘以 2,如果i/p数据右移1个位置,则除以2。

真值表

双向移位寄存器在M=1和M=0两种情况下工作,这将在下面的双向移位寄存器真值表中介绍。

模式情况 操作过程
如果模式选择i/p(例如M=1),则接下来的操作是向右移动。
如果模式控制=高 (1),则启用第1、第3、第5和第7个与逻辑门,而未启用其余的第2、第4、第6和第8个与门。

串行右移数据输入 (DR) 上的二进制数据可以通过CLK脉冲应用程序上的触发器3到触发器0的一位移动到右侧位。因此对于M=1的条件,可以实现串行右移操作。

如果模式选择i/p(例如M=0),则接下来的操作是向右移动。
如果模式控制=低 (0),则启用第2、4、6和8个与门,禁用第1、3、5和7个与门。

串行左移数据i/p (DL) 上的数据在CLK脉冲应用程序中从触发器0到触发器3向左移动一位。所以对于M=0的条件,可以得到串行左移操作。

Verilog代码

n位双向移位寄存器的verilog代码如下所示:

module shift_reg #(parameter MSB = 8) ( input d, //声明移位寄存器中第一个触发器的数据输入

nput clk, //声明时钟的i/p到移位寄存器中的所有触发器

input en, //声明 i/p以启用打开或关闭移位寄存器

input dir , //声明i/p向右或向左移动

input rstn , //声明输入以将寄存器重置为默认值

output reg [MSB-1:0] out ; //声明o/p,读出这个寄存器中所有触发器的当前值

// 这个always块将“总是”在时钟的上升沿触发

//一旦进入block,首先会检查reset是否为0,如果是,则reset register

// 如果否,则检查移位寄存器是否启用

// 如果没有=>保持之前的输出。如果是,则根据请求的方向移动

always @ (posedge clk)

if (!rstn)

out <= 0;

else begin

if (en)

case (dir)

0 : out <= {out[MSB-2:0], d};

1 : out <= {d, out[MSB-1:1]};

endcase

else

out <= out;

end

endmodule;

单向和双向移位寄存器的区别

单向移位寄存器和双向移位寄存器之间的还是有几点不同之处,主要表现在:

单向移位寄存器 双向移位寄存器
该移位寄存器仅用于在一个方向上移动位。 该移位寄存器仅用于双向移位。
并行加载是不可能的。 并行加载是可能的。

主要应用

双向移位寄存器的应用包括以下内容:

  • 它是用于根据首选模式向右或向左移动数据的存储设备。
  • 广泛用于多种应用,如数字低压差稳压器、数字DC。
  • 用于直流降压转换器、数字延迟锁定环路和解压缩器。
  • 用于传输数据和临时存储数据。
  • 用于计算器、计算机等。

总结

以上就是双向移位寄存器相关内容介绍,目前市面上最常用的双向移位寄存器类型有很多,其中一些常见的型号包括:74498IC、74194IC和74671IC。此类寄存器中的数据移动是双向的,例如从右到左和从左到右。

推荐商品
CL31A226KOHNNNE
库存:0
¥ 0.1342
RC0402FR-070RL
库存:10000
¥ 0.00173
C2012X7R1H684KT000N
库存:0
¥ 0.04294
TLE4945L
库存:10000
¥ 3.164
L6388ED013TR
库存:2500
¥ 3.9324
版权声明: 部分文章信息来源于网络以及网友投稿,本网站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性,如本站文章和转稿涉及版权等问题,请作者及时联系本站,我们会尽快处理。
标题:

双向移位寄存器原理_电路图_真值表


网址: https://www.mrchip.cn/newsDetail/1686
文章标签: 寄存器
0 购物车
0 消息