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


相关推荐

  • 普罗米修斯监控openGauss

    普罗米修斯监控openGauss1、前期准备1.1项目依赖链接依赖开源工程工程链接普罗米修斯https://github.com/prometheus/pushgatewayopengauss_exporthttps://github.com/enmotech/opengauss_exporterpushgatewayhttps://github.com/prometheus/pushgatewayopenGausshttps://gitee.com/opengauss/openGauss

    2022年7月19日
    25
  • java按位异或的运算是,深入理解按位异或运算符

    java按位异或的运算是,深入理解按位异或运算符参与运算的两个值,如果两个相应bit位相同,则结果为0,否则为1。即:0^0=0,1^0=1,0^1=1,1^1=0按位异或的3个特点:(1)0^0=0,0^1=10异或任何数=任何数(2)1^0=1,1^1=01异或任何数-任何数取反(3)任何数异或自己=把自己置0按位异或的几个常见用途:(1)使某些特定的位翻转例如对数10100001的第2位和第3位翻转,则…

    2022年6月6日
    42
  • 什么是php递归算法_PHP递归算法(一)

    什么是php递归算法_PHP递归算法(一)在前面的文章中,我们为大家介绍了PHP算法系列之《PHP随机取一算法》和《PHP冒泡排序算法》,需要的朋友可以了解学习。本篇文章我们将继续为大家带来常见的PHP算法,即PHP递归算法。在PHP开发过程中,递归算法通常用于无限极分类。那么所谓递归就是一种函数调用自身的机制。简单来说就是在函数体内直接或间接自己调用自己,但需要设置自调用的条件,若满足条件,则调用函数本身,若不满足则终止本函数的自调用。…

    2022年8月11日
    6
  • gradle使用本地maven仓库_gradle引用本地项目

    gradle使用本地maven仓库_gradle引用本地项目参照Gradle官方文档配置阿里Maven仓库

    2025年6月16日
    3
  • 领导含泪叮嘱我:MySQL 建表字段记得用 not null,不然就收拾包袱滚蛋

    领导含泪叮嘱我:MySQL 建表字段记得用 not null,不然就收拾包袱滚蛋上午我收到一条短信,内容是“尊敬的null你好,XXX”,当时我就笑了。真是外行看热闹,内行看门道,这是程序员都能Get的笑点,说明程序没有正确从数据库获取到我的姓名,然后把空值格式化为了null。

    2022年6月14日
    16
  • mysql 卸载及安装[通俗易懂]

    mysql 卸载及安装[通俗易懂]mysql卸载及安装

    2022年9月29日
    3

发表回复

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

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