版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 《EDA技術(shù)及應(yīng)用實(shí)踐》課程設(shè)計(jì)報(bào)告</p><p><b> 目錄</b></p><p> 1.電子密碼鎖整體設(shè)計(jì).....................................3</p><p> 1.1 設(shè)計(jì)要求............................................
2、.3</p><p> 1.2 設(shè)計(jì)思路.............................................3</p><p> 1.2.1輸入模塊.........................................3</p><p> 1.2.2控制模塊...................................
3、......3</p><p> 1.3設(shè)計(jì)結(jié)構(gòu)總圖.........................................4</p><p> 1.4整體設(shè)計(jì)的仿真結(jié)果...................................5</p><p> 2、各個(gè)功能模塊的設(shè)計(jì)..................................
4、..6</p><p> 2.1按鍵輸入模塊.........................................6</p><p> 2.1.1按鍵輸入與對(duì)應(yīng)的編碼輸出之間的關(guān)系...............6</p><p> 2.1.2輸入模塊程序.....................................7</p>
5、<p> 2.1.3輸入模塊仿真結(jié)果.................................8</p><p> 2.1.4生成元件..........................................8</p><p> 2.2系統(tǒng)控制模塊..........................................9</p>
6、<p> 2.2.1控制模塊程序....................................10</p><p> 2.2.2控制模塊仿真結(jié)果................................13</p><p> 2.2.3生成元件........................................13</p>&l
7、t;p> 3、下載與硬件測(cè)試.........................................14</p><p> 4、課程設(shè)計(jì)感想...........................................14</p><p> 5、參考文獻(xiàn)...............................................15</
8、p><p><b> 電子密碼鎖設(shè)計(jì)</b></p><p> 隨著人們生活水平的提高,如何實(shí)現(xiàn)家庭防盜這一問(wèn)題也變的尤其的突出,傳統(tǒng)的機(jī)械鎖由于其構(gòu)造的簡(jiǎn)單,被撬的事件屢見(jiàn)不鮮,電子鎖由于其保密性高,使用靈活性好,安全系數(shù)高,受到了廣大用戶的青睞。</p><p> 本次課程設(shè)計(jì)采用VHDL語(yǔ)言,利用Maxplus軟件完成相應(yīng)的電子密碼鎖功
9、能設(shè)計(jì)。</p><p> 1、電子密碼鎖整體設(shè)計(jì)</p><p><b> 1.1設(shè)計(jì)要求:</b></p><p> 設(shè)計(jì)一個(gè)電子密碼鎖,在鎖開(kāi)的狀態(tài)下輸入密碼,密碼共4位,用數(shù)據(jù)開(kāi)關(guān)K1~K10分別代表數(shù)字1、2、…、9、0,輸入的密碼用數(shù)碼管顯示,最后輸入的密碼顯示在最右邊的數(shù)碼管上,即每輸入一位數(shù),密碼在數(shù)碼管上的顯示左移一位。
10、可刪除輸入的數(shù)字,刪除的是最后輸入的數(shù)字,每刪除一位,密碼在數(shù)碼管的顯示右移一位,并在左邊空出的位上補(bǔ)充“0”。用一位輸出電平的狀態(tài)代表鎖的開(kāi)閉狀態(tài)。為保證密碼鎖主人能打開(kāi)密碼鎖,設(shè)置一個(gè)萬(wàn)能密碼,在主人忘記密碼時(shí)使用。</p><p><b> 1.2設(shè)計(jì)思路:</b></p><p> 總的來(lái)說(shuō),設(shè)計(jì)成2個(gè)模塊,即輸入模塊,控制模塊,最后顯示管靜態(tài)顯示。<
11、;/p><p> 1.2.1輸入模塊:</p><p> 在輸入模塊,我是用時(shí)鐘脈沖clk來(lái)控制什么時(shí)候輸入一位密碼,即每來(lái)一個(gè)上升沿,輸入一個(gè)數(shù),且輸入的數(shù)只在上升沿到來(lái)時(shí)有效,在其他時(shí)候視為無(wú)效。如果clk信號(hào)為系統(tǒng)設(shè)置的,那么很難做到自己輸入密碼的頻率能與clk信號(hào)同步,因此本設(shè)計(jì)決定將clk信號(hào)設(shè)為手動(dòng),即輸入好一位密碼后,讓clk信號(hào)由0到1,則該密碼輸入成功。</p>
12、;<p> 1.2.2控制模塊:</p><p> 在密碼控制模塊中,主要實(shí)現(xiàn)以下功能:</p><p> 每輸入一位數(shù),數(shù)碼管左移一位,設(shè)置刪除信號(hào)back,每按一次,刪除最后輸入的數(shù)字,密碼在數(shù)碼管顯示右移一位,左邊空處0。</p><p> 設(shè)置密碼確認(rèn)信號(hào)set,在四位密碼輸入完畢后,按下set,則密碼被送到寄存器鎖存,比較器模塊得到數(shù)
13、據(jù)A,同時(shí)密碼顯示電路清零。</p><p> 設(shè)置密碼鎖狀態(tài)顯示信號(hào)lock。Lock=0表示鎖未開(kāi),lock=1表示鎖開(kāi),設(shè)置關(guān)鎖信號(hào)close,當(dāng)密碼送到寄存器模塊鎖存后,按下close,則lock=0。</p><p> 設(shè)置密碼檢驗(yàn)信號(hào)compare ,在lock=0下從數(shù)據(jù)開(kāi)關(guān)輸入四位開(kāi)鎖數(shù)據(jù),按下compare,則開(kāi)鎖數(shù)碼送寄存器鎖存,數(shù)據(jù)比較模塊得到數(shù)據(jù)B,若A=B,則
14、觸發(fā)器被置”1”。</p><p> 1.3設(shè)計(jì)結(jié)構(gòu)總圖:</p><p> 圖1(G1模塊表示輸入模塊,G2表示控制模塊)</p><p> 1.4整體設(shè)計(jì)的仿真結(jié)果如下圖</p><p> 2、各個(gè)功能模塊的設(shè)計(jì)</p><p> 2.1按鍵輸入模塊:</p><p> 2.1.
15、1按鍵輸入與對(duì)應(yīng)的編碼輸出之間的關(guān)系如表2-1所示</p><p><b> 表2-1 按鍵編碼</b></p><p> 2.1.2輸入模塊程序:</p><p> library ieee;</p><p> use ieee.std_logic_1164.all; </p><p>
16、 use ieee.std_logic_unsigned.all;</p><p> entity g1 is</p><p> port( data:in std_logic_vector(9 downto 0);clk:in std_logic; </p><p> dout:out std_logic_vector
17、(3 downto 0)); </p><p><b> end g1;</b></p><p> architecture at of g1 is </p><p> signal temp:std_logic_vecto
18、r(3 downto 0);</p><p><b> begin</b></p><p> process(clk)</p><p><b> begin</b></p><p> if clk'event and clk='1' then</p>&
19、lt;p> case data is </p><p> when "0000000001"=>temp<="0001";</p><p> when "0000000010"=>temp<=&quo
20、t;0010";</p><p> when "0000000100"=>temp<="0011";</p><p> when "0000001000"=>temp<="0100";</p><p> when "0000010000&
21、quot;=>temp<="0101";</p><p> when "0000100000"=>temp<="0110";</p><p> when "0001000000"=>temp<="0111";</p><p>
22、 when "0010000000"=>temp<="1000";</p><p> when "0100000000"=>temp<="1001";</p><p> when "1000000000"=>temp<="0000"
23、;</p><p> when others=>temp<="1111";</p><p><b> end case;</b></p><p><b> end if;</b></p><p> end process;</p><p&g
24、t; dout<=temp; </p><p><b> end at;</b></p><p> 2.1.3輸入模塊仿真結(jié)果:</p><p> 2.1.4選擇FILE中creat default symbol選項(xiàng)創(chuàng)建元件符號(hào)如下:</p><p><b> 2.2系統(tǒng)控制模塊</b&g
25、t;</p><p> 密碼鎖的控制電路是整個(gè)電路的控制中心。</p><p> 設(shè)置set為密碼設(shè)置端口,compare為密碼檢驗(yàn)端口,close為關(guān)鎖端口,back為刪除密碼端口,clk1時(shí)鐘輸入端口,db[3..0]為3位數(shù)字輸入端口,sout[15..0]為16位輸出端口,lock密碼鎖狀態(tài)顯示端口。</p><p> 在此電路中每輸一位數(shù),密碼在數(shù)碼
26、管上左移一位。</p><p> 設(shè)置刪除密碼back,每按下一次back,刪除最后輸入的數(shù)字,左邊空處補(bǔ)0。</p><p> 設(shè)置密碼確認(rèn)信號(hào)set,當(dāng)四位密碼輸入完畢,按下set,設(shè)置的密碼被存儲(chǔ)。</p><p> 設(shè)置密碼鎖狀態(tài)信號(hào)lock, lock=0表示鎖未開(kāi),lock=1表示鎖開(kāi)。</p><p> 設(shè)置關(guān)鎖信號(hào)cl
27、ose,按下close,則鎖關(guān)閉。</p><p> 設(shè)置密碼檢驗(yàn)信號(hào)compare,在lock=0下從數(shù)據(jù)開(kāi)關(guān)輸入四位開(kāi)鎖數(shù)字,按下compare,若數(shù)據(jù)等于設(shè)置的密碼或萬(wàn)能密碼,則lock=1。</p><p> 模塊程序流程圖如圖:</p><p> 2.2.1控制部分程序:</p><p> library ieee;
28、 </p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_unsigned.all; </p><p> entity g2 is</p><p> port(
29、set,compare,close,back,clk:in std_logic; </p><p> db:in std_logic_vector(3 downto 0);</p><p> dout:out std_logic_vector(15 downto 0); </p><p> lock:out
30、 std_logic); </p><p><b> end g2; </b></p><p> architecture aa of g2 is </p><p> signal ch:st
31、d_logic;</p><p><b> begin</b></p><p> process(clk,db) </p><p> variable lock1:std_logic;</p><p> variable mima:s
32、td_logic_vector(15 downto 0);</p><p> variable temp1,temp2,temp3,temp4:std_logic_vector(3 downto 0);</p><p><b> begin </b></p><p> ch<=not(db(0) and db(1) and db(
33、2) and db(3)); </p><p> lock1:='0';</p><p> if clk'event and clk='1' then</p><p> if ch='1' then
34、 </p><p> temp4:=temp3; </p><p> temp3:=temp2;</p><p> temp2:=temp1;</p><p> temp1:=db;</p><p><b> end if;</b></p><p>
35、if back='1' then </p><p> temp1:=temp2; </p><p> temp2:=temp3;</p><p> temp3:=temp4;</p><p> temp4:="0000";&l
36、t;/p><p> lock1:='0';</p><p><b> end if;</b></p><p> if set='1' then </p><p> mima:=temp4&
37、temp3&temp2&temp1;</p><p> lock1:='0';</p><p><b> end if;</b></p><p> if compare='1' then </p>
38、;<p> if mima=temp4&temp3&temp2&temp1 then lock1:='1';</p><p> elsif temp4="1000" and temp3="1000" and temp2="1000" and temp1="1000" the
39、n</p><p> lock1:='1'; </p><p><b> end if;</b></p><p><b> end if;</b></p><p> if close ='1' then</p><p> lock1
40、:='0'; </p><p> temp1:="0000";</p><p> temp2:="0000";</p><p> temp3:="0000";</p><p>
41、 temp4:="0000";</p><p><b> end if;</b></p><p><b> end if;</b></p><p> dout<=temp4&temp3&temp2&temp1;</p><p> lock&
42、lt;=lock1;</p><p> end process;</p><p><b> end aa;</b></p><p> 2.2.2控制模塊仿真結(jié)果:</p><p> 2.2.3選擇FILE中creat default symbol選項(xiàng)創(chuàng)建元件符號(hào)如下:</p><p>
43、 3、下載與硬件測(cè)試:</p><p> 根據(jù)實(shí)驗(yàn)箱實(shí)際邏輯器件選擇“Assign”|“Device”|“MAX7000S”|“EPM7128SLC84-6”/【“Assign”|“Device”|“FLEX10K”|“EPF10K10LC84-3”】/【“Assign”|“Device”|“FLEX10KA”|“EPF30AQC208-1”】,并根據(jù)下載板上的標(biāo)識(shí)對(duì)管腳進(jìn)行配置。然后下載,進(jìn)行硬件測(cè)試,檢驗(yàn)結(jié)
44、果是否正確。我選擇的是“Assign”|“Device”|“FLEX10K”|“EPF10K10LC84-3”,管腳安排如下:</p><p> KEY0:K0 KEY1:K2 KEY2:K2 KEY3:K4</p><p> KEY4:K5 KEY5:K6 KEY:6:K7 KEY7:K8</p>
45、<p> KEY8:K9 KEY9:K10</p><p> SET::K11 CLOSE:K12 BACK:K13</p><p> CLK1:K14 COMPARE:K15 LOCK:L4</p><p> 其顯示的方式為靜態(tài)顯示,一次性直接顯示4位密碼,這與動(dòng)態(tài)顯示的原理有較大的不同。本次
46、硬件測(cè)試的結(jié)果正確。</p><p><b> 4、課程設(shè)計(jì)感想:</b></p><p> 做課程設(shè)計(jì)的第一天,我們?cè)诰W(wǎng)上找了一些資料,了解了整體的設(shè)計(jì)思路后,我們決定根據(jù)自己的理解以及網(wǎng)上和參考資料上提供的一些思路,自己編寫(xiě)程序。經(jīng)過(guò)兩天的努力,我們終于寫(xiě)好了自己的程序??墒切量鄬?xiě)出的程序卻漏洞百出,一開(kāi)始由于編寫(xiě)程序時(shí)的粗心大意,以及一些編程方法不懂,導(dǎo)致程
47、序編譯出現(xiàn)很多錯(cuò)誤,經(jīng)過(guò)翻閱資料,我們進(jìn)行了修改,最后雖然程序編譯沒(méi)啥問(wèn)題了,可是仿真波形卻不對(duì)。不管怎么找錯(cuò),我們都覺(jué)得自己的程序沒(méi)有問(wèn)題,所以不知道怎么修改。問(wèn)了很多同學(xué),他們也各自有各自的一些見(jiàn)解,面對(duì)他們不統(tǒng)一的說(shuō)法,我們也不知到底怎么做好。于是請(qǐng)教了老師,在老師的點(diǎn)撥下,我們終于有了自己的思路,于是修改好了自己的程序。最后通過(guò)仿真下載后,準(zhǔn)確無(wú)誤。</p><p> 這次課程設(shè)計(jì)讓我受益匪淺。它給了我
48、們一個(gè)將所學(xué)理論靈活運(yùn)用的機(jī)會(huì),讓我知道光學(xué)習(xí)理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,要將所學(xué)運(yùn)用于實(shí)踐,否則所學(xué)理論就是徒勞的。除此之外,它也讓我深刻體會(huì)到EDA編程的思想,也增加了我好好扎實(shí)學(xué)習(xí)的決心,因?yàn)閷W(xué)的踏實(shí),才更會(huì)靈活運(yùn)用,也讓我明白求學(xué)不僅需要認(rèn)真、踏實(shí)、嚴(yán)謹(jǐn)、細(xì)心、耐心的態(tài)度,而且需要協(xié)作配合,因?yàn)辇嫶蟮墓ぷ鲉慰恳粋€(gè)人的力量是不夠的,人多,思路多,遇到問(wèn)題也能想出更多一個(gè)的解決辦法。此外這次課程設(shè)計(jì)也培養(yǎng)了我思考問(wèn)題,分析問(wèn)題,解決問(wèn)題的
49、能力。最后,感謝老師對(duì)我們的指導(dǎo)。</p><p><b> 5、參考文獻(xiàn)</b></p><p> [1]譚會(huì)生,《EDA技術(shù)及應(yīng)用實(shí)踐》長(zhǎng)沙湖南大學(xué)出版社,2010.9</p><p> [2]潘松,黃繼業(yè)編著.《EDA技術(shù)實(shí)用教程》.清華大學(xué)出版社. 2007</p><p> [3]閻石編著,《
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- eda技術(shù)及應(yīng)用課程設(shè)計(jì)--數(shù)字秒表
- eda技術(shù)課程設(shè)計(jì)報(bào)告
- eda課程設(shè)計(jì)--eda課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告
- eda課程設(shè)計(jì)報(bào)告
- eda課程設(shè)計(jì)報(bào)告
- eda課程設(shè)計(jì)報(bào)告
- eda課程設(shè)計(jì)報(bào)告
- eda技術(shù)及應(yīng)用課程設(shè)計(jì)---交通燈
- eda課程設(shè)計(jì)--eda數(shù)字系統(tǒng)綜合設(shè)計(jì)與實(shí)踐
- eda課程設(shè)計(jì)--eda數(shù)字系統(tǒng)綜合設(shè)計(jì)與實(shí)踐
- eda交通燈課程設(shè)計(jì)報(bào)告(eda)
- eda課程設(shè)計(jì)報(bào)告--eda數(shù)字搶答器
- 《eda技術(shù)》課程設(shè)計(jì)報(bào)告----彩燈控制器
- eda課程設(shè)計(jì)-- eda與數(shù)字系統(tǒng)課程設(shè)計(jì)
- eda數(shù)字秒表課程設(shè)計(jì)報(bào)告
- eda課程設(shè)計(jì)
- eda課程設(shè)計(jì)
- eda課程設(shè)計(jì)
- eda頻率計(jì)課程設(shè)計(jì)報(bào)告
- 游戲機(jī)eda課程設(shè)計(jì)報(bào)告
評(píng)論
0/150
提交評(píng)論