新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > FPGA三人表決器

        FPGA三人表決器

        作者: 時間:2023-12-19 來源:電子森林 收藏

        一、項目介紹

        相信大家對電視中的選秀節目并不陌生,我們常常能夠見到一種比賽規則:當三名評委中有兩名及以上同意選手晉級時,該選手才能晉級,那么如何去實現該項目呢?

        本文引用地址:http://www.104case.com/article/202312/454067.htm

        二、實現原理

        其實這一切都離不開數字電路,首先我們可以繪制出三人的真值表,然后用Verilog去實現它,真值表如下:

        三、硬件部分

        通過對此項目進行評估我們發現:
        1.該項目需要三個輸入,我們可以通過撥碼開關進行實現;
        2.需要顯示模塊來表示投票情況,這里我們選用數碼管進行實現;


        四、Verilog實現

        // ********************************************************************
        // >>>>>>>>>>>>>>>>>>>>>>>>> COPYRIGHT NOTICE <<<<<<<<<<<<<<<<<<<<<<<<<
        // ********************************************************************
        // File name    : debounce.v
        // Module name  : debounce
        // Author       : STEP
        // Description  : 
        // // --------------------------------------------------------------------
        // 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

        五、實現效果

        撥碼開關1、2、3分別代表評委A、B、C,LED1~3代表投票狀態,例如,評委A投票,LED1亮,LED4代表是否通過。
        下圖為無人投票時,

        下圖為有一位評委投票時,

        下圖為兩人進行投票時,可見投票通過指示燈已經亮起;

        最后,三人同時投票



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 衡山县| 耒阳市| 吉木乃县| 雷州市| 卓尼县| 监利县| 方城县| 南充市| 略阳县| 武乡县| 黑山县| 万山特区| 陇西县| 唐山市| 依兰县| 斗六市| 中宁县| 灌阳县| 台山市| 辉南县| 同心县| 邵阳市| 塘沽区| 洛浦县| 诸城市| 东乡| 浏阳市| 卢龙县| 内乡县| 保亭| 平度市| 德江县| 富川| 兴化市| 昌乐县| 团风县| 黄梅县| 合山市| 阆中市| 名山县| 自治县|