在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            博客專欄

            EEPW首頁(yè) > 博客 > 實(shí)驗(yàn)9:密碼鎖

            實(shí)驗(yàn)9:密碼鎖

            發(fā)布人:xiaxue 時(shí)間:2023-10-09 來(lái)源:工程師 發(fā)布文章
            實(shí)驗(yàn)?zāi)康?div>
            • (1)熟悉和掌握FPGA開(kāi)發(fā)流程和Lattice Diamond軟件使用方法;
            • (2)通過(guò)實(shí)驗(yàn)理解和掌握密碼鎖原理;
            • (3)學(xué)習(xí)用Verilog HDL行為級(jí)描述方法描述密碼鎖電路。
            實(shí)驗(yàn)任務(wù)

            設(shè)計(jì)4位二進(jìn)制密碼鎖,要求如下:
            4位密碼輸入代碼分別為Q、U、N、B,開(kāi)箱時(shí),鑰匙插入鑰匙孔右旋使D=1,如果輸入密碼(如:QUNB=0101)與設(shè)置的代碼相同,則保險(xiǎn)箱被打開(kāi),即輸出端G=1,否則箱體發(fā)出報(bào)警。

            實(shí)驗(yàn)原理

            根據(jù)任務(wù)要求可知,只有當(dāng)D=1,且輸入密碼=0101時(shí),輸出G=1,報(bào)警器W=0。其他情況下D=1,輸出G=0,報(bào)警器W=1。若D=0, 輸出G=0,報(bào)警器W=0。密碼鎖真值表如下:

            邏輯電路

            Verilog HDL建模描述

            4位密碼鎖程序清單codedlock.v
            <code verilog> module codedlock

              (
                input wire q,u,n,b,           //四位開(kāi)關(guān)作為密碼輸入
                input wire d,				  //一位按鍵作為開(kāi)鎖使能信號(hào)
                output wire led1,    	      //保險(xiǎn)箱打開(kāi)信號(hào)對(duì)應(yīng)的led輸出
                output wire led2			  //報(bào)警信號(hào)對(duì)應(yīng)的led輸出
              );
            wire  [3:0]   code;			  //四位變量存儲(chǔ)密碼
            reg			  open;			  //保險(xiǎn)箱開(kāi)箱信號(hào)
            reg			  alarm;          //報(bào)警信號(hào)
            assign		code = {q,u,n,b};
             always@(d or code)
            if(d == 1'b1)             //使能,開(kāi)始判斷密碼
            	begin
            		if(code == 4'b0101)   
            			begin
            				open = 1'b1;  //開(kāi)鎖
            				alarm = 1'b0; //沒(méi)報(bào)警
            			end
            		else
            			begin
            				open = 1'b0;  
            				alarm = 1'b1;
            			end
            	end
              else
            	begin
            		open = 1'b0;
            	end
             assign  led1 = ~open;		//led亮表示密碼鎖沒(méi)開(kāi)
             assign	led2 = ~alarm;		//led亮代表發(fā)出報(bào)警信號(hào)
            endmodule
            </code>
            實(shí)驗(yàn)步驟
            1. 打開(kāi)Lattice Diamond,建立工程。
            2. 新建Verilog HDL設(shè)計(jì)文件,并鍵入設(shè)計(jì)代碼。
            3. 綜合并分配管腳,將輸入信號(hào)d,q,u,n,b分配至撥碼開(kāi)關(guān),將輸出信號(hào)led1,led2分配至板卡上的LED。d/L14,q/M7,u/M8,n/M9,b/M10,led1/N13,led2/M12
            4. 構(gòu)建并輸出編程文件,燒寫至FPGA的Flash之中。
            5. 觀察輸出結(jié)果。開(kāi)發(fā)板按鍵開(kāi)關(guān)低電平有效,所以d的常態(tài)是1,表示插入鑰匙旋轉(zhuǎn)。此時(shí),我們可以通過(guò)改變撥碼開(kāi)關(guān),觀察兩燈的變化。只有當(dāng)撥碼開(kāi)關(guān)撥至0101時(shí),led1亮,led2滅,表示輸出有效,不報(bào)警。其他撥碼狀態(tài)代表輸入密碼錯(cuò)誤,led1滅,led2亮,輸出無(wú)效,報(bào)警。若按下d所連接的按鍵開(kāi)關(guān)L14使d=0,表示未插入鑰匙,此時(shí)無(wú)論輸入何密碼,輸出和報(bào)警都會(huì)無(wú)效,兩個(gè)led 燈均不會(huì)亮。以上過(guò)程,達(dá)到了密碼鎖的功能。


            *博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。



            關(guān)鍵詞: FPGA Lattice Diamond

            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉