




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、摘要EDA 技術(shù)的應(yīng)用引起了電子產(chǎn)品系統(tǒng)開(kāi)發(fā)的革命性變革。利用先進(jìn)的EDA 工具,基于硬件描述語(yǔ)言,可以進(jìn)行系統(tǒng)級(jí)數(shù)字邏輯電路的設(shè)計(jì)。本文簡(jiǎn)述了VHDL語(yǔ)言的功能及其特點(diǎn),并以4位串行手機(jī)鍵盤(pán)電子密碼鎖設(shè)計(jì)為例,介紹了一種在Quartus6.0開(kāi)發(fā)軟件下,基于VHDL 硬件描述語(yǔ)言的復(fù)雜可編程邏輯器件(CPLD)的新型電子密碼鎖設(shè)計(jì)方法,闡述了其工作原理和軟硬件設(shè)計(jì)方法。該密碼鎖通過(guò)掃描電路、鍵盤(pán)譯碼電路、彈跳消除電路、控制電路和七段譯碼電路等實(shí)現(xiàn)了密碼輸入、數(shù)碼清除、密碼激活、電鎖解除、密碼更改和誤碼報(bào)警等功能。本論文對(duì)該密碼鎖的程序進(jìn)行了功能和時(shí)序仿真,結(jié)果表明該密碼鎖的功能滿(mǎn)足設(shè)計(jì)要求,
2、能夠?qū)崿F(xiàn)正常開(kāi)鎖、上鎖和修改密碼。該密碼鎖體積小、功耗低、易于維護(hù)和升級(jí),有很好的市場(chǎng)前景。關(guān)鍵詞:EDA,VHDL,F(xiàn)PGA,Quartus,電子密碼鎖IIIAbstractABSTRACTElectronic product and system development are being changed revolutionarily with EDA technology. We can design all kinds of digital logical circuits with advanced EDA tools and VHDL. The paper introduces
3、the function and characteristic of programming of VHDL language briefly. Taking the design of the serial 4-bit electron coded lock for example, this paper introduces a new way to design electron coded lock with CPLD and Quartus6.0 as development software and VHDL as hardware description language. It
4、s operating principles and the designing methods of hardware and software are explained in this article. This coded lock can perform the following functions, such as code input, code clear, code activating, code releasing, code correcting and wrong code alarming by scanning circuit, keyboard decode
5、circuit, bounce eliminating circuit, control circuit. The functional and timing simulations are made. The results show that the design specification of the electronic coded lock is met and the unlock/lock and code correcting can be realized .This new electron coded lock has small size, low power. It
6、s maintenance and upgrade are very convenient. And it has a better application prospect.Keywords: EDA , VHDL , FPGA, Quartus, Electron coded lock目錄目錄第1章 引言11.1 課題背景11.2 國(guó)內(nèi)外研究現(xiàn)狀21.3 課題主要研究工作2第2章 EDA技術(shù)與VHDL語(yǔ)言簡(jiǎn)介32.1 EDA技術(shù)32.1.1 EDA技術(shù)的發(fā)展32.1.2 EDA技術(shù)的基本設(shè)計(jì)方法52.2 VHDL簡(jiǎn)介62.2.1 VHDL語(yǔ)言62.2.2 VHDL語(yǔ)言的特點(diǎn)9第3章 CPL
7、D/FPGA硬件平臺(tái)103.1 可編程邏輯器件的發(fā)展歷史及概述103.2 FPGA/CPLD 概述113.3 CPLD工作原理123.4 FPGA工作原理13第4章 系統(tǒng)的原理設(shè)計(jì)144.1 系統(tǒng)設(shè)計(jì)要求144.2 系統(tǒng)設(shè)計(jì)方案144.2.1 密碼鎖輸入電路的設(shè)計(jì)174.2.2 密碼鎖控制電路的設(shè)計(jì)234.2.3 密碼鎖顯示電路的設(shè)計(jì)244.3 密碼鎖的整體組裝設(shè)計(jì)25第5章 系統(tǒng)的程序?qū)崿F(xiàn)265.1 鍵盤(pán)輸入去抖電路的VHDL源程序265.2 密碼鎖輸入電路的VHDL源程序295.3 密碼鎖控制電路的VHDL源程序345.4 密碼鎖顯示電路的VHDL源程序38第6章 系統(tǒng)仿真分析及硬件驗(yàn)證4
8、06.1 系統(tǒng)仿真分析406.1.1 鍵盤(pán)輸入去抖電路的仿真406.1.2 密碼鎖輸入電路的仿真406.1.3 密碼鎖控制電路的仿真416.1.4 密碼鎖顯示電路的仿真436.2 系統(tǒng)硬件驗(yàn)證44第7章 小結(jié)48參考文獻(xiàn)49致謝50第1章 引言第1章 引言1.1 課題背景自古以來(lái),鎖具都是人們心目中的“鐵將軍”,隨著社會(huì)物質(zhì)財(cái)富的日益增長(zhǎng)和人們生活水平的不斷提高,人們對(duì)它要求也越來(lái)越高,即要安全可靠,又要使用方便。傳統(tǒng)的機(jī)械鎖由于其密碼量少,構(gòu)造簡(jiǎn)單,安全性差,結(jié)構(gòu)上的局限已難以滿(mǎn)足當(dāng)前社會(huì)管理和防盜要求,特別是在人員經(jīng)常變動(dòng)的公共場(chǎng)所,如辦公室、賓館、倉(cāng)庫(kù)等地方。電子密碼鎖是集計(jì)算機(jī)技術(shù)、電
9、子技術(shù)、數(shù)字密碼技術(shù)為一體的機(jī)電一體化高科技產(chǎn)品,由于其保密性高,使用靈活性好,安全系數(shù)高,受到了廣大用戶(hù)的親呢。而目前大部分電子密碼鎖采用單片機(jī)進(jìn)行設(shè)計(jì),電路比較復(fù)雜,性能不夠靈活,其成本高且可靠性較差。因此,密碼鎖的安全性和實(shí)用性一直是鎖具的制造者長(zhǎng)期以來(lái)研究的主題。電子密碼鎖是在實(shí)際應(yīng)用中使用得極其廣泛的一種數(shù)字電路,它的主要功能是用來(lái)對(duì)某些物品進(jìn)行加密保護(hù),目的是避免無(wú)權(quán)人員使用某些設(shè)施或者進(jìn)行越權(quán)操作,例如銀行自動(dòng)柜員機(jī)、自動(dòng)售貨機(jī)、門(mén)卡系統(tǒng)或者保險(xiǎn)柜中都含有這種數(shù)字密碼鎖。在電子技術(shù)飛速發(fā)展的今天,具有防盜報(bào)警等功能的電子密碼鎖代替彈子鎖和密碼量少、安全性差的機(jī)械式密碼鎖已是必然趨
10、勢(shì)。電子密碼鎖具有機(jī)械鎖無(wú)可比擬的優(yōu)越性,它不但可以完成鎖本身的功能,還可以兼有多種功能,如記憶、識(shí)別、報(bào)警等,電子密碼鎖以其安全性高、成本低、功耗低、易操作等優(yōu)點(diǎn)受到越來(lái)越多人的歡迎。通常不同系統(tǒng)中的電子密碼鎖具有不同的功能和操作過(guò)程,但基本是相同的,首先輸入密碼,然后系統(tǒng)進(jìn)行密碼驗(yàn)證,最后根據(jù)密碼驗(yàn)證的結(jié)果來(lái)進(jìn)行不同的操作。運(yùn)用大規(guī)模、超大規(guī)??删幊踢壿嬈骷cEDA(電子設(shè)計(jì)自動(dòng)化)技術(shù)已經(jīng)成為現(xiàn)代數(shù)字技術(shù)發(fā)展的潮流,20世紀(jì)90年代,集成電路產(chǎn)業(yè)銷(xiāo)售額增長(zhǎng)最快的產(chǎn)業(yè)是現(xiàn)場(chǎng)可編程邏輯集成電路。HDL非常適用于可編程邏輯器件的應(yīng)用設(shè)計(jì)。尤其在大容量CPLD和FPGA的應(yīng)用設(shè)計(jì)中,若采用以往的
11、布爾方程或門(mén)級(jí)描述方式,很難快速有效地完成。VHDL 能提供高級(jí)語(yǔ)言結(jié)構(gòu),方便地描述大型電路,快速地完成設(shè)計(jì)。它支持設(shè)計(jì)單元庫(kù)的創(chuàng)建,以存儲(chǔ)設(shè)計(jì)中重復(fù)使用的元件。它是一種標(biāo)準(zhǔn)語(yǔ)言,它的設(shè)計(jì)描述可被不同的工具所支持,可用不同器件來(lái)實(shí)現(xiàn)。1.2 國(guó)內(nèi)外研究現(xiàn)狀據(jù)有關(guān)資料介紹,電子密碼鎖的研究從20世紀(jì)30年代就開(kāi)始了,在一些特殊場(chǎng)所早就有所應(yīng)用。這種鎖是通過(guò)鍵盤(pán)輸入一組密碼,完成開(kāi)鎖過(guò)程。研究這種鎖的初衷,就是為提高鎖具的安全性。由于電子鎖的密鑰量(密碼量)極大,可以與機(jī)械鎖配合使用,并且可以避免因鑰匙被仿制而留下安全隱患。電子鎖只需記住一組密碼,無(wú)需攜帶金屬鑰匙,免除了人們攜帶金屬鑰匙的煩惱,而
12、被越來(lái)越多的人所欣賞、電子鎖的種類(lèi)繁多,例如數(shù)碼鎖,指紋鎖,磁卡鎖,IC卡鎖,生物鎖等。但較實(shí)用的還是按鍵式電子密碼鎖。20世紀(jì)80年代后,隨著電子鎖專(zhuān)用集成電路的出現(xiàn),電子鎖的體積縮小,可靠性提高,成本較高,只適合使用在安全性要求較高的場(chǎng)合,且需要有電源提供能量,使用還局限在一定范圍,難以普及,所以對(duì)它的研究一直沒(méi)有明顯進(jìn)展。目前,在西方發(fā)達(dá)國(guó)家,電子密碼鎖己被廣泛應(yīng)用于智能門(mén)禁系統(tǒng)中,通過(guò)多種更加安全,更加可靠的技術(shù)實(shí)現(xiàn)大門(mén)的管理。在我國(guó)電子密碼鎖的成本還很高,應(yīng)用還不廣泛。希望通過(guò)不斷的努力,使電子密碼鎖在我國(guó)也能得到廣泛應(yīng)用。目前市場(chǎng)上的幾類(lèi)密碼鎖都存在不同程度的缺陷:操作繁瑣;密碼輸
13、入不易;密碼量少;無(wú)法實(shí)現(xiàn)聲音報(bào)警功能;也無(wú)法拒絕非法用戶(hù)多次嘗試。1.3 課題主要研究工作近年來(lái),電子密碼鎖的使用越來(lái)越廣泛,目前使用的電子密碼鎖大部分是基于單片機(jī)用分離元件實(shí)現(xiàn)的,其電路比較復(fù)雜、性能不夠靈活、成本較高且可靠性和安全性差?;诖?,為了克服當(dāng)前市面上的密碼鎖的不足以滿(mǎn)足用戶(hù)的不同需求,本設(shè)計(jì)采用先進(jìn)的EDA技術(shù)和VHDL語(yǔ)言,在Quartus環(huán)境下, 采用CPLD(復(fù)雜可編程邏輯芯片)為核心器件的新型電子密碼鎖的設(shè)計(jì)方法,該電子密碼鎖具有密碼預(yù)置、誤碼報(bào)警和萬(wàn)能密碼等功能、體積小、功耗底、價(jià)格便宜、安全可靠,維護(hù)和升級(jí)都十分方便;具有較好的應(yīng)用前景。本課題要完成的主要任務(wù)是基
14、于VHDL語(yǔ)言的電子密碼鎖的設(shè)計(jì)和具體的實(shí)現(xiàn),重點(diǎn)完成各個(gè)模塊的設(shè)計(jì),并保證整個(gè)系統(tǒng)的穩(wěn)定性、可靠性和擴(kuò)展性,充分考慮后續(xù)階段的開(kāi)發(fā)。3第2章 EDA技術(shù)與VHDL語(yǔ)言簡(jiǎn)介第2章 EDA技術(shù)與VHDL語(yǔ)言簡(jiǎn)介2.1 EDA技術(shù)2.1.1 EDA技術(shù)的發(fā)展EDA是電子設(shè)計(jì)自動(dòng)化(Electronic Design Automation)的縮寫(xiě),在20世紀(jì)90年代初從計(jì)算機(jī)輔助設(shè)計(jì)(CAD)、計(jì)算機(jī)輔助制造(CAM)、計(jì)算機(jī)輔助測(cè)試(CAT)和計(jì)算機(jī)輔助工程(CAE)的概念發(fā)展而來(lái)的。EDA技術(shù)就是以計(jì)算機(jī)為工具,設(shè)計(jì)者在EDA軟件平臺(tái)上,用硬件描述語(yǔ)言VHDL完成設(shè)計(jì)文件,然后由計(jì)算機(jī)自動(dòng)地完成
15、邏輯編譯、化簡(jiǎn)、分割、綜合、優(yōu)化、布局、布線和仿真,直至對(duì)于特定目標(biāo)芯片的適配編譯、邏輯映射和編程下載等工作。EDA技術(shù)的出現(xiàn),極大地提高了電路設(shè)計(jì)的效率和可靠性,減輕了設(shè)計(jì)者的勞動(dòng)強(qiáng)度。人類(lèi)社會(huì)已進(jìn)入到高度發(fā)達(dá)的信息化社會(huì),信息社會(huì)的發(fā)展離不開(kāi)電子產(chǎn)品的進(jìn)步。現(xiàn)代電子產(chǎn)品在性能提高、復(fù)雜度增大的同時(shí),價(jià)格卻一直呈下降趨勢(shì),而且產(chǎn)品更新?lián)Q代的步伐也越來(lái)越快,實(shí)現(xiàn)這種進(jìn)步的主要原因就是生產(chǎn)制造技術(shù)和電子設(shè)計(jì)技術(shù)的發(fā)展。前者以微細(xì)加工技術(shù)為代表,目前已進(jìn)展到深亞微米階段,可以在幾平方厘米的芯片上集成數(shù)千萬(wàn)個(gè)晶體管;后者的核心就是EDA技術(shù)。EDA是指以計(jì)算機(jī)為工作平臺(tái),融合了應(yīng)用電子技術(shù)、計(jì)算機(jī)技
16、術(shù)、智能化技術(shù)最新成果而研制成的電子CAD通用軟件包,主要能輔助進(jìn)行三方面的設(shè)計(jì)工作:IC設(shè)計(jì)、電子電路設(shè)計(jì)以及PCB設(shè)計(jì)。沒(méi)有EDA技術(shù)的支持,想要完成上述超大規(guī)模集成電路的設(shè)計(jì)制造是不可想象的,反過(guò)來(lái),生產(chǎn)制造技術(shù)的不斷進(jìn)步又必將對(duì)EDA技術(shù)提出新的要求?;仡櫧?0年電子設(shè)計(jì)技術(shù)的發(fā)展歷程,可將EDA技術(shù)分為三個(gè)階段。七十年代為CAD階段,這一階段人們開(kāi)始用計(jì)算機(jī)輔助進(jìn)行IC版圖編輯和PCB布局布線,取代了手工操作,產(chǎn)生了計(jì)算機(jī)輔助設(shè)計(jì)的概念。八十年代為CAE階段,與CAD相比,除了純粹的圖形繪制功能外,又增加了電路功能設(shè)計(jì)和結(jié)構(gòu)設(shè)計(jì),并且通過(guò)電氣連接網(wǎng)絡(luò)表將兩者結(jié)合在一起,以實(shí)現(xiàn)工程設(shè)計(jì)
17、,這就是計(jì)算機(jī)輔助工程的概念。CAE的主要功能是:原理圖輸入,邏輯仿真,電路分析,自動(dòng)布局布線,PCB后分析。九十年代為ESDA階段。盡管CAD/CAE技術(shù)取得了巨大的成功,但并沒(méi)有把人從繁重的設(shè)計(jì)工作中徹底解放出來(lái)。在整個(gè)設(shè)計(jì)過(guò)程中,自動(dòng)化和智能化程度還不高,各種EDA軟件界面千差萬(wàn)別,學(xué)習(xí)使用困難,并且互不兼容,直接影響到設(shè)計(jì)環(huán)節(jié)間的銜接?;谝陨喜蛔悖藗冮_(kāi)始追求貫徹整個(gè)設(shè)計(jì)過(guò)程的自動(dòng)化,這就是ESDA即電子系統(tǒng)設(shè)計(jì)自動(dòng)化。ESDA代表了當(dāng)今電子設(shè)計(jì)技術(shù)的最新發(fā)展方向,它的基本特征是:設(shè)計(jì)人員按照"自頂向下"的設(shè)計(jì)方法,對(duì)整個(gè)系統(tǒng)進(jìn)行方案設(shè)計(jì)和功能劃分,系統(tǒng)的關(guān)鍵電路
18、用一片或幾片專(zhuān)用集成電路(ASIC)實(shí)現(xiàn),然后采用硬件描述語(yǔ)言(HDL)完成系統(tǒng)行為級(jí)設(shè)計(jì),最后通過(guò)綜合器和適配器生成最終的目標(biāo)器件。這樣的設(shè)計(jì)方法被稱(chēng)為高層次的電子設(shè)計(jì)方法。下面介紹與ESDA基本特征有關(guān)的幾個(gè)概念。 (1) “自頂向下”的設(shè)計(jì)方法 10年前,電子設(shè)計(jì)的基本思路還是選擇標(biāo)準(zhǔn)集成電路“自底向上”(Bottom-Up)地構(gòu)造出一個(gè)新的系統(tǒng),這樣的設(shè)計(jì)方法就如同一磚一瓦地建造金字塔,不僅效率低、成本高而且還容易出錯(cuò)。高層次設(shè)計(jì)給我們提供了一種“自頂向下”(Top-Down)的全新的設(shè)計(jì)方法,這種設(shè)計(jì)方法首先從系統(tǒng)設(shè)計(jì)入手,在頂層進(jìn)行功能方框圖的劃分和結(jié)構(gòu)設(shè)計(jì)。在方框圖一級(jí)進(jìn)行仿真、
19、糾錯(cuò),并用硬件描述語(yǔ)言對(duì)高層次的系統(tǒng)行為進(jìn)行描述,在系統(tǒng)一級(jí)進(jìn)行驗(yàn)證。然后用綜合優(yōu)化工具生成具體門(mén)電路的網(wǎng)表,其對(duì)應(yīng)的物理實(shí)現(xiàn)級(jí)可以是印刷電路板或?qū)S眉呻娐贰S捎谠O(shè)計(jì)的主要仿真和調(diào)試過(guò)程是在高層次上完成的,這不僅有利于早期發(fā)現(xiàn)結(jié)構(gòu)設(shè)計(jì)上的錯(cuò)誤,避免設(shè)計(jì)工作的浪費(fèi),而且也減少了邏輯功能仿真的工作量,提高了設(shè)計(jì)的一次成功率。(2) ASIC設(shè)計(jì)現(xiàn)代電子產(chǎn)品的復(fù)雜度日益加深,一個(gè)電子系統(tǒng)可能由數(shù)萬(wàn)個(gè)中小規(guī)模集成電路構(gòu)成,這就帶來(lái)了體積大、功耗大、可靠性差的問(wèn)題,解決這一問(wèn)題的有效方法就是采用ASIC(Application Specific Integrated Circuits)芯片進(jìn)行設(shè)計(jì)。A
20、SIC按照設(shè)計(jì)方法的不同可分為:全定制ASIC,半定制ASIC,可編程ASIC(也稱(chēng)為可編程邏輯器件)。設(shè)計(jì)全定制ASIC芯片時(shí),設(shè)計(jì)師要定義芯片上所有晶體管的幾何圖形和工藝規(guī)則,最后將設(shè)計(jì)結(jié)果交由IC廠家掩膜制造完成。優(yōu)點(diǎn)是:芯片可以獲得最優(yōu)的性能,即面積利用率高、速度快、功耗低。缺點(diǎn)是:開(kāi)發(fā)周期長(zhǎng),費(fèi)用高,只適合大批量產(chǎn)品開(kāi)發(fā)。半定制ASIC芯片的版圖設(shè)計(jì)方法有所不同,分為門(mén)陣列設(shè)計(jì)法和標(biāo)準(zhǔn)單元設(shè)計(jì)法,這兩種方法都是約束性的設(shè)計(jì)方法,其主要目的就是簡(jiǎn)化設(shè)計(jì),以犧牲芯片性能為代價(jià)來(lái)縮短開(kāi)發(fā)時(shí)間??删幊踢壿嬓酒c上述掩膜ASIC的不同之處在于:設(shè)計(jì)人員完成版圖設(shè)計(jì)后,在實(shí)驗(yàn)室內(nèi)就可以燒制出自己
21、的芯片,無(wú)須IC廠家的參與,大大縮短了開(kāi)發(fā)周期??删幊踢壿嬈骷云呤甏詠?lái),經(jīng)歷了PAL、GAL、CPLD、FPGA幾個(gè)發(fā)展階段,其中 CPLD/FPGA屬高密度可編程邏輯器件,目前集成度已高達(dá)200萬(wàn)門(mén)/片,它將掩膜ASIC集成度高的優(yōu)點(diǎn)和可編程邏輯器件設(shè)計(jì)生產(chǎn)方便的特點(diǎn)結(jié)合在一起,特別適合于樣品研制或小批量產(chǎn)品開(kāi)發(fā),使產(chǎn)品能以最快的速度上市,而當(dāng)市場(chǎng)擴(kuò)大時(shí),它可以很容易的轉(zhuǎn)由掩膜ASIC實(shí)現(xiàn),因此開(kāi)發(fā)風(fēng)險(xiǎn)也大為降低。上述ASIC芯片,尤其是CPLD/FPGA器件,已成為現(xiàn)代高層次電子設(shè)計(jì)方法的實(shí)現(xiàn)載體。2.1.2 EDA技術(shù)的基本設(shè)計(jì)方法 EDA技術(shù)的每一次進(jìn)步,都引起了設(shè)計(jì)層次上的一個(gè)
22、飛躍。物理級(jí)設(shè)計(jì)主要指IC版圖設(shè)計(jì),一般由半導(dǎo)體廠家完成,對(duì)電子工程師并沒(méi)有太大的意義,因此本文重點(diǎn)介紹電路級(jí)設(shè)計(jì)和系統(tǒng)級(jí)設(shè)計(jì)。(1) 電路級(jí)設(shè)計(jì)電子工程師接受系統(tǒng)設(shè)計(jì)任務(wù)后,首先確定設(shè)計(jì)方案,同時(shí)要選擇能實(shí)現(xiàn)該方案的合適元器件,然后根據(jù)具體的元器件設(shè)計(jì)電路原理圖。接著進(jìn)行第一次仿真,包括數(shù)字電路的邏輯模擬、故障分析、模擬電路的交直流分析、瞬態(tài)分析。系統(tǒng)在進(jìn)行仿真時(shí),必須要有元件模型庫(kù)的支持,計(jì)算機(jī)上模擬的輸入輸出波形代替了實(shí)際電路調(diào)試中的信號(hào)源和示波器。這一次仿真主要是檢驗(yàn)設(shè)計(jì)方案在功能方面的正確性。仿真通過(guò)后,根據(jù)原理圖產(chǎn)生的電氣連接網(wǎng)絡(luò)表進(jìn)行PCB板的自動(dòng)布局布線。在制作PCB板之前還可
23、以進(jìn)行后分析,包括熱分析、噪聲及竄擾分析、電磁兼容分析、可靠性分析等,并且可以將分析后的結(jié)果參數(shù)反標(biāo)回電路圖,進(jìn)行第二次仿真,也稱(chēng)為后仿真,這一次仿真主要是檢驗(yàn)PCB板在實(shí)際工作環(huán)境中的可行性。由此可見(jiàn),電路級(jí)的EDA技術(shù)使電子工程師在實(shí)際的電子系統(tǒng)產(chǎn)生之前,就可以全面地了解系統(tǒng)的功能特性和物理特性,從而將開(kāi)發(fā)過(guò)程中出現(xiàn)的缺陷消滅在設(shè)計(jì)階段,不僅縮短了開(kāi)發(fā)時(shí)間,也降低了開(kāi)發(fā)成本。(2) 系統(tǒng)級(jí)設(shè)計(jì)進(jìn)入90年代以來(lái),電子信息類(lèi)產(chǎn)品的開(kāi)發(fā)出現(xiàn)了兩個(gè)明顯的特點(diǎn):一是產(chǎn)品的復(fù)雜程度加深,二是產(chǎn)品的上市時(shí)限緊迫。然而電路級(jí)設(shè)計(jì)本質(zhì)上是基于門(mén)級(jí)描述的單層次設(shè)計(jì),設(shè)計(jì)的所有工作(包括設(shè)計(jì)輸入,仿真和分析,設(shè)
24、計(jì)修改等)都是在基本邏輯門(mén)這一層次上進(jìn)行的,顯然這種設(shè)計(jì)方法不能適應(yīng)新的形勢(shì),為此引入了一種高層次的電子設(shè)計(jì)方法,也稱(chēng)為系統(tǒng)級(jí)的設(shè)計(jì)方法。高層次設(shè)計(jì)是一種“概念驅(qū)動(dòng)式”設(shè)計(jì),設(shè)計(jì)人員無(wú)須通過(guò)門(mén)級(jí)原理圖描述電路,而是針對(duì)設(shè)計(jì)目標(biāo)進(jìn)行功能描述,由于擺脫了電路細(xì)節(jié)的束縛,設(shè)計(jì)人員可以把精力集中于創(chuàng)造性的概念構(gòu)思與方案上,一旦這些概念構(gòu)思以高層次描述的形式輸入計(jì)算機(jī)后,EDA系統(tǒng)就能以規(guī)則驅(qū)動(dòng)的方式自動(dòng)完成整個(gè)設(shè)計(jì)。這樣,新的概念得以迅速有效的成為產(chǎn)品,大大縮短了產(chǎn)品的研制周期。不僅如此,高層次設(shè)計(jì)只是定義系統(tǒng)的行為特性,可以不涉及實(shí)現(xiàn)工藝,在廠家綜合庫(kù)的支持下,利用綜合優(yōu)化工具可以將高層次描述轉(zhuǎn)換成
25、針對(duì)某種工藝優(yōu)化的網(wǎng)表,工藝轉(zhuǎn)化變得輕松容易。EDA技術(shù)是電子設(shè)計(jì)領(lǐng)域的一場(chǎng)革命,目前正處于高速發(fā)展階段,每年都有新的EDA工具問(wèn)世。2.2 VHDL簡(jiǎn)介2.2.1 VHDL語(yǔ)言硬件描述語(yǔ)言(HDL-Hardware Description Language)是一種用于設(shè)計(jì)硬件電子系統(tǒng)的計(jì)算機(jī)語(yǔ)言,它用軟件編程的方式來(lái)描述電子系統(tǒng)的邏輯功能、電路結(jié)構(gòu)和連接形式,與傳統(tǒng)的門(mén)級(jí)描述方式相比,它更適合大規(guī)模系統(tǒng)的設(shè)計(jì),而且VHDL語(yǔ)言可讀性強(qiáng),易于修改和發(fā)現(xiàn)錯(cuò)誤。HDL是電子系統(tǒng)硬件行為描述、結(jié)構(gòu)描述、數(shù)據(jù)流描述的語(yǔ)言。目前利用硬件描述語(yǔ)言可以進(jìn)行數(shù)字電子系統(tǒng)的設(shè)計(jì)。隨著研究的深入,利用硬件描述語(yǔ)言
26、進(jìn)行模擬電子系統(tǒng)設(shè)計(jì)或混合電子系統(tǒng)設(shè)計(jì),也正在探索中。硬件描述的語(yǔ)言種類(lèi)很多,有的從PASCAL發(fā)展而來(lái),也有一些從C語(yǔ)言發(fā)展而來(lái)。有些HDL成為IEEE標(biāo)準(zhǔn),但大部分是本企業(yè)標(biāo)準(zhǔn)。HDL發(fā)展的技術(shù)源頭是:在HDL形成發(fā)展之前,已有了許多程序設(shè)計(jì)語(yǔ)言,如匯編、C、PASCAL、FORTRAN、PROLOG等。這些語(yǔ)言運(yùn)行在不同硬件平臺(tái)、不同的操作環(huán)境中,它們適合于描述過(guò)程和算法,不適合作硬件描述。在利用EDA工具進(jìn)行電子設(shè)計(jì)時(shí),邏輯圖、分立電子元件作為整個(gè)越來(lái)越復(fù)雜的電子系統(tǒng)的設(shè)計(jì)已不適用。任何一種EDA工具,都需要一種硬件描述語(yǔ)言作為EDA工具的工作語(yǔ)言。早期的硬件描述語(yǔ)言,如ABEL-HD
27、L、AHDL,是由不同的EDA廠商開(kāi)發(fā)的,互相不兼容,而且不支持多層次設(shè)計(jì),層次間翻譯工作要由人工完成。為了克服以上缺陷,1985年美國(guó)國(guó)防部正式推出了VHDL(Very High Speed IC Hardware Description Language)語(yǔ)言,即超高速集成電路硬件描述語(yǔ)言;1987年IEEE采納VHDL為硬件描述語(yǔ)言標(biāo)準(zhǔn)(IEEESTD-1076)。VHDL是一種全方位的硬件描述語(yǔ)言,包括系統(tǒng)行為級(jí)、寄存器傳輸級(jí)和邏輯門(mén)級(jí)多個(gè)設(shè)計(jì)層次,支持結(jié)構(gòu)、數(shù)據(jù)流、行為三種描述形式的混合描述,因此VHDL幾乎覆蓋了以往各種硬件描述語(yǔ)言的功能,整個(gè)自頂向下或自底向上的電路設(shè)計(jì)過(guò)程都可以
28、用VHDL來(lái)完成。另外,VHDL還具有以下優(yōu)點(diǎn):VHDL的寬范圍描述能力使它成為高層次設(shè)計(jì)的核心,將設(shè)計(jì)人員的工作重心提高到了系統(tǒng)功能的實(shí)現(xiàn)與調(diào)試,只需花較少的精力用于物理實(shí)現(xiàn)。VHDL可以用簡(jiǎn)潔明確的代碼描述來(lái)進(jìn)行復(fù)雜控制邏輯的設(shè)計(jì),靈活且方便,而且也便于設(shè)計(jì)結(jié)果的交流、保存和重用。VHDL的設(shè)計(jì)不依賴(lài)于特定的器件,方便了工藝的轉(zhuǎn)換。VHDL是一個(gè)標(biāo)準(zhǔn)語(yǔ)言,為眾多的EDA廠商支持,因此移植性好。目前數(shù)字系統(tǒng)的設(shè)計(jì)可以直接面向用戶(hù)需求,根據(jù)系統(tǒng)的行為和功能要求 ,自上而下地逐層完成相應(yīng)的描述、綜合、優(yōu)化、仿真與驗(yàn)證,直到生成器件,實(shí)現(xiàn)電子設(shè)計(jì)自動(dòng)化。其中電子設(shè)計(jì)自動(dòng)化EDA的關(guān)鍵技術(shù)之一就是可
29、以用硬件描述語(yǔ)言來(lái)描述硬件電路。VHDL是用來(lái)描述從抽象到具體級(jí)別硬件的工業(yè)標(biāo)準(zhǔn)語(yǔ)言,它是由美國(guó)國(guó)防部在20世紀(jì)80年代開(kāi)發(fā)的HDL,現(xiàn)在已成為 IEEE承認(rèn)的標(biāo)準(zhǔn)硬件描述語(yǔ)言。VHDL 支持硬件的設(shè)計(jì)、驗(yàn)證、綜合和測(cè)試,以及硬件設(shè)計(jì)數(shù)據(jù)的交換、維護(hù)、修改和硬件的實(shí)現(xiàn),具有描述能力強(qiáng)、生命周期長(zhǎng)、支持大規(guī)模設(shè)計(jì)的分解和已有設(shè)計(jì)的再利用等優(yōu)點(diǎn)。VHDL主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu)、行為和功能,其程序結(jié)構(gòu)特點(diǎn)是將一個(gè)電路模塊或一個(gè)系統(tǒng)分成端口和內(nèi)部功能算法實(shí)現(xiàn)兩部分。對(duì)于一個(gè)電路模塊或者數(shù)字系統(tǒng)而言,定義了外部端口后,一旦內(nèi)部功能算法完成后,其他系統(tǒng)可以直接依據(jù)外部端口調(diào)用該電路模塊或數(shù)字系統(tǒng),而不
30、必知道其內(nèi)部結(jié)構(gòu)和算法。VHDL 的特點(diǎn)使得電子系統(tǒng)新的設(shè)計(jì)方法“自頂向下”設(shè)計(jì)方法更加容易實(shí)現(xiàn)??梢韵葘?duì)整個(gè)系統(tǒng)進(jìn)行方案設(shè)計(jì),按功能劃分成若干單元模塊,然后對(duì)每個(gè)單元模塊進(jìn)一步細(xì)分,直到簡(jiǎn)單實(shí)現(xiàn)的單元電路。VHDL語(yǔ)言的設(shè)計(jì)方法是一種高層次的設(shè)計(jì)方法,也稱(chēng)為系統(tǒng)級(jí)的設(shè)計(jì)方法,其設(shè)計(jì)步驟如下: 第一步:按照“自頂向下”的設(shè)計(jì)方法進(jìn)行系統(tǒng)劃分。第二步:輸入VHDL語(yǔ)言代碼,這是高層次設(shè)計(jì)中最為普遍的輸入方式。此外,還可以采用圖形輸入方式(框圖,狀態(tài)圖等),這種輸入方式具有直觀、容易理解的優(yōu)點(diǎn)。第三步:將以上的設(shè)計(jì)輸入編譯成標(biāo)準(zhǔn)的VHDL文件。對(duì)于大型設(shè)計(jì),還要進(jìn)行代碼級(jí)的功能仿真,主要是檢驗(yàn)系統(tǒng)
31、功能設(shè)計(jì)的正確性,因?yàn)閷?duì)于大型設(shè)計(jì),綜合、適配要花費(fèi)數(shù)小時(shí),在綜合前對(duì)源代碼仿真,就可以大大減少設(shè)計(jì)重復(fù)的次數(shù)和時(shí)間,一般情況下,可略去這一仿真步驟。第四步:利用綜合器對(duì)VHDL源代碼進(jìn)行綜合優(yōu)化處理,生成門(mén)級(jí)描述的網(wǎng)表文件,這是將高層次描述轉(zhuǎn)化為硬件電路的關(guān)鍵步驟。綜合優(yōu)化是針對(duì)ASIC芯片供應(yīng)商的某一產(chǎn)品系列進(jìn)行的,所以綜合的過(guò)程要在相應(yīng)的廠家綜合庫(kù)支持下才能完成。綜合后,可利用產(chǎn)生的網(wǎng)表文件進(jìn)行適配前的時(shí)序仿真,仿真過(guò)程不涉及具體器件的硬件特性,較為粗略。一般設(shè)計(jì),這一仿真步驟也可略去。第五步:利用適配器將綜合后的網(wǎng)表文件針對(duì)某一具體的目標(biāo)器件進(jìn)行邏輯映射操作,包括底層器件配置、邏輯分割
32、、邏輯優(yōu)化和布局布線。適配完成后,產(chǎn)生多項(xiàng)設(shè)計(jì)結(jié)果:(1) 適配報(bào)告,包括芯片內(nèi)部資源利用情況,設(shè)計(jì)的布爾方程描述情況等;(2) 適配后的仿真模型;(3) 器件編程文件。根據(jù)適配后的仿真模型,可以進(jìn)行適配后的時(shí)序仿真,因?yàn)橐呀?jīng)得到器件的實(shí)際硬件特性(如時(shí)延特性),所以仿真結(jié)果能比較精確地預(yù)期未來(lái)芯片的實(shí)際性能。如果仿真結(jié)果達(dá)不到設(shè)計(jì)要求,就需要修改VHDL源代碼或選擇不同速度品質(zhì)的器件,直至滿(mǎn)足設(shè)計(jì)要求。第六步:將適配器產(chǎn)生的器件編程文件通過(guò)編程器或下載電纜載入到目標(biāo)芯片F(xiàn)PGA或CPLD中。如果是大批量產(chǎn)品開(kāi)發(fā),通過(guò)更換相應(yīng)的廠家綜合庫(kù),可以很容易轉(zhuǎn)由ASIC形式實(shí)現(xiàn)。2.2.2 VHDL語(yǔ)
33、言的特點(diǎn)應(yīng)用VHDL進(jìn)行系統(tǒng)設(shè)計(jì),有以下幾方面的特點(diǎn):(1) 功能強(qiáng)大 VHDL具有功能強(qiáng)大的語(yǔ)言結(jié)構(gòu)。它可以用明確的代碼描述復(fù)雜的控制邏輯設(shè)計(jì)。并且具有多層次的設(shè)計(jì)描述功能,支持設(shè)計(jì)庫(kù)和可重復(fù)使用的元件生成。VHDL是一種設(shè)計(jì)、仿真和綜合的標(biāo)準(zhǔn)硬件描述語(yǔ)言。(2) 可移植性 VHDL語(yǔ)言是一個(gè)標(biāo)準(zhǔn)語(yǔ)言,其設(shè)計(jì)描述可以為不同的EDA工具支持。它可以從一個(gè)仿真工具移植到另一個(gè)仿真工具,從一個(gè)綜合工具移植到另一個(gè)綜合工具,從一個(gè)工作平臺(tái)移植到另一個(gè)工作平臺(tái)。此外,通過(guò)更換庫(kù)再重新綜合很容易移植為ASIC設(shè)計(jì)。(3) 獨(dú)立性 VHDL的硬件描述與具體的工藝技術(shù)和硬件結(jié)構(gòu)無(wú)關(guān)。設(shè)計(jì)者可以不懂硬件的結(jié)構(gòu)
34、,也不必管最終設(shè)計(jì)實(shí)現(xiàn)的目標(biāo)器件是什么,而進(jìn)行獨(dú)立的設(shè)計(jì)。程序設(shè)計(jì)的硬件目標(biāo)器件有廣闊的選擇范圍,可以是各系列的CPLD、FPGA及各種門(mén)陣列器件。(4) 可操作性 由于VHDL具有類(lèi)屬描述語(yǔ)句和子程序調(diào)用等功能,對(duì)于已完成的設(shè)計(jì),在不改變?cè)闯绦虻臈l件下,只需改變端口類(lèi)屬參量或函數(shù),就能輕易地改變?cè)O(shè)計(jì)的規(guī)模和結(jié)構(gòu)。(5) 靈活性 VHDL最初是作為一種仿真標(biāo)準(zhǔn)格式出現(xiàn)的,有著豐富的仿真語(yǔ)句和庫(kù)函數(shù)。使其在任何大系統(tǒng)的設(shè)計(jì)中,隨時(shí)可對(duì)設(shè)計(jì)進(jìn)行仿真模擬。所以,即使在遠(yuǎn)離門(mén)級(jí)的高層次(即使設(shè)計(jì)尚未完成時(shí)),設(shè)計(jì)者就能夠?qū)φ麄€(gè)工程設(shè)計(jì)的結(jié)構(gòu)和功能的可行性進(jìn)行查驗(yàn),并做出決策。9第3章 CPLD/FPG
35、A硬件平臺(tái)第3章 CPLD/FPGA硬件平臺(tái)20世紀(jì)90年代,國(guó)際上電子和計(jì)算機(jī)技術(shù)較先進(jìn)的國(guó)家,一直在積極探索新的電子電路設(shè)計(jì)方法,并在設(shè)計(jì)方法、工具等方面進(jìn)行了徹底的變革,取得了巨大成功。在電子技術(shù)設(shè)計(jì)領(lǐng)域,可編程邏輯器件(如CPLD、FPGA)的應(yīng)用,已得到廣泛的普及,這些器件為數(shù)字系統(tǒng)的設(shè)計(jì)帶來(lái)了極大的靈活性。這些器件可以通過(guò)軟件編程而對(duì)其硬件結(jié)構(gòu)和工作方式進(jìn)行重構(gòu),從而使得硬件的設(shè)計(jì)可以如同軟件設(shè)計(jì)那樣方便快捷。這一切極大地改變了傳統(tǒng)的數(shù)字系統(tǒng)設(shè)計(jì)方法、設(shè)計(jì)過(guò)程和設(shè)計(jì)觀念,促進(jìn)了EDA技術(shù)的迅速發(fā)展。 3.1 可編程邏輯器件的發(fā)展歷史及概述 當(dāng)今社會(huì)是數(shù)字化的社會(huì),是數(shù)字集
36、成電路廣泛應(yīng)用的社會(huì)。數(shù)字集成電路本身在不斷地進(jìn)行更新?lián)Q代。它由早期的電子管、晶體管、小中規(guī)模集成電路、發(fā)展到超大規(guī)模集成電路(VLSIC,幾萬(wàn)門(mén)以上)以及許多具有特定功能的專(zhuān)用集成電路。但是,隨著微電子技術(shù)的發(fā)展,設(shè)計(jì)與制造集成電路的任務(wù)已不完全由半導(dǎo)體廠商來(lái)獨(dú)立承擔(dān)。系統(tǒng)設(shè)計(jì)師們更愿意自己設(shè)計(jì)專(zhuān)用集成電路(ASIC)芯片,而且希望ASIC的設(shè)計(jì)周期盡可能短,最好是在實(shí)驗(yàn)室里就能設(shè)計(jì)出合適的ASIC芯片,并且立即投入實(shí)際應(yīng)用之中,因而出現(xiàn)了現(xiàn)場(chǎng)可編程邏輯器件(FPLD),其中應(yīng)用最廣泛的當(dāng)屬現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)和復(fù)雜可編程邏輯器件(CPLD)。早期的可編程邏輯器件只有可編程只讀存貯器
37、(PROM)、紫外線可擦除只讀存貯器(EPROM)和電可擦除只讀存貯器(EEPROM)三種。由于結(jié)構(gòu)的限制,它們只能完成簡(jiǎn)單的數(shù)字邏輯功能。 其后,出現(xiàn)了一類(lèi)結(jié)構(gòu)上稍復(fù)雜的可編程芯片,即可編程邏輯器件(PLD),它能夠完成各種數(shù)字邏輯功能。典型的PLD由一個(gè)“與”門(mén)和一個(gè)“或”門(mén)陣列組成,而任意一個(gè)組合邏輯都可以用“與一或”表達(dá)式來(lái)描述,所以,PLD能以乘積和的形式完成大量的組合邏輯功能。這一階段的產(chǎn)品主要有PAL(可編程陣列邏輯)和GAL(通用陣列邏輯)。PAL由一個(gè)可編程的“與”平面和一個(gè)固定的“或”平面構(gòu)成,或門(mén)的輸。出可以通過(guò)觸發(fā)器有選擇地被置為寄存狀態(tài)。PAL器件是現(xiàn)場(chǎng)可編程的,它的
38、實(shí)現(xiàn)工藝有反熔絲技術(shù)、EPROM技術(shù)和EEPROM技術(shù)。還有一類(lèi)結(jié)構(gòu)更為靈活的邏輯器件是可編程邏輯陣列(PLA),它也由一個(gè)“與”平面和一個(gè)“或”平面構(gòu)成,但是這兩個(gè)平面的連接關(guān)系是可編程的。PLA器件既有現(xiàn)場(chǎng)可編程的,也有掩膜可編程的。在PAL的基礎(chǔ)上,又發(fā)展了一種通用陣列邏輯GAL (Generic Array Logic),如GAL16V8,GAL22V10 等。它采用了EEPROM工藝,實(shí)現(xiàn)了電可按除、電可改寫(xiě),其輸出結(jié)構(gòu)是可編程的邏輯宏單元,因而它的設(shè)計(jì)具有很強(qiáng)的靈活性,至今仍有許多人使用。 這些早期的PLD器件的一個(gè)共同特點(diǎn)是可以實(shí)現(xiàn)速度特性較好的邏輯功能,但其過(guò)于簡(jiǎn)單的結(jié)構(gòu)也使它
39、們只能實(shí)現(xiàn)規(guī)模較小的電路。為了彌補(bǔ)這一缺陷,20世紀(jì)80年代中期。Altera和Xilinx分別推出了類(lèi)似于PAL結(jié)構(gòu)的擴(kuò)展型 CPLD(Complex Programmab1e Logic Dvice)和與標(biāo)準(zhǔn)門(mén)陣列類(lèi)似的FPGA(Field Programmable Gate Array),它們都具有體系結(jié)構(gòu)和邏輯單元靈活、集成度高以及適用范圍寬等特點(diǎn)。這兩種器件兼容了PLD和通用門(mén)陣列的優(yōu)點(diǎn),可實(shí)現(xiàn)較大規(guī)模的電路,編程也很靈活。與門(mén)陣列等其它ASIC(Application Specific IC)相比,它們又具有設(shè)計(jì)開(kāi)發(fā)周期短、設(shè)計(jì)制造成本低、開(kāi)發(fā)工具先進(jìn)、標(biāo)準(zhǔn)產(chǎn)品無(wú)需測(cè)試、質(zhì)量穩(wěn)定以
40、及可實(shí)時(shí)在線檢驗(yàn)等優(yōu)點(diǎn),因此被廣泛應(yīng)用于產(chǎn)品的原型設(shè)計(jì)和產(chǎn)品生產(chǎn)(一般在10,000件以下)之中。幾乎所有應(yīng)用門(mén)陣列、PLD和中小規(guī)模通用數(shù)字集成電路的場(chǎng)合均可應(yīng)用FPGA和CPLD器件。3.2 FPGA/CPLD 概述FPGA(現(xiàn)場(chǎng)可編程門(mén)陣列)與 CPLD(復(fù)雜可編程邏輯器件)都是可編程邏輯器件,它們是在PAL,GAL等邏輯器件的基礎(chǔ)之上發(fā)展起來(lái)的。同以往的PAL,GAL等相比較,F(xiàn)PGA/CPLD的規(guī)模比較大,它可以替代幾十甚至幾千塊通用IC芯片。這樣的FPGA/CPLD實(shí)際上就是一個(gè)子系統(tǒng)部件。這種芯片受到世界范圍內(nèi)電子工程設(shè)計(jì)人員的廣泛關(guān)注和普遍歡迎。經(jīng)過(guò)了十幾年的發(fā)展,許多公司都開(kāi)
41、發(fā)出了多種可編程邏輯器件。比較典型的就是Xilinx公司的FPGA器件系列和Altera公司的CPLD器件系列,它們開(kāi)發(fā)較早,占用了較大的PLD市場(chǎng)。通常來(lái)說(shuō),在歐洲用Xilinx的人多,在日本和亞太地區(qū)用ALTERA的人多,在美國(guó)則是平分秋色。全球PLD/FPGA產(chǎn)品60%以上是由Altera和Xilinx提供的??梢灾vAltera和Xilinx共同決定了PLD技術(shù)的發(fā)展方向。當(dāng)然還有許多其它類(lèi)型器件,如:Lattice,Vantis,Actel,Quicklogic,Lucent等。盡管FPGA,CPLD和其它類(lèi)型PLD的結(jié)構(gòu)各有其特點(diǎn)和長(zhǎng)處,但概括起來(lái),它們是由三大部分組成的,一個(gè)二維的
42、邏輯塊陣列,構(gòu)成了PLD器件的邏輯組成核心。輸入/輸出塊:連接邏輯塊的互連資源。連線資源:由各種長(zhǎng)度的連線線段組成,其中也有一些可編程的連接開(kāi)關(guān),它們用于邏輯塊之間、邏輯塊與輸入/輸出塊之間的連接。對(duì)用戶(hù)而言,CPLD與FPGA的內(nèi)部結(jié)構(gòu)稍有不同,但用法一樣,所以多數(shù)情況下,不加以區(qū)分。FPGA/CPLD芯片都是特殊的ASIC芯片,它們除了具有ASIC的特點(diǎn)之外,還具有以下幾個(gè)優(yōu)點(diǎn):(1) 隨著VlSI(Very Large Scale IC,超大規(guī)模集成電路)工藝的不斷提高單一芯片內(nèi)部可以容納上百萬(wàn)個(gè)晶體管,F(xiàn)PGA/CPLD芯片的規(guī)模也越來(lái)越大,其單片邏輯門(mén)數(shù)已達(dá)到上百萬(wàn)門(mén),它所能實(shí)現(xiàn)的功
43、能也越來(lái)越強(qiáng),同時(shí)也可以實(shí)現(xiàn)系統(tǒng)集成。(2) FPGA/CPLD芯片在出廠之前都做過(guò)百分之百的測(cè)試,不需要設(shè)計(jì)人員承擔(dān)投片風(fēng)險(xiǎn)和費(fèi)用,設(shè)計(jì)人員只需在自己的實(shí)驗(yàn)室里就可以通過(guò)相關(guān)的軟硬件環(huán)境來(lái)完成芯片的最終功能設(shè)計(jì)。所以,F(xiàn)PGA/CPLD的資金投入小,節(jié)省了許多潛在的花費(fèi)。(3) 用戶(hù)可以反復(fù)地編程、擦除、使用或者在外圍電路不動(dòng)的情況下用不同軟件就可實(shí)現(xiàn)不同的功能。所以,用FPGA/PLD 試制樣片,能以最快的速度占領(lǐng)市場(chǎng)。FPGA/CPLD軟件包中有各種輸入工具和仿真工具,及版圖設(shè)計(jì)工具和編程器等全線產(chǎn)品,電路設(shè)計(jì)人員在很短的時(shí)間內(nèi)就可完成電路的輸入、編譯、優(yōu)化、仿真,直至最后芯片的制作。當(dāng)
44、電路有少量改動(dòng)時(shí),更能顯示出FPGA/CPLD的優(yōu)勢(shì)。3.3 CPLD工作原理 CPLD(Complex Programmable Logic Device),即復(fù)雜可編程邏輯器件。一種較PLD為復(fù)雜的邏輯元件。CPLD是一種用戶(hù)根據(jù)各自需要而自行構(gòu)造邏輯功能的數(shù)字集成電路。其基本設(shè)計(jì)方法是借助集成開(kāi)發(fā)軟件平臺(tái),用原理圖、硬件描述語(yǔ)言等方法,生成相應(yīng)的目標(biāo)文件,通過(guò)下載電纜(“在系統(tǒng)”編程)將代碼傳送到目標(biāo)芯片中,實(shí)現(xiàn)設(shè)計(jì)的數(shù)字系統(tǒng)。CPLD器件特點(diǎn):它具有編程靈活、集成度高、設(shè)計(jì)開(kāi)發(fā)周期短、適用范圍寬、開(kāi)發(fā)工具先進(jìn)、設(shè)計(jì)制造成本低、對(duì)設(shè)計(jì)者的硬件經(jīng)驗(yàn)要求低、標(biāo)準(zhǔn)產(chǎn)品無(wú)需測(cè)試、保密性強(qiáng)、價(jià)格大
45、眾化等特點(diǎn),可實(shí)現(xiàn)較大規(guī)模的電路設(shè)計(jì),因此被廣泛應(yīng)用于產(chǎn)品的原型設(shè)計(jì)和產(chǎn)品生產(chǎn)(一般在10,000件以下)之中。幾乎所有應(yīng)用中小規(guī)模通用數(shù)字集成電路的場(chǎng)合均可應(yīng)用CPLD器件。CPLD器件已成為電子產(chǎn)品不可缺少的組成部分,它的設(shè)計(jì)和應(yīng)用成為電子工程師必備的一種技能。3.4 FPGA工作原理FPGA(FieldProgrammable Gate Array),即現(xiàn)場(chǎng)可編程門(mén)陣列,它是在PAL、GAL、EPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。它是作為專(zhuān)用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門(mén)電路數(shù)有限的缺點(diǎn)。FPGA采用了邏輯單元
46、陣列LCA(Logic Cell Array)這樣一個(gè)新概念,內(nèi)部包括可配置邏輯模塊CLB(Configurable Logic Block)、輸出輸入模塊IOB(Input Output Block)和內(nèi)部連線(Interconnect)三個(gè)部分。FPGA器件特點(diǎn):(1) 采用FPGA設(shè)計(jì)ASIC電路,用戶(hù)不需要投片生產(chǎn),就能得到合用的芯片。(2) FPGA可做其它全定制或半定制ASIC電路的中試樣片。(3) FPGA內(nèi)部有豐富的觸發(fā)器和IO引腳。(4) FPGA是ASIC電路中設(shè)計(jì)周期最短、開(kāi)發(fā)費(fèi)用最低、風(fēng)險(xiǎn)最小的器件之一。(5) FPGA采用高速CHMOS工藝,功耗低,可以與CMOS、T
47、TL電平兼容??梢哉f(shuō),F(xiàn)PGA芯片是小批量系統(tǒng)提高系統(tǒng)集成度、可靠性的最佳選擇之一。 FPGA是由存放在片內(nèi)RAM中的程序來(lái)設(shè)置其工作狀態(tài)的,因此,工作時(shí)需要對(duì)片內(nèi)的RAM進(jìn)行編程。用戶(hù)可以根據(jù)不同的配置模式,采用不同的編程方式。13第4章 系統(tǒng)的原理設(shè)計(jì)第4章 系統(tǒng)的原理設(shè)計(jì)下面以4位串行電子密碼鎖設(shè)計(jì)電路為例,來(lái)說(shuō)明在美國(guó) Altera 公司的Quartus開(kāi)發(fā)平臺(tái)上使用VHDL 進(jìn)行數(shù)字系統(tǒng)設(shè)計(jì)的過(guò)程和方法。4.1 系統(tǒng)設(shè)計(jì)要求設(shè)計(jì)一個(gè)具有較高安全性和較低成本的通用電子密碼鎖,其具體功能要求如下:(1) 數(shù)碼輸入:每按下一個(gè)數(shù)字鍵,就輸入一個(gè)數(shù)值,并在顯示器上的最右方顯示出該數(shù)值,同時(shí)將
48、先前輸入的數(shù)據(jù)依序左移一個(gè)數(shù)字位置。(2) 數(shù)碼清除:按下此鍵可清除前面所有的輸入值,清除成為“0000”。(3) 密碼更改:按下此鍵時(shí)會(huì)將目前的數(shù)字設(shè)定成新的密碼。(4) 激活電鎖:按下此鍵可將密碼鎖上鎖。(5) 解除電鎖:按下此鍵會(huì)檢查輸入的密碼是否正確,密碼正確即開(kāi)鎖。(6) 密碼預(yù)置:為管理員創(chuàng)建萬(wàn)用密碼以備管理。(7) 系統(tǒng)報(bào)警:開(kāi)鎖三次失敗后自動(dòng)報(bào)警。4.2 系統(tǒng)設(shè)計(jì)方案本電路的主要控制部分和接口輸入部分都是在FPGA內(nèi)部通過(guò)VHDL語(yǔ)言實(shí)現(xiàn)的,所以FPGA模塊為本設(shè)計(jì)的核心。根據(jù)系統(tǒng)要求的功能,以及FPGA芯片容量的分級(jí),本論文選用ALTERA公司MAX7000S系列的EPM71
49、28SLC器件作為主控芯片,它是一種基于乘積項(xiàng)結(jié)構(gòu)的復(fù)雜可編程邏輯器件,它的基本邏輯單元是由一些與、或陣列加上觸發(fā)器構(gòu)成,其中與或陣列完成組合邏輯功能,觸發(fā)器完成時(shí)序邏輯。它的邏輯控制靈活,可反復(fù)編程,有利于系統(tǒng)的擴(kuò)展和修改,而且其集成度高,保密性好。作為通用電子密碼鎖,主要由三個(gè)部分組成:數(shù)字密碼輸入電路、密碼鎖控制電路和密碼鎖顯示電路。作為電子密碼鎖的輸入電路,可供選擇的方案有數(shù)字機(jī)械式鍵盤(pán)和觸摸式數(shù)字鍵盤(pán)等多種。雖然機(jī)械式鍵盤(pán)存在一些諸如機(jī)械產(chǎn)生的彈跳消除問(wèn)題和機(jī)械部分的接觸等問(wèn)題,但是和觸摸式的4×3鍵盤(pán)相比,機(jī)械式鍵盤(pán)具有低成本、可靠性高、構(gòu)成電路簡(jiǎn)單、技術(shù)成熟和應(yīng)用廣泛等
50、特點(diǎn),因此將其應(yīng)用到通用數(shù)字電子密碼鎖中還是比較適宜的。本設(shè)計(jì)中采用一個(gè)4×3的通用數(shù)字機(jī)械鍵盤(pán)作為該設(shè)計(jì)的輸入設(shè)備。數(shù)字電子密碼鎖的顯示信息電路可采用LED數(shù)碼管顯示和液晶屏幕顯示兩種。液晶屏幕顯示具有高速顯示、高可靠性、易于擴(kuò)展和升級(jí)等優(yōu)點(diǎn),但是普通液晶顯示屏存在亮度低、對(duì)復(fù)雜環(huán)境的適應(yīng)能力差等缺點(diǎn),在低亮度的環(huán)境下還需要加入其他輔助的照明設(shè)備,驅(qū)動(dòng)電路設(shè)計(jì)相對(duì)復(fù)雜,因此本設(shè)計(jì)的顯示電路仍使用通用的LED數(shù)碼管。根據(jù)以上選定的輸入設(shè)備和顯示器件,并考慮到實(shí)現(xiàn)各項(xiàng)數(shù)字密碼鎖功能的具體要求,密碼鎖結(jié)構(gòu)框圖如圖4-1所示。圖4-1 密碼鎖結(jié)構(gòu)框圖鍵盤(pán):
51、; 用戶(hù)對(duì)系統(tǒng)輸入密碼,采用4×3數(shù)字機(jī)械式鍵盤(pán)實(shí)現(xiàn)顯示器: 用來(lái)顯示輸入的密碼,采用4個(gè)LED數(shù)碼管實(shí)現(xiàn)時(shí)鐘脈沖器: 用來(lái)產(chǎn)生方波信號(hào)CPLD控制部分:核心部分,實(shí)現(xiàn)分頻、內(nèi)部邏輯、數(shù)字比較、數(shù)據(jù)存儲(chǔ)、譯碼等功能整個(gè)電子密碼鎖系統(tǒng)的總體組成框圖如圖4-2所示。(1) 密碼鎖輸入電路包括時(shí)序產(chǎn)生電路、鍵盤(pán)掃描電路、鍵盤(pán)彈跳消除電路、鍵盤(pán)譯碼電路等幾
52、個(gè)小的功能電路。(2) 密碼鎖控制電路包括按鍵數(shù)據(jù)的緩沖存儲(chǔ)電路,密碼的清除、變更、存儲(chǔ)、激活電鎖電路(寄存器清除信號(hào)發(fā)生電路),密碼核對(duì)(數(shù)值比較電路),解鎖電路(開(kāi)/關(guān)門(mén)鎖電路)等幾個(gè)小的功能電路。(3) 七段數(shù)碼管顯示電路主要將待顯示數(shù)據(jù)的BCD碼轉(zhuǎn)換成數(shù)碼器的七段顯示驅(qū)動(dòng)編碼(數(shù)據(jù)選擇電路,BCD對(duì)七段顯示器譯碼電路,七段顯示器掃描電路)。圖4-2 電子密碼鎖系統(tǒng)總體框圖電子密碼鎖是由密碼鎖主體以及附加的外圍指示電路組成的,其中密碼鎖主體的主要作用是接收密碼并進(jìn)行密碼的驗(yàn)證操作;附加的外圍指示電路的主要作用是用來(lái)顯示輸入的密碼和根據(jù)密碼驗(yàn)證的結(jié)果來(lái)給出不同的指示燈顯示或者啟動(dòng)報(bào)警裝置,
53、而報(bào)警裝置則通常采用揚(yáng)聲器。由于外圍電路(紅黃綠燈,報(bào)警器)較為復(fù)雜,我只能簡(jiǎn)單的設(shè)計(jì)一些思路。電子密碼鎖的功能如圖4-3所示:數(shù)字鍵盤(pán)門(mén)禁開(kāi)啟等待下次輸入內(nèi)部安鍵解除報(bào)警按鍵開(kāi)鎖密碼輸入密碼正確密碼錯(cuò)誤報(bào)警器鳴叫指示黃亮燈指示紅亮燈指示綠亮燈3次圖4-3 電子密碼鎖功能簡(jiǎn)圖4.2.1 密碼鎖輸入電路的設(shè)計(jì)圖4-4是電子密碼鎖的輸入電路框圖,由鍵盤(pán)掃描電路、彈跳消除電路、鍵盤(pán)譯碼電路、按鍵數(shù)據(jù)緩存器,加上外接的一個(gè)4×3矩陣式鍵盤(pán)組成。 圖4-4 密碼鎖的輸入電路框圖 1矩陣式鍵盤(pán)的工作原理矩陣式鍵盤(pán)是一種常見(jiàn)的輸入裝置,在日常的生活中,矩陣式鍵盤(pán)在計(jì)算機(jī)、電話(huà)、手機(jī)、微波爐等各式電
54、子產(chǎn)品上已經(jīng)被廣泛應(yīng)用。圖4-5是一個(gè)4×3矩陣式鍵盤(pán)的面板配置圖,其中數(shù)字09作為密碼數(shù)字輸入按鍵,“*”作為“上鎖”功能按鍵,“#”作為“解鎖/清除”功能按鍵(輸入數(shù)字小于4位時(shí)按下此鍵表示清除鍵,輸人數(shù)字等于4位時(shí)表示解鎖鍵)。123456789*0#KY3.0KX2.0經(jīng)上拉電阻接VCC1101111010110111011101110圖4-5 4×3矩陣式鍵盤(pán)的面板配置鍵盤(pán)上的每一個(gè)按鍵其實(shí)就是一個(gè)開(kāi)關(guān)電路,當(dāng)某鍵被按下時(shí),該按鍵的接點(diǎn)回呈現(xiàn)0的狀態(tài),反之,未被按下時(shí)呈現(xiàn)邏輯1的狀態(tài)。掃描信號(hào)由KY3KY0進(jìn)入鍵盤(pán),變化的順序依次為1110110110110111
55、1110。每一次掃描一排,依次地周而復(fù)始,例如現(xiàn)在的掃描信號(hào)為1011,代表目前正在掃描7、8、9這一排的按鍵,如果這排當(dāng)中沒(méi)有按鍵被按下的話(huà),則由KX2KX0讀出的值為111;反之當(dāng)7這個(gè)按鍵被按下的話(huà),則由KX2KX0讀出的值為011。根據(jù)上面所述原理,我們可得到各按鍵的位置與數(shù)碼關(guān)系如表4-1所示。表4-1 按鍵位置與數(shù)碼關(guān)系KY3KY0111011101110110111011101101110111011011101110111KX2KX0011101110011101110011101110011101110按鍵號(hào)123456789*0#若從KX2KX0讀出的值皆為1時(shí),代表該列沒(méi)
56、有按鍵被按下,則不進(jìn)行按鍵譯碼的動(dòng)作,反之,如果有按鍵被按下時(shí),則應(yīng)將KX2KX0讀出的值送至譯碼電路進(jìn)行編碼。2密碼鎖輸入電路各主要功能模塊的設(shè)計(jì) (1) 時(shí)序產(chǎn)生電路本時(shí)序產(chǎn)生電路中使用了三種不同頻率的工作脈沖波形:系統(tǒng)時(shí)鐘脈沖(它是系統(tǒng)內(nèi)部所有時(shí)鐘脈沖的源頭,且其頻率最高)、彈跳消除取樣信號(hào)、鍵盤(pán)掃描信號(hào)。當(dāng)一個(gè)系統(tǒng)中需要使用多種操作頻率的脈沖波形時(shí),最方便的方法之一就是利用一個(gè)自由計(jì)數(shù)器來(lái)產(chǎn)生各種需要的頻率。也就是先建立一個(gè)N位計(jì)數(shù)器,N的大小根據(jù)電路的需求決定,N的值越大,電路可以分頻的次數(shù)就越多,這樣就可以獲得更大的頻率變化,以便提供多種不同頻率的時(shí)鐘信號(hào)。若輸入時(shí)鐘為CLK,N位
57、計(jì)數(shù)器的輸出為QN-1.0,則Q(0)為CLK的2分頻脈沖信號(hào),Q(1)為CLK的4分頻脈沖信號(hào),Q(2)為CLK的8分頻脈沖信號(hào) Q(N-1)為CLK的2N分頻脈沖信號(hào);Q(5 DOWNTO 4)取得的是一個(gè)脈沖波形序列,其值依次為000110110001周期性變化,其變化頻率為CLK的25分頻,也就是32分頻。我們利用以上規(guī)律即可得到各種我們所需要頻率的信號(hào)或信號(hào)序列。(2) 鍵盤(pán)掃描電路掃描電路的作用是用來(lái)提供鍵盤(pán)掃描信號(hào)(表1中的KY3KY0)的,掃描信號(hào)變化的順序依次為11101101101101111110依序地周而復(fù)始。掃描時(shí)依次分別掃描四列按鍵,當(dāng)掃描信號(hào)為1110時(shí)掃描KY3這一排按鍵;當(dāng)掃描信號(hào)為1101時(shí),掃描KY2這一排按鍵;當(dāng)掃描信號(hào)為1011時(shí)掃描KY1這一排按鍵;當(dāng)掃描信號(hào)為0111時(shí),掃描KY0這一排按鍵;每掃描一排按鍵就檢查一次是否有鍵
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年醫(yī)師考試相關(guān)政策解讀試題及答案
- 行政法學(xué)中多元化的實(shí)踐方法探討試題及答案
- 2025年執(zhí)業(yè)藥師考試專(zhuān)題知識(shí)分類(lèi)總結(jié)試題及答案
- 護(hù)理健康知識(shí)宣傳的重要性試題及答案
- 行政管理文化活動(dòng)自考題及答案
- 綜合醫(yī)療體制試題及答案分析
- 2025年執(zhí)業(yè)醫(yī)師考試的復(fù)習(xí)流程建立試題及答案
- 行政管理與國(guó)策的結(jié)合及試題答案
- 行政管理基礎(chǔ)知識(shí)試題及答案
- 2025年經(jīng)濟(jì)法專(zhuān)題復(fù)習(xí)計(jì)劃試題及答案
- 2025年霍山石斛市場(chǎng)調(diào)查報(bào)告
- 2025年安徽省C20教育聯(lián)盟中考三模語(yǔ)文試題(含答案)
- 藥品注冊(cè)與生產(chǎn)作業(yè)指導(dǎo)書(shū)
- 2025年中考語(yǔ)文備考之課內(nèi)文言文主題閱讀訓(xùn)練主題二:治國(guó)勸諫篇(解析版)
- 計(jì)算機(jī)畢設(shè)管理系統(tǒng)答辯
- 2025視頻號(hào)內(nèi)容生態(tài)發(fā)展白皮書(shū)
- 管道焊接施工方案
- 建筑大師林徽因知到智慧樹(shù)章節(jié)測(cè)試課后答案2024年秋濰坊工程職業(yè)學(xué)院
- 四省聯(lián)考(陜晉青寧)2024-2025學(xué)年高三下學(xué)期2月天一大聯(lián)考化學(xué)試卷(含答案)
- 《清潔劑的清潔原理》課件
- 酒店智能化系統(tǒng)工程的施工方法與流程
評(píng)論
0/150
提交評(píng)論