《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應(yīng)用 > 基于VHDL的密碼控制系統(tǒng)設(shè)計方案
基于VHDL的密碼控制系統(tǒng)設(shè)計方案
摘要: 1引言隨著電子技術(shù)和ASIC技術(shù)的發(fā)展.數(shù)字系統(tǒng)設(shè)計向速度快、容量大、體積小、重量輕的趨勢發(fā)展。目前數(shù)字系統(tǒng)設(shè)計可直接面向用戶需求,根據(jù)系統(tǒng)的行為和功能要求,自上而下地逐層完成設(shè)計過程:描述、綜合、優(yōu)化、仿真與驗證,以及器件生成。該設(shè)計過程除系統(tǒng)行為和功能描述外,其他設(shè)計幾乎都由計算機自動完成,從而實現(xiàn)電子設(shè)計自動化(EDA)。這樣大大地縮短了系統(tǒng)的設(shè)計周期,適應(yīng)當今品種多、批量小的電子市場要求,提高了產(chǎn)品的競爭能力。由于電子設(shè)計自動化是采用硬件描述語言描述硬件電路,所以研究硬件語言及仿真、綜合等技術(shù)是電子設(shè)計自動化的首要任務(wù)。本文提出一種利用MAX+plusⅡ開發(fā)軟件環(huán)境和硬件描述語言VHDL的密碼控制系統(tǒng)設(shè)計方案,并對系統(tǒng)的各個模塊進行仿真分析。2VHDL語言特點和基本結(jié)構(gòu)VHDL語言即超高速集成電路硬件描述語言,它是一種用形式化方法描述數(shù)字電路和設(shè)計數(shù)字邏輯系統(tǒng)的語言,特別適合描述復雜的組合邏輯、組運算、狀態(tài)機和真值表。與傳統(tǒng)的門級設(shè)計方法相比,VHDL語言具有以下特點:設(shè)計層次高,用于較復雜的運算時能盡快發(fā)現(xiàn)問題,縮短產(chǎn)品上市時間,從而成本降低;與工藝無關(guān),獨立實現(xiàn),修改方便,系統(tǒng)描述能力強;可讀性好
Abstract:
Key words :

  1 引言

  隨著電子技術(shù)和ASIC技術(shù)的發(fā)展.數(shù)字系統(tǒng)設(shè)計向速度快、容量大、體積小、重量輕的趨勢發(fā)展。目前數(shù)字系統(tǒng)設(shè)計可直接面向用戶需求,根據(jù)系統(tǒng)的行為和功能要求,自上而下地逐層完成設(shè)計過程:描述、綜合、優(yōu)化、仿真與驗證,以及器件生成。該設(shè)計過程除系統(tǒng)行為和功能描述外,其他設(shè)計幾乎都由計算機自動完成,從而實現(xiàn)電子設(shè)計自動化(EDA)。這樣大大地縮短了系統(tǒng)的設(shè)計周期,適應(yīng)當今品種多、批量小的電子市場要求,提高了產(chǎn)品的競爭能力。由于電子設(shè)計自動化是采用硬件描述語言描述硬件電路,所以研究硬件語言及仿真、綜合等技術(shù)是電子設(shè)計自動化的首要任務(wù)。

       本文提出一種利用MAX+plusⅡ開發(fā)軟件環(huán)境和硬件描述語言VHDL密碼控制系統(tǒng)設(shè)計方案,并對系統(tǒng)的各個模塊進行仿真分析。

  2 VHDL語言特點和基本結(jié)構(gòu)

  VHDL語言即超高速集成電路硬件描述語言,它是一種用形式化方法描述數(shù)字電路和設(shè)計數(shù)字邏輯系統(tǒng)的語言,特別適合描述復雜的組合邏輯、組運算、狀態(tài)機和真值表。與傳統(tǒng)的門級設(shè)計方法相比,VHDL語言具有以下特點:

  設(shè)計層次高,用于較復雜的運算時能盡快發(fā)現(xiàn)問題,縮短產(chǎn)品上市時間,從而成本降低;與工藝無關(guān),獨立實現(xiàn),修改方便,系統(tǒng)描述能力強;可讀性好,有利于交流,適合文檔保存;VHDL標準、規(guī)范并且可移植性強:VHDL類型多且支持用戶自定義類型,也支持自頂向下的設(shè)計方法和多種電路設(shè)計。

  VHDL語言程序設(shè)計的基本語法結(jié)構(gòu)如下:

  

VHDL語言程序設(shè)計的基本語法結(jié)構(gòu) www.elecfans.com

 

  [next]

  3 系統(tǒng)設(shè)計分析

  密碼控制系統(tǒng)包括鍵盤、控制器和顯示器等三部分,如圖1所示。

  

密碼控制系統(tǒng) www.elecfans.com

 

  4位密碼控制系統(tǒng)設(shè)計能實現(xiàn)如下功能:密碼驗證功能:即用戶使用鍵盤輸入4位密碼后,按#鍵確認。如果輸入密碼正確則輸出000l;如果密碼錯誤則輸出00000密碼更改功能:當用戶輸入密碼正確后,可在此基礎(chǔ)上更改密碼,即繼續(xù)輸入4位密碼,按+鍵確認,該輸入為新密碼。如果密碼更改成功,則輸出1000;作為整體,控制模塊有2個輸入,即時鐘信號和鍵盤按鍵信號;兩個輸出,即鍵盤掃描信號和結(jié)果顯示信號,具體如圖l所示。該控制模塊總共包括分頻子模塊、鍵盤掃描子模塊、鍵盤譯碼子模塊、控制子模塊以及輸出顯示子模塊,下面分別對各個模塊進行編程仿真。

  3.1 分頻子模塊

  分頻子模塊將時鐘分頻為系統(tǒng)所需頻率的時鐘信號。通過觸發(fā)器的級聯(lián)實現(xiàn)分頻電路模塊,且級聯(lián)的觸發(fā)器級數(shù)不同,分頻也不同。級數(shù)越多頻率越低,并按照一定的規(guī)律而降低,即頻率隨級數(shù)的增加以分比為l/2的速率降低。本系統(tǒng)設(shè)計采用VHDL語言實現(xiàn)分頻,其仿真如圖2所示。由圖2可以看出,CLK—A、CLK—B、VLK—B0和CLK—Bl的頻率成倍遞減。

  

 

  3.2 鍵盤掃描子模塊

  該模塊通過分頻子模塊提供的分頻信號,逐周期掃描鍵盤的每一行,其信號分別是lll0、110l、lOll和0111,如此循環(huán).即逐周期選中鍵盤的第一列、第二列、第三列和第四列,實現(xiàn)仿真如圖3所示。由圖3看出,CLK_SCAN 4位信號中0的位置代表鍵盤的列位置。

  

 

  3.3 譯碼子模塊

  利用鍵盤掃描子模塊,讀取鍵盤的輸入信號,判斷哪一個按鍵被按下,仿真如圖4所示。由圖4看出,_KEYBOARD是掃描周期,C是鍵盤按鍵后的輸出信號值;FLAG_NUMB表示按下的是數(shù)字鍵(值為1),OUT_NUMB表示按下的鍵號,其中15表示功能鍵(#鍵和*鍵);其余數(shù)字即為其相應(yīng)號碼鍵。FLAG FUNC表示按下的是功能鍵(值為1);OUT FUNC表示其按鍵值,0100表示*鍵,000l表示#鍵,1000表示數(shù)字鍵。

  3.4 控制子模塊

  由于控制子模塊無法單獨仿真,只能和其他模塊一起才能工作,所以無單獨仿真圖。其功能是獲取鍵盤輸入,按規(guī)則進行判斷并完成相應(yīng)操作(正確、錯誤、設(shè)置密碼、輸出結(jié)果等)。

  3.5 總體仿真

  圖5所示為系統(tǒng)總體仿真圖,以下說明圖5中的信號含義:CLK_SCAN為鍵盤掃描信號,指出當前掃描鍵盤的第幾行;KEY_IN為鍵盤按鍵輸入信號,指出當前掃描行的哪一按鍵被按下:SHOW為判斷結(jié)果,0表示密碼不匹配、1表示密碼正確、8表示修改密碼成功。ACC為內(nèi)部移位寄存器。臨時存儲4個4位二進制數(shù),用于暫存用戶輸入的密碼;REG為內(nèi)部移位寄存器,臨時存儲4個4位二進制數(shù),用于保存密碼;NC為內(nèi)部信號,用于表示當前已輸入數(shù)據(jù)數(shù).或者表示用戶按數(shù)字鍵的次數(shù)。

  根據(jù)圖5所示的總體仿真圖,可導出密碼控制系統(tǒng)電路,如圖6所示。

  

 

  4 結(jié)語

  本系統(tǒng)設(shè)計是通過自動調(diào)用MAX-7000S系列的EPM7128SLC84-6型EPGA器件來實現(xiàn)。并且通過系統(tǒng)總體仿真圖能看出設(shè)計的密碼控制系統(tǒng)完全符合要求。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。