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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • springcloud feign原理_ribbon和feign实现负载均衡的原理

    springcloud feign原理_ribbon和feign实现负载均衡的原理Feign是什么?简单来说,feign是用在微服务中,各个微服务间的调用。它是通过声明式的方式来定义接口,而不用实现接口。接口的实现由它通过springbean的动态注册来实现的。fei…

    2022年10月4日
  • 浏览器代理服务器没有响应解决方案怎么办_电脑代理服务器无响应

    浏览器代理服务器没有响应解决方案怎么办_电脑代理服务器无响应前几天,为了满足爬虫的需要,我在自己电脑上设置了一个代理IP。在利用代理IP运行爬虫程序一天之后,终于爬够了所需的数据量。但是非常奇怪的是,爬完虫的第二天,我用浏览器就打不开网页了,浏览器一直提示我代理服务器没有响应,或者说是ERR_PROXY_CONNECTION_FAILED这一错误。我刚开始的时候以为是浏览器的问题,但是在更换了许多浏览器之后依然没有用。…

    2022年11月3日
  • python ffmpeg模块_ffmpeg python

    python ffmpeg模块_ffmpeg pythonAfghanistanAlandIslandsAlbaniaAlgeriaAmericanSamoaAndorraAngolaAnguillaAntarcticaAntiguaandBarbudaArgentinaArmeniaArubaAustraliaAustriaAzerbaijanBahamasBahrainBangladeshBarbadosBelarusBelgiumBeliz…

    2022年10月27日
  • Oracle非重要文件恢复,redo、暂时文件、索引文件、password文件「建议收藏」

    Oracle非重要文件恢复,redo、暂时文件、索引文件、password文件

    2022年2月4日
  • linux mail发送邮件_shell传输文件

    linux mail发送邮件_shell传输文件Linux发邮件之mail命令详解发布于2017-01-0516:44:04|154次阅读|评论:0|来源:网友投递LinuxLinux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。这篇文章主要介绍了Linux发邮件之mail命令详解,详细的讲解…

    2022年10月20日
  • pycharm快速调整格式_pycharm自带python吗

    pycharm快速调整格式_pycharm自带python吗代码自动填充了空格问题在使用pycharm的代码编辑器时,常常懒得写空格,如下图,但这是不符合代码规范的,而且也会影响可读性。解决方法pycharm有自动调整代码格式的快捷键,默认为alt+ctrl+l,按下快捷键后,代码自动填充了空格。自动对齐代码问题在使用pycharm的代码编辑器时,有点时候copy的代码的没有按照代码格式对齐,如下图,但这是不符合代码规范的,而且也会影响可读性。解决方法py…

    2022年8月25日

发表回复

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

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