用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

运行结果:

相关推荐
hi946 小时前
KV260视觉AI套件--PYNQ-DPU
人工智能·fpga开发·pynq·kv260
流月up9 小时前
2.linux操作系统CPU使用率和平均负载区别
cpu·区别·使用率·平均负载
阳排9 小时前
FPGA学习笔记(5)——硬件调试与使用内置的集成逻辑分析仪(ILA)IP核
笔记·学习·fpga开发
hi小瑞同学9 小时前
vivado VIO IP核
fpga开发
king_machine design1 天前
乘法与位运算
fpga开发
深圳信迈科技DSP+ARM+FPGA1 天前
全国产飞腾+FPGA架构,支持B码+12网口+多串电力通讯管理机解决方案
fpga开发
作精本精1 天前
Xilinx FPGA:vivado这里记录一个小小的问题
fpga开发
顺子学不会FPGA1 天前
SerDes介绍以及原语使用介绍(3)ISERDESE2原语介绍
fpga开发
顺子学不会FPGA1 天前
SerDes介绍以及原语使用介绍(4)ISERDESE2原语仿真
fpga开发
icysmile1311 天前
Zynq7000系列FPGA中的中断
fpga开发