用V e r i l o g实现一个简单ALU(组合逻辑)

实验名称:

用V e r i l o g实现一个简单ALU。(组合逻辑)

实验目的:

学生通过用V e r i log实现简单的ALU,熟悉硬件描述语言Verilog的基本语法和ALU相关概念,为用Verilog实现CPU和计算机组成的学习打下基础。

实验描述:

输入:两个4位二进制数,代表两个操作数A,B;一个3位控制信号operation,代表ALU要进行的运算。本实验中,ALU可以实现4种运算:

输出:4位结果,1位进位

实验分析:

实现四种运算,与、或、异或、同或。

a&b a|b a^b ~(a^b)

代码如下:

复制代码
`timescale 1ns / 1ps

module new(

            a,

            b,

            c,

            d,

            y

            );

    input a;

    input b;

    input c;

    input d;

    output y;

    reg y;

    always@(a or b or c or d)begin

        if(c==0)begin

            if(d==0)begin

            y<=a&b;

            end

            else begin

            y<=a^b;

            end

         end

         else begin

            if(d==0)begin

            y<=~(a^b);

            end

            else begin

            y<=a|b;

            end

         end

    end

endmodule

testbench代码进行仿真测试:

复制代码
`timescale 1ns / 1ps

module test();

   reg a,b,c,d;

   wire y;

   

   new tsh(

       .a(a),

       .b(b),

       .c(c),

       .d(d),

       .y(y)

       );

       

   initial begin

       a=0;b=0;c=0;d=0;

       # 20;

       a=0;b=0;c=0;d=1;

       # 20;

       a=0;b=0;c=1;d=0;

       # 20;

       a=0;b=0;c=1;d=1;

       # 20;

       a=0;b=1;c=0;d=0;

       # 20;

       a=0;b=1;c=0;d=1;

       # 20;

       a=0;b=1;c=1;d=0;

       # 20;

       a=0;b=1;c=1;d=1;

       # 20;

       a=1;b=0;c=0;d=0;

       # 20;

       a=1;b=0;c=0;d=1;

       # 20;

       a=1;b=0;c=1;d=0;

       # 20;

       a=1;b=0;c=1;d=1;

       # 20;

       a=1;b=1;c=0;d=0;

       # 20;

       a=1;b=1;c=0;d=1;

       # 20;

       a=1;b=1;c=1;d=0;

       # 20;

       a=1;b=1;c=1;d=1;

       # 20;

       $finish;

   end

endmodule

运行结果:

相关推荐
双料毒狼_s5 小时前
【FPGA实战】基于DE2-115实现数字秒表
fpga开发
Cynthia的梦10 小时前
FPGA学习-基于 DE2-115 板的 Verilog 分秒计数器设计与按键功能实现
fpga开发
9527华安19 小时前
Xilinx系列FPGA实现HDMI2.1视频收发,支持8K@60Hz分辨率,提供2套工程源码和技术支持
fpga开发·音视频·8k·hdmi2.1
大熊Superman20 小时前
FPGA实现LED流水灯
fpga开发
泪水打湿三角裤1 天前
fpga:分秒计时器
fpga开发
奋斗的牛马1 天前
FPGA_AXI仿真回环(一)
fpga开发
LeeConstantine1 天前
FPGA FLASH烧写遇到的问题
fpga开发
禾川兴 132424006881 天前
国产芯片解析:龙讯HDMI Splitter系列:多屏共享高清
单片机·fpga开发·适配器模式
威视锐科技2 天前
软件定义无线电36
网络·网络协议·算法·fpga开发·架构·信息与通信
JINX的诅咒2 天前
CORDIC算法:三角函数的硬件加速革命——从数学原理到FPGA实现的超高效计算方案
算法·数学建模·fpga开发·架构·信号处理·硬件加速器