「Verilog学习笔记」移位运算与乘法

这篇具有很好参考价值的文章主要介绍了「Verilog学习笔记」移位运算与乘法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

专栏前言

本专栏的内容主要是记录本人学习Verilog过程中的一些知识点,刷题网站用的是牛客网

「Verilog学习笔记」移位运算与乘法,Verilog学习笔记,学习,笔记,Verilog

 「Verilog学习笔记」移位运算与乘法,Verilog学习笔记,学习,笔记,Verilog

分析 

1、在硬件中进行乘除法运算是比较消耗资源的一种方法,想要在不影响延迟并尽量减少资源消耗,必须从硬件的特点上进行设计。根据寄存器的原理,由于是二进制,所以进位和退位为x2或者/2,同样除7可以使用进位3然后减去本身的做法,这样就将乘除法运算转化为位运算,这是一种比较简单的整数运算处理。

2、 需要给出一个计数器的状态机,注意d输入不是随时有效的,只有在cnt计数为0的那个时钟沿,d输入有效,因此需要设计一个寄存器din,在cnt为0时候锁存d的值

「Verilog学习笔记」移位运算与乘法,Verilog学习笔记,学习,笔记,Verilog

「Verilog学习笔记」移位运算与乘法,Verilog学习笔记,学习,笔记,Verilog文章来源地址https://www.toymoban.com/news/detail-745192.html

`timescale 1ns/1ns
module multi_sel(
input [7:0]d ,
input clk,
input rst,
output reg input_grant,
output reg [10:0]out
);
//*************code***********//
    reg [1:0] cnt ; 
    reg [7:0] din ; 
    always @ (posedge clk or negedge rst) begin 
        if (~rst) begin 
            cnt <= 0 ; 
            out <= 0 ; 
            input_grant <= 0 ; 
            din <= 0 ; 
        end 
        else begin 
            cnt <= (cnt + 1) % 4 ; // cnt <= cnt + 1 由于是2位的寄存器 溢出后自动清0 两种写法皆可
            case (cnt) 
                0 : begin 
                    din <= d ; 
                    input_grant <= 1 ; 
                    out <= d ; 
                end 
                1 : begin 
                    input_grant <= 0 ;
                    out <= (din << 2) - din ; 
                end 
                2 : begin
                    input_grant <= 0 ; 
                    out <= (din << 3) - din ; 
                end 
                3 : begin 
                    input_grant <= 0 ; 
                    out <= din << 3 ; 
                end 
            endcase
        end 
    end 

//*************code***********//
endmodule

到了这里,关于「Verilog学习笔记」移位运算与乘法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 「Verilog学习笔记」位拆分与运算

    专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点,刷题网站用的是牛客网 1、寄存器的位是可以分开单独运算的,并不是一个输入就一定是一个数据,在很多情况下,一个输入既包括数据又包括地址等其他有效信息 2、需要考虑数据锁存的问题,一定要在

    2024年02月05日
    浏览(45)
  • HDLBits学习笔记——移位寄存器

    为了方便做笔记,从移位寄存器(Shift Registers)这章开始按章节做记录。 1.   4-bit Shift Registers 题目: Build a 4-bit shift register (right shift), with asynchronous reset, synchronous load, and enable. areset: Resets shift register to zero. load: Loads shift register with data[3:0] instead of shifting. ena: Shift right (q[3

    2023年04月08日
    浏览(56)
  • 第一百二十一天学习记录:线性代数:矩阵乘法运算(宋浩板书)

    在编程和学习数据结构的过程中,发现有些算法会用到矩阵和矩阵的乘法运算,因此先将这一个知识点学习一下。 乘法☆ 总结三条不满足

    2024年02月13日
    浏览(42)
  • verilog——移位寄存器

    在Verilog中,你可以使用移位寄存器来实现数据的移位操作。移位寄存器是一种常用的数字电路,用于将数据向左或向右移动一个或多个位置。这在数字信号处理、通信系统和其他应用中非常有用。以下是一个使用Verilog实现的简单移位寄存器的示例: module ShiftRegister (   inpu

    2024年02月05日
    浏览(47)
  • 数字IC前端学习笔记:LSFR(线性反馈移位寄存器)

    相关文章 数字IC前端专栏 https://blog.csdn.net/weixin_45791458/category_12173698.html?spm=1001.2014.3001.5482 引言 LFSR(线性反馈移位寄存器)用于产生可重复的伪随机序列PRBS(Pseudo-Random Binary Sequence),结构包括n级D触发器和一些异或门(或同或门)组成,在每个时钟沿,后级D触发器输出会以

    2024年02月02日
    浏览(42)
  • Verilog实现移位寄存器

    Verilog实现8位环形移位寄存器 左移: 环形就是首尾相连 右移: 普通的移位寄存器用for语句实现: 普通左移: tb测试: 图形分析: 双向shift:就是加个判断

    2024年02月11日
    浏览(54)
  • c语言之移位运算

    左移 逻辑左移和算数左移的效果是一样的,高位移出,低位补0. 对于一个位长位W的数来说,左移K位。(通常来讲KW) 高k位移出,低k位补0. 把下面这个w位的位向量左移K位。 [ X w − 1 , X w − 2 , X w − 3 , . . . , X 3 , X 2 , X 1 , X 0 ] [X_{w-1},X_{w-2},X_{w-3},...,X_3,X_2,X_1,X_0] [ X w − 1 ​

    2023年04月08日
    浏览(26)
  • java位运算及移位运算你还记得吗

    本文中所提到的运算都是基于整数来说的,因为只有整数(包括正数和负数)在操作系统中是以二进制的补码形式运算的,关于原码、反码、补码、位运算、移位运算的背景这里不再介绍,网上资料很多,感兴趣的可自行搜索。 java中能表示整数数据类型的有byte、short、char、

    2024年02月14日
    浏览(34)
  • Verilog学习记录3——三目运算符

    进阶示例: 以牛客网 VL1 四选一多路器 为例 使用三目运算符写法:

    2024年02月11日
    浏览(60)
  • 【Verilog编程】线性反馈移位寄存器(LFSR)原理及Verilog代码实现

    移位寄存器 :指若干个寄存器排成一列,每个寄存器中存放1bit二进制数据(0或1),每个时钟周期向左或向右移动一个bit。下图所示为一个向右移动的移位寄存器。 反馈移位寄存器(Feedback Shift Register,FSR) :每个时钟脉冲,移位寄存器向右移动一位,则移位寄存器的左左侧就

    2024年02月15日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包