显示页面 讨论 修订记录 反向链接 本页面只读。您可以查看源文件,但不能更改它。如果您觉得这是系统错误,请联系管理员。 ======三人表决器====== =====一、项目介绍===== 相信大家对电视中的选秀节目并不陌生,我们常常能够见到一种比赛规则:当三名评委中有两名及以上同意选手晋级时,该选手才能晋级,那么如何去实现该项目呢? =====二、实现原理===== 其实这一切都离不开数字电路,首先我们可以绘制出三人表决器的真值表,然后用Verilog去实现它,真值表如下: {{ ::三人表决器真值表.png?400 |}} =====三、硬件部分===== 通过对此项目进行评估我们发现: \\ 1.该项目需要三个输入,我们可以通过拨码开关进行实现;\\ 2.需要显示模块来表示投票情况,这里我们选用数码管进行实现;\\ =====四、Verilog实现===== ------ <code verilog> // ******************************************************************** // >>>>>>>>>>>>>>>>>>>>>>>>> COPYRIGHT NOTICE <<<<<<<<<<<<<<<<<<<<<<<<< // ******************************************************************** // File name : debounce.v // Module name : debounce // Author : STEP // Description : // Web : www.stepfpga.com // // -------------------------------------------------------------------- // Code Revision History : // -------------------------------------------------------------------- // Version: |Mod. Date: |Changes Made: // V1.0 |2017/03/14 |Initial ver // -------------------------------------------------------------------- // Module Function:三人表决器 module voter(a,b,c,num_led,result_led); input a; //评委A input b; //评委B input c; //评委C output [2:0] num_led; //投票数显示; output result_led; //投票结果显示; assign num_led=~{a,b,c}; //用三个LED表示投票情况,另根据硬件电路,LED为0时亮,故取反 assign result_led=~((!a&b&c)||(a&!b&c)||(a&b&!c)||(a&b&c))?1:0; //此处请参阅真值表,另根据硬件电路,LED为0时亮,故取反 endmodule </code>