VL4 移位运算与乘法

image.png

image.png

输入描述:

输入信号 d, clk, rst

类型 wire

在testbench中,clk为周期5ns的时钟,rst为低电平复位

输出描述:

输出信号 input_grant out

类型 reg

这里有一点需要了解下:就是>>1 相当于乘2,那么就是乘3的话就是相当于>>2-1[即乘4-1]

image.png

实现代码:

`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;
            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
                       
endmodule
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 学号:16010199021 姓名:李若宇 转载自 http://blog.csdn.net/sun1991011...
    承瑜阅读 1,814评论 0 1
  • 环境噪声监测报警系统 目录 摘要 2绪论 3第一章:硬件设计部分 61.1噪声监测系统的硬件选择 61.1...
    Sophiaq阅读 2,938评论 0 0
  • 1.设计一个10进制计数器,用七段数码管显示计数器的数值,以DE2板上1个拨动开关(switch)作为计数器的时钟...
    Carbin阅读 1,127评论 0 1
  • testbench 1. 激励的产生 对于testbench而言,端口应当和被测试的module一一对应。端口分为...
    Michael_Johnson阅读 2,709评论 0 1
  • 1.串行乘法器(8位为例) 1.1 verilog 程序 module mutilpiler( clk,mutil...
    一切都好呀阅读 305评论 0 0