精华内容
下载资源
问答
  • 1 Verilog描述 module shift_p2s( input clk, input [7:0] din, input load, output reg q ); reg [7:0] tmp; always@(posedge clk)begin if(load == 1...

    1 Verilog描述

    module shift_p2s(
        input         clk,
        input [7:0]    din,
        input         load,
        output reg     q
    );
        reg [7:0] tmp;
        
        always@(posedge clk)begin
            if(load == 1'b1)
                tmp <= din;
            else begin
                q <= tmp[7];
                tmp <= {tmp[6:0],1'b0};
            end
        end

    endmodule

    2 RTL视图

    3 功能仿真

    展开全文
  • 移位寄存器内的数据可以在移位脉冲(时钟信号)的作用下依次左移或右移。移位寄存器不仅可以存储数据,还可以用来实现数据的串并转换、分频,构成序列码发生器、序列码检测器,进行数值运算以及数据处理等,它也是...

    1 概念

    移位寄存器内的数据可以在移位脉冲(时钟信号)的作用下依次左移或右移。移位寄存器不仅可以存储数据,还可以用来实现数据的串并转换、分频,构成序列码发生器、序列码检测器,进行数值运算以及数据处理等,它也是数字系统中应用非常广泛的时序逻辑部件之一。

    有四种不同类型的移位寄存器可用数据输入和输出设备的方式不同:

    串行输入,串行输出

    串行输入,并行输出

    并行输入,串行输出

    并行输入,并行输出
    在这里插入图片描述
    右移位寄存器的特点是右边寄存器的次态等于左边触发器的现态。串行输出数据从触发器FD的QD端输出,并行数据从个触发器的QA~QD端输出,两种输出方式都属于同向输出。各触发器都采用同一时钟信号,所以它们工作在同步状态。如果将FD的输出端QD接到FA的输入端DI,则可以构成循环移位的右移位寄存器。

    右移寄存器

    并行输入串行输出

    module right_shift_pin_sout(
        clk    ,
        rst_n  ,
        //其他信号,举例dout
        sout,
        pin    
        );
    
        //参数定义
        parameter      DATA_W =         4;
        parameter    CNT_W=2;
    
        //输入信号定义
        input               clk    ;
        input               rst_n  ;
        input [DATA_W-1: 0] pin    ;
    
        //输出信号定义
        output  sout   ;
    
    
    
        //中间信号定义
        reg[CNT_W-1: 0]     cnt    ;
        wire [DATA_W-1: 0]   D    ;
    
        reg [DATA_W-1: 0]   Q    ;
        //计数
        always@(posedge clk or negedge rst_n)begin
            if(rst_n==1'b0)begin
                cnt<=0;
            end
            else begin
                if(cnt==DATA_W-1)begin
                    cnt<=0;
                end
                else begin
                    cnt<=cnt+1;
                end
             end
        end
        //D
        assign D=(cnt==0)?pin:4'b0;
        assign sout=Q[3];
        //sout
        always  @(posedge clk or negedge rst_n)begin
            if(rst_n==1'b0)begin
                sout<=0;
            end
            else begin
                sout<=Q[3];
            end
        end
    //Q
        always  @(posedge clk or negedge rst_n)begin
            if(rst_n==1'b0)begin
                Q<=0;
            end
            else if(cnt==0)begin
                Q<=D;
            end
            else begin
                Q[3:1]<=Q[2:0]; 
            end
        end
    
    
    
        endmodule
    
    
    

    tb

     `timescale 1 ns/1 ns
    
    module testbench_name();
    parameter      DATA_W =         4;
    parameter    CNT_W=2;
    //时钟和复位
    reg clk  ;
    reg rst_n;
     
    wire sout;  
    reg[DATA_W-1: 0]  pin ; 
            //时钟周期,单位为ns,可在此修改时钟周期。
            parameter CYCLE    = 20;
    
            //复位时间,此时表示复位3个时钟周期的时间。
            parameter RST_TIME = 3 ;
    
            //待测试的模块例化
            right_shift_pin_sout 
            #(.DATA_W(DATA_W),.CNT_W(CNT_W))  uut(
           .clk    (   clk    ), 
           .rst_n  (   rst_n  ), 
           .sout   (  sout   ),
           .pin    (   pin    ) 
                )  ;  
            
    
                //生成本地时钟50M
                initial begin
                    clk = 0;
                    forever
                    #(CYCLE/2)
                    clk=~clk;
                end
    
                //产生复位信号
                initial begin
                    rst_n = 1;
                    #2;
                    rst_n = 0;
                    #(CYCLE*RST_TIME);
                    rst_n = 1;
                end
    
                //输入信号pin赋值方式
                initial begin
                    #1;
                    //赋初值
                    pin =4'b1111;
                    #(9*CYCLE);
                    pin=4'b1000;
                    #(9*CYCLE);
                    pin=4'b0010;
                    #(9*CYCLE);
                    pin=4'b0001;
                    //开始赋值
    
                end
    
    endmodule
    
    
    
    展开全文
  • 题: 试用D触发器和必要的门电路(或最小数量的中规模集成电路芯片)设计两位串行输入并行输出双向移位寄存器. 寄存器有X、K两个输入端, K控制移位方向, X输入数据. K=0时, 寄存器数据从高位移向低位, X往寄存器高位...

     题:  试用D触发器和必要的门电路(或最小数量的中规模集成电路芯片)设计两位串行输入、并行输出双向移位寄存器. 寄存器有X、K两个输入端, K控制移位方向, X输入数据. K=0时, 寄存器数据从高位移向低位, X往寄存器高位送数据; K=1时, 寄存器数据从低位移向高位, X往寄存器低位送数据.

    解析:

            根据题目的描述, 得到对应的状态表.

    状态表
    K X Q0* Q1* 功能
    0 0 Q1 0 左移
    0 1 Q1 1 左移
    1 0 0 Q0 右移
    1 1 1 Q0 右移

            根据状态表, 得到状态激励表.

    状态激励表
    K X D0 D1 功能
    0 0 Q1 0 左移
    0 1 Q1 1 左移
    1 0 0 Q0 右移
    1 1 1 Q0 右移

             这里为了提升电路设计的效率, 用一片74153的两个输出分别实现D0和D1的逻辑表达式.

            根据上面的分析, 绘制电路的原理图.

    展开全文
  • 5.能够并行输入、右移串行输出(并串转换)。 相关知识 寄存器(Register)的功能是存储二进制代码,它是由具有存储功能的触发器组合起来构成的。一个触发器可以存储1位二进制代码,故存放n位二进制代码的寄存器,...

    在Logisim中,构建由4个D触发器构成的4位并行存取的移位寄存器,要求:
    1.具有异步复位功能;
    2.能够并行数据同步加载、并行输出(基本寄存);
    3.能够右移串行输入、右移串行输出(移位寄存);
    4.能够右移串行输入、并行输出(串并转换);
    5.能够并行输入、右移串行输出(并串转换)。

    相关知识
    寄存器(Register)的功能是存储二进制代码,它是由具有存储功能的触发器组合起来构成的。一个触发器可以存储1位二进制代码,故存放n位二进制代码的寄存器,需用n个触发器来构成。
    并行存取的移位寄存器的结构相对要复杂一些,数据既可以并行输入、并行输出,也可以串行输入、串行输出,还可以并行输入、串行输出,或串行输入、并行输出。如下图所示。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 移位寄存器专题(verilog HDL设计)

    万次阅读 多人点赞 2018-05-19 21:09:11
    3、串行输入并行输出寄存器 4、并行输入串行输出移位寄存器 移位寄存器简介 移位寄存器内的数据可以在移位脉冲(时钟信号)的作用下依次左移或右移。移位寄存器不仅可以存储数据,还可以用来实现数据的串并转换、...
  • 移位寄存器

    2020-12-09 01:57:52
    移位寄存器是暂时存放数据的部件,同时它还具有移位功能。 一、特点和分类 从逻辑结构上看,移位寄存器...移位寄存器的数据输入方式有串行输入和并行输入之分。串行输入就是在时钟脉冲作用下,把要输入的数据从一个
  • 在数字电路中,移位寄存器是一种在若干相同时间脉冲下工作的触发器为基础的器件,数据以并行或串行的方式输入到该器件中,然后每个时间脉冲依次向左或右移动一个比特,在输出端进行输出。这种移位寄存器是一维的,...
  • 移位寄存器(shift_reg) 在数字电路中,移位寄存器是一种在...根据移位数据的输入-输出方式,又可将它分为串行输入-串行输出、串行输入-并行输出并行输入-串行输出和并行输入并行输出四种电路结构。 移位寄...
  • (5) 保持:寄存器予置任意4位二进制数码abcd,令=1,S1=S0=0,加CP脉冲,...1.实现数据的串、并行转换(1)串行输入并行输出按图8-3-3-3接线,进行右移串入、并出实验,串入数码自定;改接线路用左移方式实现并...
  • 串行工作模式之同步移位寄存器的输入输出方式 主要用于扩展并行输入或输出口。数据有RXD(P3.0)引脚输入或输出,同步移位脉冲由TXD(P3.1)引脚输出。发送和接受均为8位数据。低位在前,高位在后。 //串行口...
  • 根据移位数据的输入—输出方式,又可将它分为串行输入—串行输出、串行输入一并行输出并行输入一串行输出并行输入一并行输出四种电路结构。今天100唯尔教育小编就结合100唯尔教育《数字电子技术》VR仿...
  • 系部计算机与信息工程系班级学号姓名课程名称PLD原理与...实验条件:装有QUARTUSⅡ软件的电脑实验内容与步骤:一、实验内容:建立一个移位模式可控的8位移位寄存器,是用CASE语句设计的并行输入输出移位寄存器。利用...
  • 系部计算机与信息工程系班级学号姓名课程名称PLD原理与...实验条件:装有QUARTUSⅡ软件的电脑实验内容与步骤:一、实验内容:建立一个移位模式可控的8位移位寄存器,是用CASE语句设计的并行输入输出移位寄存器。利用...
  • 移位寄存器中的数据 可以在移位脉冲作用下依次逐位右移或左移,数据既可以并行输入并行输出,也可以串行输入、串行输 出,还可以并行输人、串行输出,串行输人、并行输出,输人输出方式十分灵活,用途也很广。...
  • QA--QH: 八位并行输出端,可以直接控制数码管的8个段。 QH': 级联输出端。我将它接下一个595的SI端。 SI: 串行数据输入端。 74595的控制端说明: /SCLR(10脚): 低点平时将移位寄存器的数据
  • 移位寄存器示例

    千次阅读 2019-02-25 20:26:01
    这里的移位寄存器不是简单的向左移位将串行输入转换为并行输出,而且要保留最后一个周期的输入数作为下一次输出的最高位,代码如下所示: module shift_reg( clk,rst,din,dout//,ordy ); input clk; input rst...
  •  在数字电路中,移位寄存器(英语:shift register)是一种在若干相同时间脉冲下工作的触发器为基础的器件,数据以并行或串行的方式输入到该器件中,然后每个时间脉冲依次向左或右移动一个比特,在输出端进行输出。...
  • 串行/并行转换的具体过程如下:转换前,RC端加低电平,使1、2两片寄存器的内容清0,此时S1S0=11,寄存器执行并行输入工作方式。当第一个CP脉冲到来后,寄存器输出状态Q0~Q7为01111111,与此同时S1S0变为01,转换...
  • 同步并行置数:D0~D3为4个输入代码,当CP上升沿到达时,D0~D3被同时并行置入。 3.在置数端为1,CP端为0时,保持不变。 2.移位寄存器:具有存放数码和使数码逐位右移或左移的电路称为移位寄存器移位寄存器按照不同...
  • TDR寄存器提供了内部总线和输出移位寄存器之间的并行接口。RDR寄存器提供了输入移位寄存器和内部总线之间的并行接口。(移位寄存器:它里面的数据可以在移位脉冲作用下一次逐位右移或左移)状态寄存器(USAR...
  • 多周期移位寄存器

    2018-05-20 20:23:02
    代码:串入并出移位寄存器:module shift_reg_SIPO( RST , // 异步复位,高有效 CLK , // 时钟,上升沿有效 EN , // 输入数据串行移位使能 IN , // 输入串行数据 OUT ); // 并行输出数据parameter ...
  • 按接收数据方式分为串行输入和并行输入;按输出方向分为串行输出和并行输出。 如果将若干个触发器级联成如下图所示电路,则构成基本的移位寄存器。图中是一个4位移位寄存器,串行二进制数据从输入端Dsi输入,左边...
  • ▪ 基本信息 74HC595 具有 8 位移位寄存器和一个 存储器,三...移位寄存器有一个串行移位输入(DS),和一个串行输出(Q7’),和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE时
  • [EDA]8位双向移位寄存器的设计

    千次阅读 2019-06-30 00:05:59
    设计一个8位双向移位寄存器,实现并行输入数据、数据左移、右移、清空数据的功能。 设计要求 (1)可以并行置数(用4位拨码开关置数两次得到8位数据); (2)并行输出(8个led显示)功能; (3)具有双向移位输出...
  • 【 FPGA 】设计一个通用移位寄存器

    千次阅读 2019-01-03 15:38:28
    它可以实现并转串(首先加载并行输入,然后移位)或串转并(首先移位,然后并行输出)。实现这种操作需要两位控制信号ctrl,如下: `timescale 1ns / 1ps //////////////////////////////////////////////////////...
  • 寄存器分类

    2020-11-13 04:36:40
    并行寄存器是并行输入并行输出寄存器。移位寄存器除具寄存器的功能外,所存储的数码在时钟脉冲的作用下还可以移位。根据数码的移位方向分为左移寄存器和右移寄存器。左移寄存器是指在时钟脉冲的作用下,低位寄存器的...
  • 对于串入并出移位寄存器以下是我个人的理解和实际开发工程中得出的经验。一个8位串入数据输入, 8位并行输出。可以看出先移的是高位,就是第一个位进去的到最后会在最高位。

空空如也

空空如也

1 2 3 4 5 ... 10
收藏数 191
精华内容 76
关键字:

并行输入并行输出移位寄存器