差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
表决器 [2017/03/14 09:38]
zhijun
表决器 [2017/03/14 10:24] (当前版本)
zhijun
行 9: 行 9:
 \\ \\
 1.该项目需要三个输入,我们可以通过拨码开关进行实现;\\ 1.该项目需要三个输入,我们可以通过拨码开关进行实现;\\
- 
 2.需要显示模块来表示投票情况,这里我们选用数码管进行实现;\\ 2.需要显示模块来表示投票情况,这里我们选用数码管进行实现;\\
 =====四、Verilog实现===== =====四、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>​ 
 + 
 +=====五、实现效果==== 
 +拨码开关1、2、3分别代表评委A、B、C,LED1~3代表投票状态,例如,评委A投票,LED1亮,LED4代表是否通过。 
 +\\ 
 +下图为无人投票时, 
 +{{ ::​754057370945270088.jpg?​500 |}} 
 +下图为有一位评委投票时, 
 +{{ ::​1ren.jpg?​500 |}} 
 +下图为两人进行投票时,可见投票通过指示灯已经亮起; 
 + 
 +{{ ::​2ren.jpg?​500 |}} 
 +最后,三人同时投票{{ ::​369387538796888960.jpg?​500 |}}