verilog变长移位寄存器「建议收藏」

verilog变长移位寄存器「建议收藏」verilog变长移位寄存器普通的移位寄存器可以按如下设置,下面是一个一次移动一位的移位寄存器。moduleshift_stationary(clk,dat,ctrl,shift_out);inputclk;input[15:0]dat;input[1:0]ctrl;outputreg[15:0]shift_out;always@(posedgeclk)begincase(ctrl)2’b00:begin

大家好,又见面了,我是你们的朋友全栈君。

verilog变长移位寄存器

普通的移位寄存器可以按如下设置,下面是一个一次移动一位的移位寄存器。

module shift_stationary(

clk,
dat,
ctrl,
shift_out
    );
   input clk;
   input [15:0]dat;
   input [1:0]ctrl;
   output reg [15:0] shift_out;

always@(posedge clk)
begin
case(ctrl)
2'b00:
    begin
        shift_out={ 
   dat[14:0],1'b0};
    end
2'b01:
    begin
        shift_out={ 
   dat[14:0],dat[15]};
    end
2'b10:
    begin
        shift_out={ 
   dat[0],dat[15:1]};
    end
2'b11:
    begin
        shift_out={ 
   1'b0,dat[15:1]};
    end
endcase
end
    
endmodule

如何根据输入来决定移位寄存器要移动几位?采用变长的移位寄存器:

module shift
(
clk,
dat,
shift_n,
lshift_out
    );
   input clk;
   input [15:0]dat;
   input [4:0]shift_n;
   output reg [15:0] lshift_out;

always@(posedge clk)
begin
        lshift_out=dat<<shift_n;
end
    
endmodule

可以根据输入值确定移动几位。以上的代码可以综合成功。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/160454.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • FRP内网穿透_花生壳内网穿透6元

    FRP内网穿透_花生壳内网穿透6元在Web应用上线前都会在内网进行测试,而有些功能是只有在公网上才能做测试的,比如为APP提供的接口等等。所以经常需要在正式上线之前将内网的服务器映射到公网上去。也就是赋予内网上服务器一个域名,开放几个端口。一般来说都使用内网穿透工具完成这个操作,比如在公网上购置一台服务器,不需要配置很高,只要流量够用就行。然后在公网服务器上配置穿透工具的服务端,比如ngrockc或者frp,然后在能接通公网的内网…

    2022年9月13日
    0
  • IT公司速查手册 近日被上海公安勒令关闭

    IT公司速查手册 近日被上海公安勒令关闭IT公司速查手册,为很多程序员提供了一个不错的了解IT公司的窗口,获得了众多普通IT员工的好评,可近日却被上海公安勒令关闭,理由是:散布不良信息,对用户造成的不便.很是不解,也很无奈.

    2022年7月16日
    14
  • java项目开发实例自学手册 下载[通俗易懂]

    java项目开发实例自学手册 下载[通俗易懂] http://download.chinaitlab.com/program/files/20200.html

    2022年7月19日
    12
  • log4j使用方法_pipe使用教程

    log4j使用方法_pipe使用教程地址:http://www.codeceo.com/log4j-usage.html日志是应用软件中不可缺少的部分,Apache的开源项目log4j是一个功能强大的日志组件,提供方便的日志记录。在apache网站:jakarta.apache.org/log4j可以免费下载到Log4j最新版本的软件包。一、入门实例1.新建一个JAva工程,导入包log4j-1.2.17.jar,整个…

    2022年9月5日
    2
  • 深度神经网络总结

    深度神经网络总结深度神经网络(DeepNeuralNetworks,DNN)可以理解为有很多隐藏层的神经网络,又被称为深度前馈网络(DFN),多层感知机(Multi-Layerperceptron,MLP)。1前向传播算法1.1从感知机到神经网络感知机的模型是一个有若干输入和一个输出的模型,如下图:输出和输入之间学习到一个线性关系,得到中间输出结果:接着是一个神经元激活函数,…

    2022年6月15日
    39
  • java中main方法的作用

    java中main方法的作用main方法是我们学习Java语言学习的第一个方法,也是每个java使用者最熟悉的方法,每个Java应用程序都必须有且仅有一个main方法。在eclipse里可以使用输入main,在按住Alt+/的方式快速创建main方法。可以说main方法是最简单的方法,因为main方法几乎是固定不变得,除了String[]args可以写成Stringargs[],以及args的名称可以改变外,其它所有均不…

    2022年5月25日
    61

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号