FPGA 多数表决器(含代码)

多数表决器指一个决策里面大多数人同意即“1”,事件就为“1”,类似于以前的举手表决,只是现在利用电子手段来实现,主要是用来表达参与者是赞成还是发对,可以很快的计算出投票结果。

假如有3个输入abc,输出为f,真值表如下:

用卡诺图去化简(卡诺图讲解可参考一分钟掌握卡诺图化简法_居安士的博客-CSDN博客

 

最后我们得到结果是 f=ab+bc+ac

开始写代码:

module most(
input a,
input b,
input c,
output f
    );
    
assign    f=a&b|a&c|b&c;
endmodule

测试代码:

一开始a=1,b=1,c=0

后面叫a=0,b=1,c=0

module TB_most(

    );

reg a;
reg b;
reg c;
wire f;

most inst_most(
.a(a),
.b(b),
.c(c),
.f(f)
    );
    
    initial begin
    	
    	a=1;
    	b=1;
    	c=0;
    	
    	#20;
    	
    	a=0;
    	b=1;
    	c=0;
    	
    end

endmodule

 

 

根据测试结果 一开始f=1,之后f=0

多数表决器完成!

 在这个的基础上,可以增加更多的人数的多数表决器

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值