基于FPGA的數(shù)字秒表的設(shè)計.doc_第1頁
基于FPGA的數(shù)字秒表的設(shè)計.doc_第2頁
基于FPGA的數(shù)字秒表的設(shè)計.doc_第3頁
已閱讀5頁,還剩44頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

基于FPGA的數(shù)字秒表的設(shè)計第1章 緒 論電子設(shè)計的必由之路是數(shù)字化已成為共識。在數(shù)字化的道路上,我國電子設(shè)計技術(shù)的發(fā)展經(jīng)歷了,并將繼續(xù)經(jīng)歷許多重大的變革與飛躍、從應(yīng)用SSI通用數(shù)字電路芯片構(gòu)成電路系統(tǒng),到廣泛地應(yīng)用MCU(微控制器或單片機),在電子系統(tǒng)設(shè)計上發(fā)生廠具有里程碑意義的飛躍,這一飛躍不但克服了純SSI數(shù)字電路系統(tǒng)許多不可逾越的困難,同時也為電子設(shè)計技術(shù)的應(yīng)用開拓了更廣闊的前景。它使得電子系統(tǒng)的智能化水平在廣度和深度上產(chǎn)生了質(zhì)的飛躍。MCU的廣便應(yīng)用并沒有拋棄SSI的應(yīng)用,而是為它們在電于系統(tǒng)中找到了更合理的地位。隨著社會經(jīng)濟發(fā)展的延伸、各類新型電子產(chǎn)品的開發(fā)為我們提出了許多全新的課題和更高的要求。FPGA/CPLD(現(xiàn)場可編程邏輯器件復(fù)雜可編程邏輯器件)在EDA基礎(chǔ)上的廣泛應(yīng)用從某種意義上說,新的電子系統(tǒng)運轉(zhuǎn)的物理機制又將回到原來的純數(shù)字電路結(jié)構(gòu),但這是種更高層次的循環(huán),應(yīng)是一次否定之否定的運動,它在更高層次上容納了過去數(shù)字技術(shù)的優(yōu)秀部分,對MCU系統(tǒng)將是種揚棄,但在電子設(shè)計的技術(shù)操作和系統(tǒng)構(gòu)成的整體上卻發(fā)生質(zhì)的飛躍。如果說MCU在邏輯的實現(xiàn)上是無限的話,那么高速發(fā)展的FPGA/CPLD不但包括了MCU這一特點,并兼有串、并工作方式和高速、高可靠性以及寬口徑適用等諸多方面的特點、不僅如此,隨著EDA技術(shù)的發(fā)展和FPGACPLD在深亞微米領(lǐng)域的進軍、它們與MCU、MPU、DSP、AD、DA、RAM和ROM等獨立器件問的物理與功能界限正日趨模糊。特別是軟硬IP核產(chǎn)業(yè)的迅猛發(fā)展,嵌入式通用與標準CPLD和FPGA器件的出現(xiàn),片上系統(tǒng)已近在咫尺。以大規(guī)模集成電路為物質(zhì)基礎(chǔ)的EDA技術(shù)終于打破了軟硬件之間最后的屏障,使軟硬件工程師們有了共同的語言1。1.1 課題背景當(dāng)前電子系統(tǒng)的設(shè)計正朝著速度快,容量大,體積小,質(zhì)量輕,用電省的方向發(fā)展。推動該潮流迅速發(fā)展的決定性因素就是使用了現(xiàn)代化的EDA設(shè)計工具。EDA是電子設(shè)計自動化(Electronic Design Automation)的縮寫,是90年代初,從CAD(計算機輔助沒計)、CAM(算機輔助制造)、CAT(計算機輔助測試)和CAE(計算機輔助工程)的概念發(fā)展而來的。EDA技術(shù)就是以計算機為工具,在EDA軟件平臺上,對以硬件描述語言HDL為系統(tǒng)邏輯描述手段完成的設(shè)計文件自動地完成邏輯編譯、邏輯化簡、邏輯分割、邏輯綜合及優(yōu)化、邏輯行局布線、邏輯仿真,直至對于特定目標芯片的適配編譯、邏輯映射和編程下載等工作。設(shè)計者的工作僅限于利用軟件的方式,即利用硬件描述語言來完成對系統(tǒng)硬件功能的描述,在EDA工具的幫助下就可以得到最后的設(shè)計結(jié)果。盡管目標系統(tǒng)是硬件,但整個設(shè)計和修改過程如同完成軟件設(shè)計一樣方便和高效2。EDA技術(shù)中最為矚目的功能,即最具現(xiàn)代電子設(shè)計技術(shù)特征的功能就是日益強大的邏輯設(shè)計仿真測試技術(shù)。EDA仿真測試技術(shù)只需通過計算機就能對所設(shè)計的電子系統(tǒng)從各種不同層次的系統(tǒng)性能特點完成一系列準確的測試與仿真操作,在完成實際系統(tǒng)的安裝后還能對系統(tǒng)上的目標器件進行所謂邊界掃錨測試。這一切都極大地提高了大規(guī)模系統(tǒng)電子設(shè)計的自動化程度。另一方面,高速發(fā)展的CPLD/FPGA器件又為EDA技術(shù)的不斷進步奠定可堅實的物質(zhì)基礎(chǔ)。CPLD/FPGA器件更廣泛的應(yīng)用及廠商間的競爭,使得普通的設(shè)計人員獲得廉價的器件和EDA軟件成為可能?,F(xiàn)代的EDA工具軟件已突破了早期僅能進行PCB版圖設(shè)計,或類似某些僅限于電路功能模擬的、純軟件范圍的局限,以最終實現(xiàn)可靠的硬件系統(tǒng)為目標,配備了系統(tǒng)設(shè)計自動化的全部工具。如配置了各種常用的硬件描敘平臺VHDL、Verilog HDL、ABEL HDL等;配置了多種能兼用和混合使用的邏輯描述輸入工具,如硬件描述語言文本輸入法(其中包括布爾方程描述方式、原理圖描述方式、狀態(tài)圖描述方式等)以及原理圖輸入法、波形輸入法等;同時還配置了高性能的邏輯綜合、優(yōu)化和仿真模擬工具3。1.2 硬件描述語言硬件描述語言(Hardware Description Language )是硬件設(shè)計人員和電子設(shè)計自動化(EDA)工具之間的界面。其主要目的是用來編寫設(shè)計文件,建立電子系統(tǒng)行為級的仿真模型。即利用計算機的巨大能力對用Verilog HDL或VHDL 建模的復(fù)雜數(shù)字邏輯進行仿真,然后再自動綜合以生成符合要求且在電路結(jié)構(gòu)上可以實現(xiàn)的數(shù)字邏輯網(wǎng)表(Netlist),根據(jù)網(wǎng)表和某種工藝的器件自動生成具體電路,然后生成該工藝條件下這種具體電路的延時模型。仿真驗證無誤后,用于制造ASIC芯片或?qū)懭隒PLD和FPGA器件中。隨著PC平臺上的EDA工具的發(fā)展,PC平臺上的Verilog HDL和VHDL仿真綜合性能已相當(dāng)優(yōu)越,這就為大規(guī)模普及這種新技術(shù)鋪平了道路。目前國內(nèi)只有少數(shù)重點設(shè)計單位和高校有一些工作站平臺上的EDA工具,而且大多數(shù)只是做一些線路圖和版圖級的仿真與設(shè)計,只有個別單位展開了利用Verilog HDL和VHDL模型(包括可綜合和不可綜合)的進行復(fù)雜的數(shù)字邏輯系統(tǒng)的設(shè)計。隨著電子系統(tǒng)向集成化、大規(guī)模、高速度的方向發(fā)展,HDL語言將成為電子系統(tǒng)硬件設(shè)計人員必須掌握的語言3。1.2.1 VHDL語言VHDL(Very High Speed Integrated Circuit Hard ware Description Language,超高速集成電路硬件描述語言)誕生于1982年,是由美國國防部開發(fā)的一種快速設(shè)計電路的工具,目前已經(jīng)成為IEEE(The Institute of Electrical and Electronics)的一種工業(yè)標準硬件描敘語言。VHDL主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu)、行為、功能和接口,非常適合用于可編程邏輯芯片的應(yīng)用設(shè)計。除了含有許多具有硬件特征的語句外,VHDL的語言形式和描述風(fēng)格與句法十分類似于一般的計算機高級語言。VHDL的程序特點是將一項工程設(shè)計,或稱為設(shè)計實體(可以是個元件、電路模塊或一個系統(tǒng))分成外部(或稱可示部分,即端口)和內(nèi)部(或稱為不可視部分,即結(jié)構(gòu)體)兩部分,外部負責(zé)對設(shè)計實體和端口引腳命名和說明,內(nèi)部負責(zé)對模塊功能和算法進行描述。在對一個設(shè)計實體定義了外部界面后,一旦其內(nèi)部結(jié)構(gòu)、功能開發(fā)完成,即可生成共享功能模塊,這就意味著,在頂層綜合或其他設(shè)計中可以直接調(diào)用這個實體模塊。VHDL具有較強的行為描述能力,可避開具體的器件結(jié)構(gòu),從邏輯功能和行為上進行描述和設(shè)計3。1.2.2 Verilog HDL 語言Verilog HDL是在1983年,由GDA(Gate Way Design Automatio)公司的Phil Moorby首創(chuàng)的。Phil Moorby后來成為Verilog的主要設(shè)計者和(adence Design System)的第一個合伙人。在1984-1985年Moorby設(shè)計出第一個關(guān)于Verilog的仿真器,1986年他對Verilog HDL的發(fā)展又作出另一個巨大貢獻,提出了用于快速門級仿真的算法。隨著Verilog算法的成功,Verilog HDL語言得到迅速發(fā)展。1989年adence公司收購了公司,Verilog HDL語言成為Cadence公司的私有財產(chǎn),1990年,Cadence公司公開了Verilog HDL語言,成立了OVI(Open Verilog Internatiinal)組織來負責(zé)Verilog HDL的發(fā)展。IEEE于1995年制定了Verilog HDL的IEEE標準,即Verilog HDL 1364-1995。1987年,IEEE接受VHDL(VHSIC Hadeware Description Language)為標準HDL,即IEEE 1076-87標準,1993年進一步修訂,定為ANSI/IEEE1076-93標準?,F(xiàn)在很多EDA供應(yīng)商把Verilog HDL作為其EDA軟件輸入/輸出的標準。例如,Cadence、Synopsys、Viewlogic、Mentor Graphic等廠商都提供了VHDL的支持4。1.2.3 Verilog HDL與VHDL的比較Verilog HDL和VHDL作為描述硬件電路設(shè)計的語言,其共同的特點在于:能形式化地抽象表示電路的行為和結(jié)構(gòu);支持邏輯設(shè)計中層次與范圍的描述;可借用高級語言的精巧結(jié)構(gòu)來簡化電路行為的描述;具有電路仿真與驗證機制以保證設(shè)計的正確性;支持電路描述由高層到低層的綜合轉(zhuǎn)換;硬件描述與實現(xiàn)工藝無關(guān);便于文檔管理;易于理解和設(shè)計重用。目前版本的Verilog HDL與VHDL在行為級抽象建模的覆蓋范圍方面也有所不同。一般認為Verilog HDL在系統(tǒng)抽象方面比VHDL強一些。Verilog HDL較為適合算法級(Alogrithem)、寄存器傳輸級(RTL)、邏輯級(Logic)、門級(Gate)、設(shè)計。而VHDL更為適合特大型的系統(tǒng)級(System)設(shè)計。1.2.4 VHDL設(shè)計中電路簡化問題的探討 隨著集成電路技術(shù)的發(fā)展,用傳統(tǒng)的方法進行芯片或系統(tǒng)設(shè)計已不能滿足要求,迫切需要提高設(shè)計效率。在這樣的技術(shù)背景下,能大大降低設(shè)計難度的VHDL設(shè)計方法正越來越廣泛地被采用。但是 VHDL設(shè)計是行為級的設(shè)計所帶來的問題是設(shè)計者的設(shè)計思考與電路結(jié)構(gòu)相脫節(jié)。設(shè)計者主要是根據(jù)VHDL的語法規(guī)則對系統(tǒng)目標的邏輯行為進行描述,然后通過綜合工具進行電路結(jié)構(gòu)的綜合、編譯、優(yōu)化,通過仿真工具進行邏輯功能仿真和系統(tǒng)時延的仿真。用VHDL進行集成電路的設(shè)計,牽涉到對VHDL語言的使用方法和對設(shè)計的理解程度。本文討論了以下幾個簡化和優(yōu)化電路設(shè)計的3個值得注意的方面:(1)在用VHDL進行設(shè)計中要注意避免不必要的寄存器描述。(2)在編寫程序前要先對整個設(shè)計進行較深入的了解,科學(xué)的劃分設(shè)計,多設(shè)想幾種方案再進行比較,用多個較少位數(shù)的單元取代較多位數(shù)的單元。(3)在延時要求不高的情況下,可提取邏輯電路公因子,把它分解成含有中間變量的多級電路8。 1.2.5 VHDL和MAX+PLUSII在數(shù)字電路設(shè)計中的應(yīng)用以VHDL為工具的EDA設(shè)計方法與傳統(tǒng)的人工設(shè)計方法相比,有以下幾個優(yōu)點:1、縮短了開發(fā)周期;2、提高了效率;3、產(chǎn)品的質(zhì)量得到了提高。用VHDL進行數(shù)字系統(tǒng)開發(fā)與設(shè)計,其設(shè)計的抽象層次有6個,分別是系統(tǒng)級、芯片級、寄存器級、門級、電路級和版圖/硅片級,可以在不同的抽象層次級別上設(shè)計系統(tǒng)。使用MAX+PLUSII作為開發(fā)環(huán)境時應(yīng)該根據(jù)軟件支持的芯片資源情況選擇合適的設(shè)計層次。在VHDL設(shè)計中,常常采用多進程描述的方法來進行程序設(shè)計,通過使用進程可以把整體的功能局部化,分塊設(shè)計,多個進程通過進程間通信機制互相配合,達到設(shè)計要求。當(dāng)進程比較多的時候,它們之間的配合問題就比較復(fù)雜,因此在設(shè)計之前應(yīng)該合理規(guī)劃安排9。1.2.6用EDA方法設(shè)計數(shù)字系統(tǒng)的靈活性用EDA方法設(shè)計數(shù)字系統(tǒng),就是以硬件描述語言為系統(tǒng)邏輯描述的主要手段完成計數(shù)器設(shè)計文件,再運用EDA開發(fā)軟件,對設(shè)計文件自動地完成邏輯編譯、化間、分割、綜合及優(yōu)化邏輯仿真。直到對特定目標芯片的適配編譯、邏輯映射和編程下載。在本文中是以EDA技術(shù)中的ISP軟件為開發(fā)平臺,來說明EDA方法設(shè)計數(shù)字系統(tǒng)的靈活性。1、設(shè)計輸入方式的靈活性,使用EDA方法設(shè)計數(shù)字系統(tǒng)可以按照設(shè)計要求和硬件描述語言的語法規(guī)則編寫輸入文件,而把其余的大部分工作留給計算機完成,真正體現(xiàn)了EDA方法的優(yōu)點。尤其是設(shè)計復(fù)雜的數(shù)字系統(tǒng)或者需要改動系統(tǒng)功能時,設(shè)計效率可成倍提高,EDA方法的優(yōu)越性就會更加突出;2、功能仿真的靈活性,用EDA方法設(shè)計數(shù)字系統(tǒng)是同一個測試向量可以對任何一種設(shè)計輸入方式產(chǎn)生的源文件進行仿真,而不許要單獨編寫測試文件;3、功能擴展的靈活性,在數(shù)字系統(tǒng)設(shè)計輸入過程中,用EDA方法實現(xiàn)了硬件設(shè)計軟件化,所以改動源文件的內(nèi)容即可改變系統(tǒng)功能,使其擴展為復(fù)雜度更高的數(shù)字系統(tǒng)10。1.3 設(shè)計指標設(shè)計一個基于FPGA的數(shù)字秒表的具體化技術(shù)指標如下。1有啟/停開關(guān),用于開始/結(jié)束計時操作2 表計時長度為59.分59.99秒,超過計時長度,有溢出則報警,計時長度可手動設(shè)置。3 置復(fù)位開關(guān),在任何情況下只要按下復(fù)位開關(guān),秒表都要無條件進行復(fù)位清0操作。4 用FPGA器件實現(xiàn),用VHDL語言編程,并進行下載,仿真。1.4 本文工作詳細分析課題任務(wù),對數(shù)字系統(tǒng)設(shè)計的歷史和現(xiàn)狀進行分析,并對數(shù)字秒表的VHDL設(shè)計原理進行了深入的研究,并將其綜合。本文設(shè)計了一個基于FPGA的數(shù)字秒表,設(shè)計選用ALTERA公司的FPGA芯片F(xiàn)LEX10K系列的EPF10K10LC84-4,在開發(fā)軟件MAX+PLUS2進行輸入、編譯、綜合、仿真并下載到在系統(tǒng)可編程實驗板中測試實現(xiàn)。信號源是由實驗板上的時鐘信號經(jīng)分頻而得到的0.0 1 秒信號。而我采用了 EDA 技術(shù) ,整個設(shè)計僅分兩步:首先,在MAXPLUS開發(fā)工具中 ,先用 VHDL語言分別編寫出以上幾個模塊的文本文件 (稱為底層文件) ,并將它們分別轉(zhuǎn)換成相應(yīng)的器件 ,然后分別進行時序仿真 ,每個器件的時序仿真結(jié)果與設(shè)計要求一致;然后,再將這幾個模塊共相關(guān)芯片按電路設(shè)計圖連接起來,形成頂層文件后進行整個系統(tǒng)的綜合 ,并將整個數(shù)字秒表作為一個器件進行時序仿真。仿真完成后,將程序下載到大規(guī)??删幊踢壿嬈骷﨓PM7128SLC84-15中,確定引腳的功能,即可實現(xiàn)數(shù)字秒表的芯片化。第2章 EDA設(shè)計方法及其應(yīng)用傳統(tǒng)的電路設(shè)計方法都是自底向上進行設(shè)計的,也就是首先確定可用的元器件,然后根據(jù)這些器件進行邏輯設(shè)計,完成個模塊后進行連接,最后形成系統(tǒng)。而基于EDA技術(shù)的設(shè)計方法則是自頂向下進行設(shè)計的,也就是首先采用可完全獨立于目標器件芯片物理結(jié)構(gòu)的硬件描述語言,在系統(tǒng)的基本功能或行為級上對設(shè)計的產(chǎn)品進行描述和定義,結(jié)合多層次的仿真技術(shù),在確保設(shè)計的可行性于正確的前提下,完成功能確認。然后利用EDA工具的邏輯綜合功能,進行邏輯映射及布局布線,在利用產(chǎn)生的仿真文件進行包括功能和時序的驗證,以確保實際系統(tǒng)的性能5。2.1 分析方法在基于EDA技術(shù)的系統(tǒng)設(shè)計最重要的環(huán)節(jié)在系統(tǒng)的基本功能或行為級上對設(shè)計的產(chǎn)品進行描述和定義時,我們是采用自頂向下分析,自底向上設(shè)計。所謂“自頂向下分析”就是指將數(shù)字系統(tǒng)的整體分解為各個系統(tǒng)和模塊,若子系統(tǒng)規(guī)模較大,則還需將子系統(tǒng)進一步分解為更小的子系統(tǒng)和模塊,層層分解,直至整個系統(tǒng)中各個子系統(tǒng)關(guān)系合理、并便于邏輯電路級的設(shè)計和實現(xiàn)為止。圖2.1是一個自頂向下設(shè)計的結(jié)構(gòu)分解圖。所謂“自底向上設(shè)計”,就是在自頂向下分析建立各種設(shè)計模型的基礎(chǔ)上,先進行低層模塊的設(shè)計,完成低層模塊設(shè)計后再進行高一層次的設(shè)計,依次類推,直到完成頂層的設(shè)計為止。采用該方法進行分析和設(shè)計時,高層設(shè)計進行功能和接口描述,說明模塊的功能和接口,模塊功能的更詳細的描述在下一層次說明,最底層的設(shè)計才涉及具體的寄存器和邏輯門電路等方式的描述6。采用自頂向下的設(shè)計方法有如下優(yōu)點: 自頂向下設(shè)計方法是一種模塊化設(shè)計方法。對設(shè)計的描述從上到下逐步由粗略到詳細,符合常規(guī)的邏輯思維習(xí)慣。 由于高層設(shè)計同器件無關(guān),可以完全獨立于目標器件的結(jié)構(gòu),在設(shè)計的最初階段,設(shè)計人員可以不受芯片結(jié)構(gòu)的約束,集中精力對產(chǎn)品進行最適應(yīng)市場需求的設(shè)計,從而避免了傳統(tǒng)設(shè)計方法的再設(shè)計風(fēng)險,縮短了產(chǎn)品的上市周期。 由于系統(tǒng)采用硬件描述語言進行設(shè)計,可以完全對立于目標器件的結(jié)構(gòu),因此設(shè)計易于在各種集成電路工藝或可編程器件之間移植。 適合多個設(shè)計同時進行設(shè)計?,F(xiàn)在隨著技術(shù)的不斷進步,許多設(shè)計由一個設(shè)計者已無法完成,必須經(jīng)過多個設(shè)計者分工協(xié)作完成一項設(shè)計的情況越來越多,在這種情況下,應(yīng)用自頂向下設(shè)計方法便于由多個設(shè)計者同時進行設(shè)計,對設(shè)計任務(wù)進行合理分配,用系統(tǒng)工程的方法對設(shè)計進行管理。針對具體的設(shè)計,實施自頂向下設(shè)計方法的形式會有所不同,但均需要遵循以下兩條原則:逐步分解功能,分層次進行設(shè)計。在個設(shè)計層次上,考慮相應(yīng)的 仿真驗證問題。結(jié)構(gòu)分解完整樹設(shè)計部分樹設(shè)計行為建模行為建模圖2.1 自頂向下的結(jié)構(gòu)分解圖2.2 表示方法2.2.1文本表示方法在EDA的設(shè)計中,最一般化、普遍性的設(shè)計表示方式就是文本表示方式,也就是利用硬件描述語言(HDL)用軟件編程方式來表達自己的設(shè)計。根據(jù)文本表示方式所使用的抽象層次,我們又可將文本表示方式分為:行為描述,結(jié)構(gòu)描述,數(shù)據(jù)流(寄存器傳輸級)描述。行為描述就是設(shè)計一個部件是通過定義它的輸入/輸出響應(yīng)來描述,也就是說對一個部件的設(shè)計,只描述了所希望電路的功能/行為,而沒有直接指明或涉及實現(xiàn)這些行為的硬件結(jié)構(gòu)。結(jié)構(gòu)描述就是設(shè)計一個部件是通過一些基本部件的互連來描述,也就是說對一個不見的設(shè)計,是通過描述該設(shè)計部件的硬件結(jié)構(gòu)/硬件組成來表示的。數(shù)據(jù)流描述就是一個部件通過一些寄存器部件的互連并在寄存器之間插入組合邏輯來描述,這類積存器或者顯示地通過元件具體裝配,或者通過推論作隱含的描述7。2.2.2 圖形表示方式在EDA的設(shè)計中,有時也用圖形表示方式來表示自己的設(shè)計。圖形表示方式常用的有原理圖、狀態(tài)圖、波形圖等。圖形表示方式的優(yōu)點是直觀、方便,但是其存在以下缺點:設(shè)計的可讀性差;設(shè)計的復(fù)用性差;設(shè)計的移植性差;入檔、交流、交付不方便。2.2.3 文本、圖形混用方式在EDA的設(shè)計中,根據(jù)自己設(shè)計所使用的性能及如何使設(shè)計簡單易行,有時也經(jīng)常采用文本、圖形混用的形式。2.3 實現(xiàn)方法 2.3.1硬件描述語言編程實現(xiàn)法硬件描述語言編程實現(xiàn)法,就是用VHDL、Verilog HDL等硬件描述語言來表達自己的設(shè)計思想,并使用EDA工具提供的文本編輯器以文本的方式進行設(shè)計輸入的一種實現(xiàn)方法。它是EDA的設(shè)計中最一般化、最具普遍性的實現(xiàn)方法,根據(jù)設(shè)計系統(tǒng)的實際情況,實際可從行為級、寄存器級、門電路級等不同層次進行描述,非常靈活,并且設(shè)計的移植性非常好。所有EDA工具都支持文本方式的編程和編譯。2.3.2 原理圖設(shè)計實現(xiàn)法原理圖設(shè)計實現(xiàn)法,就是利用原理圖表示自己的設(shè)計思想,并使用EDA工具提供的圖形編輯器以原理圖的方式進行設(shè)計輸入的一種實現(xiàn)方法。原理圖輸入法的實現(xiàn)方式,簡單、直觀、方便,并且可利用許多現(xiàn)成的單元器件或根據(jù)需要設(shè)計的元器件。2.3.3 參數(shù)可設(shè)置兆功能塊實現(xiàn)法參數(shù)可設(shè)置兆功能塊實現(xiàn)法,就是設(shè)計者可以根據(jù)實際電路的設(shè)計需要,選擇LPM(Library of Parameterized Modules,參數(shù)可設(shè)置模塊庫,簡稱LPM)庫中的適當(dāng)模塊,并為其設(shè)定適當(dāng)?shù)膮?shù)以滿足自己設(shè)計的需要的一中實現(xiàn)方法。作為EDIF標準的一部分,LPM形式得到了EDA工具的良好支持,LPM中功能模塊的內(nèi)容豐富。在EDA的設(shè)計中,以圖形或硬件描述語言模塊形式調(diào)用兆功能塊進行設(shè)計,使得基于EDA技術(shù)的電子設(shè)計能夠有效地利用其他優(yōu)秀電子工程技術(shù)人員的硬件設(shè)計成果,使得設(shè)計效率和可靠性有了很大的提高。2.3.4軟的或硬的IP實現(xiàn)法軟的或硬的IP核實現(xiàn)法,就是在大型系統(tǒng)的設(shè)計中,對于某些功能模塊的設(shè)計,通過調(diào)用已經(jīng)購買的有關(guān)公司或電子工程技術(shù)人員的軟的或硬的IP(知識產(chǎn)權(quán))核來實現(xiàn)自己設(shè)計的實現(xiàn)方法。使用該方法,可以快速而高效地實現(xiàn)大型系統(tǒng)的設(shè)計或系統(tǒng)集成2。第3章 設(shè)計思想與方案論證實現(xiàn)數(shù)字秒表的方法有多種,可以用單片機作為控制芯片,采用AT89C52單片機,數(shù)字顯示采用共陽七段LED顯示器,P0口輸出段碼數(shù)據(jù),P2.0-P2.5口作為列掃描輸出,P1.0、P1.1 、P1.3口接三個開關(guān)按鈕,用以實現(xiàn)調(diào)時及秒表時鐘功能切換設(shè)置。也可以用FPGA作為控制芯片,采用EDA技術(shù)用VHDL語言實現(xiàn)硬件電路。當(dāng)然每一種方案都有其各自的優(yōu)點。本章詳細列舉、說明了三種不同實現(xiàn)數(shù)字秒表的方案,對三種方案的優(yōu)缺點進行了對比,選出了最佳方案。3.1 設(shè)計思想1. 方案1:基于單片機控制的數(shù)字秒表 1.秒表計時器采用六位LED數(shù)碼管顯示分、秒,0.1S,0.01S。使用按鍵開關(guān)可實現(xiàn)計時調(diào)整、秒表功能。2.系統(tǒng)硬件電路的設(shè)計秒表/時鐘計時器的硬件電路設(shè)計采用AT89C52單片機,數(shù)字顯示采用共陽七段LED顯示器,P0口輸出段碼數(shù)據(jù),P2.0-P2.5口作為列掃描輸出,P1.0、P1.1 、P1.3口接三個開關(guān)按鈕,用以實現(xiàn)調(diào)時及秒表功能切換設(shè)置。為了給共陽極LED數(shù)碼管提供驅(qū)動電壓,采用三極管8550作電源驅(qū)動輸出。采用12MHZ晶振,有利于提高系統(tǒng)計時的精確性。3. 系統(tǒng)程序的設(shè)計其中包括以下六方面:(1)主程序設(shè)計:采用定時器T0完成中斷,其余狀態(tài)循環(huán)調(diào)用顯示子程序,當(dāng)功能開關(guān)按下時,轉(zhuǎn)入相應(yīng)的功能程序。(2)顯示子程序的設(shè)計:數(shù)碼管的數(shù)據(jù)存放在內(nèi)存單元70H-75H中.其中70H71H存放秒數(shù)據(jù),72H73H存放分數(shù)據(jù),74H75H存放時數(shù)據(jù),每一地址單元內(nèi)均為十進制BCD碼。由于采用動態(tài)掃描實現(xiàn)數(shù)據(jù)顯示功能,顯示用十進制BCD碼數(shù)據(jù)的對應(yīng)段碼存放在ROM表中。顯示時,先取出70H-75H某一地址中的數(shù)據(jù),然后查得對應(yīng)的顯示用段碼,并從P0口輸出,P2口將對應(yīng)的數(shù)碼管選通供電,就能顯示該地址單元的數(shù)據(jù)值。(3)定時器T0中斷程序設(shè)計:定時器T0用于時間計時。定時溢出中斷周期分別設(shè)計為50ms和10ms。中斷進入后,先判斷是時鐘計時還是秒計時,時鐘計時中斷20次(即1s)時,對秒計數(shù)單元進行加1操作,秒表計時時每10ms進行加1操作。時鐘技術(shù)單元地址分別在70H71H(秒)、76H77H(分)和78H79H(時),最大計時值為23時59分59秒,秒表計數(shù)單元地址也在70H71H(0.01毫秒)、76H77H(秒)和78H79H(分),最大計時值為99分59.99秒。7AH單元內(nèi)存放(0AH).在計數(shù)單元中采用十進制BCD碼計數(shù),滿60(秒表時100)進位(4) T1中斷服務(wù)程序:T1中斷服務(wù)程序用于指示調(diào)整單元數(shù)字亮閃。在時間調(diào)整狀態(tài)下,每過0.3秒,將對應(yīng)單元的顯示數(shù)據(jù)換成(0AH),即熄滅一次,這樣在調(diào)整單元的顯示數(shù)據(jù)會間隔閃亮。(5) 調(diào)時功能程序的設(shè)計:按下P1.0口按鍵,若按下時間小于1s,則進入省電狀態(tài)(數(shù)碼管不亮,但時鐘不停);否則進入調(diào)分狀態(tài),等待操作,計時器停止工作。當(dāng)再次按下該按鈕時,若按下時間短于0.5s,則時間加1分;若按下時間長于0.5s,則進入小時調(diào)整狀態(tài)。在小時調(diào)整狀態(tài)下,當(dāng)按下時間長于0.5s時,退出調(diào)整狀態(tài),時鐘繼續(xù)走動。P1.1口按鍵在調(diào)時狀態(tài)下可實現(xiàn)減1操作。(6)秒表/時鐘功能程序:在計時狀態(tài)下,若按P1.1口按鍵,則進行時鐘秒表功能的切換,轉(zhuǎn)換后計時從零開始。當(dāng)按下P1.3口按鍵時,可實現(xiàn)清0、計時啟動、暫停功能。2. 方案2:基于FPGA的數(shù)字秒表的設(shè)計方案如下其設(shè)計思路為:通過分頻器將晶振所提供的信號分頻成0.01S脈沖作為計時信號,經(jīng)計數(shù)器累加計數(shù),形成六十進制的計數(shù)器和一百進制的計數(shù)器。經(jīng)譯碼器譯碼后,分位輸出給六個七段LED數(shù)碼管顯示為。設(shè)計采用六位LED數(shù)碼管顯示分、秒,0.1s,0.01s計時方式。使用按鍵開關(guān)可實現(xiàn)開始/結(jié)束計時操作,及復(fù)位清零操作和計時長度模式選擇。一設(shè)計要求(秒表的功能描述)(1)要求設(shè)置復(fù)位開關(guān)。當(dāng)按下復(fù)位開關(guān)時,秒表清零并做好計時準備。在任何情況下只要按下復(fù)位開關(guān),秒表都要無條件地進行復(fù)位操作,即使是在計時過程中也要無條件地進行清零操作。(2)要求設(shè)置啟/停開關(guān)。當(dāng)按下啟/停開關(guān)后,將啟動秒表并開始計時,當(dāng)再按一下啟/停開關(guān)時,將終止秒表的計時操作。(3)要求計時精確度大于0.01秒。要求設(shè)計的計時器能夠顯示分(2位)、秒(2位)、0.1秒(1位),0.01秒的時間。(4)要求秒表的最長計時時間為秒表計時長度為59.分59.99秒,超過計時長度,有溢出則報警,計時長度可手動設(shè)置。二秒表的面板包括:(1) 顯示屏:由6個7段數(shù)碼管組成,用于顯示當(dāng)前時間(2) QT(啟/停鍵):用于開始/結(jié)束計時操作.(3) CLR(復(fù)位鍵):用于秒表計時系統(tǒng)的復(fù)位操作(4) MODE (模式選擇鍵):用于計時長度模式選擇(5) 蜂鳴器:溢出報警,則發(fā)出蜂鳴聲.3.2 論證分析課題的角度來說可以選用單片機和FPGA芯片作為系統(tǒng)的MCU,從優(yōu)勢上講利用單片機作為控制系統(tǒng)的核心元器件,其最大的優(yōu)勢是電路簡單,價格便宜,實驗所需儀器少。而FPGA是英文Field Programmable Gate Array的縮寫,即現(xiàn)場可編程門陣列,它是在PAL、GAL、EPLD等可編程器件的基礎(chǔ)上進一步發(fā)展的產(chǎn)物。它是作為專用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點??稍谟鞋F(xiàn)成的條件下,F(xiàn)PGA還是有其具大的優(yōu)勢比如它的高速性,讓我們更清楚地認識到硬件的性能及硬件描述語言對硬件的驅(qū)動。FPGA是ASIC電路中設(shè)計周期最短、開發(fā)費用最低、風(fēng)險最小的器件之一。所以本方案選用以FPGA作為核心器件來設(shè)計。第4章 系統(tǒng)設(shè)計整個系統(tǒng)設(shè)計是采用自頂向下分析,自底向上設(shè)計。將數(shù)字秒表系統(tǒng)的整體分解為各個模塊電路。本章詳細介紹了數(shù)字秒表系統(tǒng)的各個模塊的設(shè)計,并對各個模塊的每一個部分進行了分析,在后半部分還對系統(tǒng)模型進行了訪真與程序調(diào)試。各模塊之間的每一個壞節(jié)都是深思熟慮而成,各自完成相應(yīng)的功能并組成一個統(tǒng)一的整體。4.1系統(tǒng)的總體設(shè)計 4.1.1頂層電路設(shè)計數(shù)字秒表的頂層電路圖及時序分析采用硬件描述語言設(shè)計一個復(fù)雜電路系統(tǒng),運用自頂向下的設(shè)計思想,將系統(tǒng)按功能逐層分割的層次化設(shè)計方法。在頂層設(shè)計中,要對內(nèi)部各功能塊的連接關(guān)系和對外的接口關(guān)系進行描述,而功能塊實際的邏輯功能和具體的實現(xiàn)形式則由下一層模塊來描述。 圖4.1 頂層電路圖根據(jù)數(shù)字秒表的系統(tǒng)原理框圖(4.2),設(shè)計系統(tǒng)的頂層電路圖如圖4.1所示。根據(jù)圖所示的數(shù)字秒表系統(tǒng)頂層電路圖, 按照自頂向下的設(shè)計思路, 編寫各個模塊的源程序, 最后再對各個模塊進行組合, 編寫頂層描述的源程序。FPGACLK輸入七段數(shù)碼管蜂鳴器主控電路七段數(shù)碼管譯碼電路報警控制按 鍵按鍵消抖處理計 時 電 路分頻電路 圖4.2 數(shù)字秒表系統(tǒng)原理框圖 4.1.2數(shù)字秒表的設(shè)計原理1本設(shè)計可分為五個主要模塊:(1) 鍵輸入模塊電路(含消抖電路)(2) 時鐘分頻電路模塊(3) 調(diào)整控制電路(主控電路模塊)(4) 計時電路模塊(5) 顯示控制電路模塊(包括溢出報警控制)2系統(tǒng)的總體設(shè)計:各個輸入/輸出端口的作用如下: CLK為外部時鐘信號,CLR為復(fù)位信號。 QT為啟/停開關(guān),用于開始/結(jié)束計時操作 MODE為模式選擇鍵,用1個電平信號A進行模式選擇 Q是數(shù)據(jù)掃描顯示的公共七段數(shù)碼顯示驅(qū)動端,。它經(jīng)過外接的譯碼器譯碼后接數(shù)碼管的公共端COM。 SOUND用于控制蜂鳴器發(fā)聲。當(dāng)SOUND=“1”時,揚聲器發(fā)出蜂鳴聲,表示計時超出計時長度(溢出報警)4.1.3 鍵輸入模塊電路(含消抖電路)秒表面板上有3個按鍵:CLR鍵,QT鍵及MODE鍵。因為設(shè)計采用的是機械式的按鍵,由于存在機械觸動的彈性作用,一個按鍵開關(guān)在閉合時不會馬上穩(wěn)定地接通,在斷開時也不會馬上斷開。因而在閉合及斷開按鍵的瞬間均伴隨有一連串的抖動。抖動時間的長短由按鍵的機械特性決定,一般為5-10ms 。后沿抖動閉合抖動前沿抖動鍵按下圖4.3按鍵時的抖動按鍵的閉合穩(wěn)定時間的長短由操作人員的按鍵動作決定,一般為零點幾秒至數(shù)秒。按鍵抖動會引起被誤讀多次。為確保FPGA對鍵的閉合僅作一次處理,必須去除按鍵抖動。 通常在按鍵較少時可用硬件方法消除抖動,一般采用RS觸發(fā)器作為常用的消抖電路,如果按鍵較多時,常用軟件消除抖動。在EDA的設(shè)計應(yīng)用中,軟件消抖的方法即可使用RS觸發(fā)器進行消抖,也可通過檢測按鍵按下的時間進行消抖。消抖模塊的VHDL源程序設(shè)計:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL; 圖4.4.1消抖電路模塊USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY FDOU IS PORT(CLK,DIN:IN STD_LOGIC; DOUT:OUT STD_LOGIC);END ENTITY FDOU;ARCHITECTURE ARC OF FDOU IS SIGNAL CP:STD_LOGIC; SIGNAL JSQ:INTEGER RANGE 0 TO 3; BEGIN PROCESS(CLK) BEGIN IF (CLK EVENT AND CLK= 1 ) THEN IF DIN=1 THEN IF JSQ=3 THEN JSQ=JSQ; ELSE JSQ=JSQ+1; END IF; IF JSQ=1 THEN CP=1; ELSE CP=0; END IF; ELSE JSQ=0; END IF; END IF; DOUT=CP; END PROCESS; END ARC ;源程序說明1 工作原理本模塊描述的防抖動電路屬于計數(shù)器型防抖動電路。其工作原理是,設(shè)置一個模值為4的控制計數(shù)器,在人工按鍵KEY=1時,執(zhí)行加1計數(shù);KEY=1時,計數(shù)器進入狀態(tài)0。計數(shù)器只在狀態(tài)2有輸出。計數(shù)器進入狀態(tài)3,處于保持狀態(tài)。總之,按鍵一次,計數(shù)器只有一個單脈沖輸出。2 防抖動原理按鍵KEY是產(chǎn)生抖動的根源,按照設(shè)計,只有按鍵持續(xù)時間大于3個時鐘周期,計數(shù)器輸出才可能產(chǎn)生有效的正跳變,輸出一個單脈沖。由于機械開關(guān)抖動產(chǎn)生的毛刺寬度小于3個時鐘周期,因而毛刺作用不可能使計數(shù)器有輸出,防抖動目的得以實現(xiàn)。4.1.4時鐘分頻電路模塊在基于EDA技術(shù)的數(shù)字電路系統(tǒng)設(shè)計中,分頻電路應(yīng)用十分廣泛。常常使用分頻電路來得到數(shù)字系統(tǒng)中各種不同頻率的控制信號。所謂分頻電路,就是將一個給定的頻率較高的數(shù)字輸入信號經(jīng)過適當(dāng)處理后,產(chǎn)生一個或數(shù)個頻率較低的數(shù)字輸出信號。分頻電路本質(zhì)上是加法計數(shù)器的變種,其計數(shù)值有分頻常數(shù)N=fin/fout決定,其輸出不是一般計數(shù)器的計數(shù)結(jié)果,而是根據(jù)分頻常數(shù)對輸出信號的高,低電平控制。本設(shè)計需要一個計時范圍為0.01s59分59.99秒的秒表,首先需要獲得一個比較精確的計時基準信號,這里時周期為1/100 s的計時脈沖,所以采用一個標準時鐘信號源1KHZ經(jīng)分頻后獲得一個精確的100HZ的脈沖。 VHDL源程序:1KHZ 100HZ分頻器的源程序clk_div10.vhd LIBRARY IEEE; 圖4.4.2 10分頻模塊USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY clk_div10 IS PORT(clk :IN STD_LOGIC; clk_out :OUT STD_LOGIC);END clk_div10;ARCHITECTURE rtl OF clk_div10 IS SIGNAL clk_temp :STD_LOGIC;BEGIN PROCESS(clk) VARIABLE counter: INTEGER RANGE 0 TO 15;BEGIN IF (clkEVENT AND clk=1) THEN IF (counter = 9) THEN Counter := 0; Clk_out = 1; ELSE Counter :=counter +1 ; Clk_out = 0; END IF; END IF; END PROCESS;END rtl;4.1.5調(diào)整控制電路(主控電路模塊)為了實現(xiàn)數(shù)字秒表的各種相應(yīng)功能,主控電路對各種輸入控制信號進行處理。作出相應(yīng)的調(diào)整,發(fā)出一系列的控制輸出信號。如對數(shù)字秒表實現(xiàn)復(fù)位操作,啟、??刂?,以及計時長度設(shè)置模式選擇。主控電路的功能1 實現(xiàn)系統(tǒng)復(fù)位: 設(shè)置一個CLR信號,當(dāng)CLR信號0時,整個系統(tǒng)復(fù)位:當(dāng)CLR1時,系統(tǒng)進行計時或模式選擇。2 啟/??刂疲河糜陂_始/結(jié)束計時操作。數(shù)字秒表的啟/停是通過控制送給計數(shù)器的時鐘來實現(xiàn)的。當(dāng)按下QT鍵后,輸出端Q的狀態(tài)發(fā)生反轉(zhuǎn)。Q為“1”時。時鐘可通過與門,秒表處于計時狀態(tài)。當(dāng)Q為“0”時,時鐘被屏蔽,計數(shù)器得不到時鐘脈沖,停止計數(shù)。3 模式選擇功能:通過MODE鍵進行秒表計時長度設(shè)置的選擇。當(dāng)MODE“0”時為模式0,秒表系統(tǒng)的計時長度為59分59.99秒。當(dāng)MODE“1”時,為模式1,秒表系統(tǒng)的計時長度為59.99秒。主控電路各端口作用:輸入端:(1) CLK為外部時鐘信號,CLR為復(fù)位信號輸入端。(2) QT為啟/停信號輸入端。(3) MODE為計時長度模式選擇信號輸入端。輸出端:(1)Q:為啟/??刂戚敵鲂盘?。(2)MINEN:分鐘計時器的異步并行置數(shù)使能信號。(3)SECEN:秒計時器的異步并行置數(shù)使能信號。(4)TSECEN:0.01秒計數(shù)器的異步并行置數(shù)使能信號LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY KZQ IS 圖4.4.3 主控模塊示意圖 PORT(CLK,CLR,A,B:IN STD_LOGIC; Q,MIN_EN,SEC_EN,TSEC_EN:OUT STD_LOGIC);END KZQ;ARCHITECTURE KZQ_ARC OF KZQ ISBEGINPROCESS(CLK,CLR)VARIABLE TMP:STD_LOGIC;BEGIN IF CLR=0 THEN TMP:=0; ELSIF CLKEVENT AND CLK=1 THEN IF A=1 THEN TMP:=NOT TMP; END IF; END IF; Q=TMP;END PROCESS;PROCESS(CLK,CLR)BEGIN IF CLR=0 THEN MIN_EN=0; SEC_EN=0; TSEC_EN=0; ELSIF CLKEVENT AND CLK=1 THEN IF B=1 THEN MIN_EN=0; SEC_EN=1; TSEC_EN=1; ELSE MIN_EN=1; SEC_EN=1; TSEC_EN=1; END IF; END IF;END PROCESS;END KZQ_ARC;4.1.6計時電路模塊在數(shù)字秒表系統(tǒng)中要用到各種計數(shù)器。計數(shù)器是在數(shù)字系統(tǒng)中使用最多的時序電路,它不僅能用于對時鐘脈沖計數(shù),還可以用與分頻,定時,產(chǎn)生節(jié)拍脈沖和脈沖序列以及進行數(shù)字運算等。計數(shù)器的原理是將幾個觸發(fā)器按照一定的順序連接起來,然后根據(jù)觸發(fā)器的狀態(tài)按照一定的規(guī)律隨時鐘的變化來記憶時鐘的個數(shù)。掌握了計數(shù)器的這個原理后,就很容易采用VHDL語言來對計數(shù)器進行描述了。常用的計數(shù)方法有:同步計數(shù)器、可逆計數(shù)器、異步計數(shù)器。(1)同步計數(shù)器就是指在輸入時鐘信號脈沖的控制下,構(gòu)成計數(shù)器的各個觸發(fā)器的狀態(tài)同時發(fā)生變化的一類計數(shù)器。(2)可逆計數(shù)器就是指在輸入時鐘信號脈沖的控制下,即可以進行遞增計數(shù)也可以進行遞減計數(shù)的一類特殊計數(shù)器。對于具體的可逆計數(shù)器來說,需要定義一個用來控制計數(shù)器方向的控制端口updown:當(dāng)控制端口updown的值為邏輯1時,可逆計數(shù)器進行加1操作,即遞增計數(shù);而當(dāng)控制端口updown的值為0時,可逆計數(shù)器進行減1操作,即遞減計數(shù)。(3)異步計數(shù)器就是指構(gòu)成計數(shù)器的低位計數(shù)觸發(fā)器的輸出作為相鄰計數(shù)觸發(fā)器的時鐘,這樣逐級串行連接起來的一類計數(shù)器。也就是說,每一個觸發(fā)器的翻轉(zhuǎn)時刻并不是由時鐘信號來同步的,而是由它的下一位觸發(fā)器的輸出決定,這種時鐘信號的連接方法稱為行波時鐘。因此,設(shè)計人員有時將由行波時鐘驅(qū)動的異步計數(shù)器稱為行波計數(shù)器。異步計數(shù)器與同步計數(shù)器的不同之處在于時鐘信號的提供方式不同,而其他方面則是完全相同的。由于異步計數(shù)器采用行波時鐘進行計數(shù),因此會是使異步計數(shù)器延遲增加,從而影響了該計數(shù)器的使用范圍8。在本次設(shè)計中,采用異步計數(shù)器的方法,用硬件描述語言描述一個異步計數(shù)器,將低/高位計數(shù)器的輸出作為高/低位計數(shù)器的時鐘信號,在本設(shè)計中要用到兩個60進制計數(shù)器,和一個100進制計數(shù)器(1) cnt60計數(shù)模塊:是一個多用計時模塊,既可作計秒電路又可作計分電路調(diào)用。用于秒鐘計時的CNT60_1的VHDL源程序:LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; 圖4.4.4 60進制計數(shù)器(計秒)USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT60_1 IS PORT(CLK,CLR,EN:IN STD_LOGIC; SEC1,SEC0:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); CO:OUT STD_LOGIC);END CNT60_1;ARCHITECTURE CNT60_1_ARC OF CNT60_1 ISBEGIN PROCESS(CLK,CLR) VARIABLE CNT0,CNT1:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN IF CLR=0 THEN CNT0:=0000; CNT1:=0000; ELSIF CLKEVENT AND CLK=1 THEN IF EN=1 THEN IF CNT1=0101 and cnt0= 1000THEN CNT0:=1001; CO=1; elsif cnt01001 then CNT0:=CNT0+1; else cnt0:=0000; IF CNT10101 THEN cnt1:=cnt1+1; else cnt1:=0000; CO=0; END IF; END IF; END IF; END IF; SEC1=CNT1; SEC0=CNT0; END PROCESS;END CNT60_1_ARC用于分鐘計時的CNT60_2的VHDL源程序: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT60_2 IS PORT(CLK,CLR,EN:IN STD_LOGIC; MIN1,MIN0:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); 圖4.4.5 60進制計數(shù)器(計分) CO:OUT STD_LOGIC);END CNT60_2;ARCHITECTURE CNT60_2_ARC OF CNT60_2 ISBEGIN PROCESS(CLK,CLR) VARIABLE CNT0,CNT1:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGI

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論