三人表决电路——Verilog HDL语言

三人表决电路

  • 任务描述
  • 相关知识
    • 逻辑原理
    • 三人表决器真值表
  • 编程要求
  • 源代码

任务描述

根据所学的组合逻辑及数字电路的知识完成三人表决电路的设计,实现少数服从多数的表决规则,根据逻辑真值表和逻辑表达式完成表决功能。
运用Verilog HDL进行设计,完善三人表决电路的功能描述风格代码,具备组合逻辑电路的设计仿真和测试的能力。

相关知识

逻辑原理

三人表决电路中, 当表决某个提案时,多数人同意,则提案通过;同时有一个人具有否决权。若全票否决,也给出显示。
设输入为 A、 B、 C,且 A 具有否决权。同意用1 表示,不同意用 0 表示;输出 X 为 1 时表示提案通过; Y 为 1 时表示提案全票否决。 则三人表决电路的真值表如下表所示。

三人表决器真值表

三人表决电路——Verilog HDL语言_第1张图片

编程要求

根据真值表,编写的程序要能根据不同的输入完成三人表决功能。

源代码

测试平台:EduCoder

module JG3(ABC,X,Y);
	input [2:0] ABC;
	output X, Y;
	reg X, Y;
	always@(ABC)
    // 请在下面添加代码,实现满足三人表决器真值表;
        /********** Begin *********/
    case(ABC)
       //3'b000:begin X<=1'b0;Y<=1'B1;end
       3'b000:begin X=1'b0;Y=1'b1;end
       3'b001:begin X=1'b0;Y=1'b0;end
       3'b010:begin X=1'b0;Y=1'b0;end
       3'b011:begin X=1'b0;Y=1'b0;end
       3'b100:begin X=1'b0;Y=1'b0;end
       3'b101:begin X=1'b1;Y=1'b0;end
       3'b110:begin X=1'b1;Y=1'b0;end
       3'b111:begin X=1'b1;Y=1'b0;end
      default:begin X=1'b1;Y=1'b0;end
    endcase
        /********** End *********/
endmodule

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

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