半加器——Verilog HDL语言

半加器

  • 任务描述
  • 相关知识
    • 逻辑原理
    • 一位半加器真值表
  • 编程要求
  • 源码

任务描述

根据所学的组合逻辑及数字电路的知识完成半加器的设计,验证满足一位半加器的规则,根据逻辑真值表和逻辑表达式完成表决功能。熟悉Quartus II的Verilog HDL文本设计流程,掌握组合逻辑电路的设计仿真和硬件测试的方法。最后完善一位半加器电路的功能描述风格Verilog HDL 代码。

相关知识

逻辑原理

一位半加器电路中, A、B为两个 1 位数,不考虑来自低位的进位, A、 B 相加的结果为 So,产生的进位为 Co。
设输入为 A、 B,且 A 表示被加数,用二进制数1,0表示该输入值; B 表示加数,用二进制数1,0表示该输入值。 则一位半加器电路的真值表如下表所示。

一位半加器真值表

半加器——Verilog HDL语言_第1张图片

编程要求

为了完成判断学生成绩等级的任务,完善编程模块设计代码,编写的程序要能根据不同的输入能够得到满足一位半加器真值表的组合逻辑的输出。

源码

测试平台:EduCoder

//hadder_test.v
module hadder_test(a,b,cout,sum);
// 请在下面添加代码,完成一位半加器功能
//The first method
/* Begin */
  output sum;
  output cout;
  input  a,b;
  assign {cout,sum}=a+b;
/* End */
/*
//The second  method
input a,b;
output cout,sum;
wire a,b;
reg cout,sum;

always @(a,b)
    begin
        if(a==0 && b==0)
            begin cout=0;sum=0;end
        else if(a==0 && b==1)
            begin cout=0;sum=1;end
        else if(a==1 && b==0)
            begin cout=0;sum=1;end
        else if(a==1 && b==1)
            begin cout=1;sum=0;end
    end
*/
endmodule

觉得有帮助的可以点个赞再走哦!!

你可能感兴趣的:(Verilog,HDL)