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)
上一篇 2022年7月16日 下午9:36
下一篇 2022年7月16日 下午9:46


相关推荐

  • android平台db4o使用示例

    android平台db4o使用示例db4o是一个纯对象的数据库,现支持java和.NET。07年的时候,db4objects宣布db4o已可以顺利运行于Android平台,当时db4objects公司和db4o的爱好者积极推进db4o运行于GoogleAndroid平台,以期待让db4o成为Android上的首选数据库平台,但令人遗憾的是google最后选择了sqlite作为作为android平台的数据库。但是没有关系,db4o

    2022年7月21日
    16
  • python究竟要不要使用多线程

    (1)python多线程究竟有没有用?(2)python虚拟机机制如何控制代码的执行?(3)python中多进程处理原理是怎么样的?1.先来看两个例子(1)例1分别用单线程、使用多线程、使

    2021年12月29日
    48
  • @component使用案例

    @component使用案例

    2021年7月19日
    72
  • java 大端字节序_理解字节序

    java 大端字节序_理解字节序1 什么是字节序字节序 顾名思义就是字节的顺序 更具体的讲 它是多字节数据存储和传输时 字节的顺序 2 为什么有 字节序 这个东西 因为物理内存是以字节为单位进行数据存储 也就是我们常说的计算机基本单位为字节 因此 单字节的数据 如 c 或 java 的 char 类型的数据 没有字节序这一说 因为获取它只需要读取一个字节 而多字节数据 由于有多个字节 所以在存储和传输可以使用不同的顺序进行操作 3 举个例子

    2026年3月19日
    2
  • 创意思维导图简单画法,怎么画好看

    创意思维导图简单画法,怎么画好看思维导图作为一种常用的效率工具 受到越来越多的人们的喜爱 我们作为入门新手 很必要了解一下绘制它的那些事 从形态上划分 思维导图 脑图 可以分为手工绘图和软件绘图 两者各个优缺点 但是从效率上而言 小编更推荐使用电脑软件进行绘制 本文就将教你快速入门 掌握脑图的画法 快速掌握思维导图基础画法尽管是使用软件来绘图 但依然有许多不尽相同的画法 不同的画法有不同的绘制顺序 有的讲究高效整洁 有的讲解精细美观 对于入门级初学者而言 建议从简单的思维导图开始学起 下面以 高考专业选择分析思维导图 为例 来分步

    2026年3月26日
    2
  • opencv实现视频里人数统计「建议收藏」

    opencv实现视频里人数统计「建议收藏」基于图像的人数统计属于模式识别问题,可应用于安防领域。传统的方法包括:1)视频捕获;2)目标提取(背景建模、前景分析)——常见方法有高斯背景建模、帧差法、三帧差法等;3)目标识别(模式识别、特征点分析),如人脸识别,头肩部识别等,OpenCV里可以使用Hear特征、级联分类器来进行特征检测;4)目标跟踪——基本方法有直方图特征匹配和运动目标连续性匹配,opencv里可以使用CamShift算法直接对

    2022年6月1日
    155

发表回复

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

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