北交大數(shù)電研究性學習報告-集成電路EDA技術及可編程邏輯器件_第1頁
北交大數(shù)電研究性學習報告-集成電路EDA技術及可編程邏輯器件_第2頁
北交大數(shù)電研究性學習報告-集成電路EDA技術及可編程邏輯器件_第3頁
北交大數(shù)電研究性學習報告-集成電路EDA技術及可編程邏輯器件_第4頁
北交大數(shù)電研究性學習報告-集成電路EDA技術及可編程邏輯器件_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、北 京 交 通 大 學數(shù)字電子線路研究性學習(論文)集成電路 EDA 技術及可編程邏輯器件組員:姓名: 學號: 姓名: 學號: 指導老師: 朱明強 二零一四年十二月數(shù)字電子線路研究性學習(論文)第 II 頁 共 30 頁摘摘 要要 本文通過介紹集成電路 EDA 技術以及可編程邏輯器件 PLD 來了解當前集成電路及 PLD 的發(fā)展。集成電路部分,我們介紹了傳統(tǒng)設計方法和現(xiàn)代設計方法,然后系統(tǒng)的介紹了 EDA 技術。之后我們詳細的介紹了可編程邏輯器件 PLD 的結構、分類、性能特點,以及對低密度和高密度 PLD 不同的設計方法。然后對國內外大型的集成電路設計公司以及他們的產品進行了介紹。硬件的發(fā)展

2、離不開軟件平臺的支持,文中對Max+plus設計平臺的的特點進行了介紹。了解芯片上的文字信息也是一個學習集成電路技術的人必不可少的技能,文章的最后以 FPGA 為例,介紹了其片上信息的具體含義。關鍵詞:集成電路; 可編程邏輯器件; 公司介紹; Max+plus軟件平臺; FPGA片上信息數(shù)字電子線路研究性學習(論文)第 III 頁 共 30 頁Abstract In this article, by introducing EDA technology of integrated circuits and programmable logic device PLD to understand

3、the current integrated circuit, and the development of PLD. Integrated circuit part, we introduced the traditional design method and the modern design method, then the system of EDA technology is introduced. After our detailed introduces the programmable logic devices structure, classification and p

4、erformance characteristics of PLD, and the design method of low density and high density PLD is different. Then the large integrated circuit design company at home and abroad are introduced and their products. The development of the hardware cant depart from the support of software platform, This pa

5、per the characteristics of design platform of Max + plus are introduced. Understand a text message on a chip is also a learning essential skills integrated circuit technology.The end of the article has the FPGA as the example, introduces the specific meaning of the information. Keywords:Integrated c

6、ircuit; Programmable logic devices; Company introduction; The software platform; Information on the FPGA chip 數(shù)字電子線路研究性學習(論文)第 IV 頁 共 30 頁目 錄摘 要.IIABSTRACT.III1集成電路的設計方法.11.1 傳統(tǒng)數(shù)字系統(tǒng)設計方法.11.2 現(xiàn)代數(shù)字系統(tǒng)設計方法.11.3 EDA 技術及現(xiàn)代數(shù)字系統(tǒng)設計流程 .12可編程邏輯器件.32.1 可編程邏輯器件簡介.32.2 可編程邏輯器件 PLD 的基本結構.32.3 可編程邏輯器件 PLD 的分類.32.4

7、可編程邏輯器件 PLD 的性能特點.62.5 可編程邏輯器件 PLD 的設計過程.73當代集成電路設計公司.93.1 國內集成電路設計公司簡介.93.2 國外集成電路設計公司簡介.94可編程邏輯器件軟件設計平臺.114.1 MAX+PLUS軟件設計平臺簡介.114.2 MAX+PLUS開發(fā)系統(tǒng)特點.114.3 MAX+PLUS設計過程.125FPGA 片上文字信息分析.136參考文獻.14數(shù)字電子線路研究性學習(論文)第 1 頁 共 30 頁1 集成電路的設計方法集成電路的設計方法1.1 傳統(tǒng)數(shù)字系統(tǒng)設計方法傳統(tǒng)的數(shù)字邏輯電路理論中,由真值表,卡諾圖,邏輯方程,狀態(tài)表及狀態(tài)圖來完成描述邏輯電路

8、分功能。其特點是采用自下而上的設計方法,具體設計步驟為:分析設計要求,把用文字描述的設計要求抽象成輸入、輸出變量的邏輯關系,根據(jù)邏輯關系列出真值表描述,寫出邏輯函數(shù)表達式,然后使用公式或卡諾圖對真值表進行化簡,得到最小的表達式,再根據(jù)化簡結果畫出電路原理圖,制版實驗,使用調試工具和儀器,對系統(tǒng)進行調試;若設計無誤,則送制板廠制板,若有嚴重錯誤,則需修改設計,并重復實驗。按這樣的過程設計產品,從根據(jù)設計目標得到真值表,到最后完成系統(tǒng)后的測試與調試,所有的工作均需人工完成。可以想象,隨著數(shù)字集成電路的發(fā)展,從小規(guī)模集成電路(SSI)的小于 10 個邏輯門,到中規(guī)模集成電路(MSI)的幾百個邏輯門,

9、再到大規(guī)模集成電路的(LSI)幾萬門,最后甚至到超大規(guī)模集成電路(VLSI),甚大規(guī)模集成電路(ULSI)的幾十萬、幾百萬門電路,集成電路迅速的大規(guī)?;?,使得傳統(tǒng)設計方法根本無法完成得到真值表畫出卡諾圖等工作。而且,傳統(tǒng)設計方法所用元件的種類和數(shù)量較多,一次性成功率低,開發(fā)周期長,系統(tǒng)可靠性差,體積和功耗較大,成本也高。由此可見,傳統(tǒng)的集成電路設計方法效率極低。1.2 現(xiàn)代數(shù)字系統(tǒng)設計方法為了適應現(xiàn)代大規(guī)模和超大規(guī)模集成電路的設計,并使系統(tǒng)獲得良好的性能和正確的結果,現(xiàn)代數(shù)字邏輯電路的設計通常采用從上至下(from top to down)的設計方法,這里的“上”就是指設計者從整個系統(tǒng)邏輯功能

10、出發(fā),進行最上層的系統(tǒng)設計;“至下”就是指按一定原則將全局系統(tǒng)劃分為若干份子系統(tǒng),逐級向下,再將每個子系統(tǒng)劃分為若干個功能模塊,模塊還可以向下劃分為子模塊,直至可用基本模塊實現(xiàn)。如此一來,數(shù)字系統(tǒng)就被劃分為控制電路和若干個受控電路的功能模塊,相當于把一個復雜的系統(tǒng)設計工作化為了一個較小規(guī)模的時序電路和一些基本模塊的問題,從而大大簡化了設計難度,縮短了設計周期。數(shù)字電子線路研究性學習(論文) 第 2 頁 共 30 頁1.3 EDA 技術及現(xiàn)代數(shù)字系統(tǒng)設計流程EDA(電子設計自動化)技術是在計算機輔助設計技術(CAD)基礎上發(fā)展起來的計算機軟件系統(tǒng),是指以計算機為工作平臺,以 EDA 軟件工具為開

11、發(fā)環(huán)境,以硬件描述語言為設計語言,以可編程器件為實驗載體,以專用集成電路、片上系統(tǒng)芯片為器件目標,以電子系統(tǒng)設計為應用方向的電子產品自動化設計過程?,F(xiàn)代數(shù)字系統(tǒng)從上至下的分層設計流程圖如圖 1 所示。每個層次上,大致都有描述、劃分、綜合、驗證等四種工作。其中設計者只需利用圖形輸入或硬件描述語言 VHDL 完成系統(tǒng)描述,然后由計算機自動地完成邏輯編譯、化簡、分割、綜合、優(yōu)化、布局、布線和仿真,直至對于特定目標芯片的適配編譯、邏輯映射和編程下載等工作。極大地提高了電路設計的效率和可操作性,減輕了設計者的勞動強度。圖 1 現(xiàn)代邏輯電路設計基本步驟EDA 設計過程是將傳統(tǒng)的“電路設計硬件搭試調試焊接”

12、模式變?yōu)椤肮δ茉O計軟件模擬編程下載”方式。利用 EDA 工具。電子設計師可以從概念、算法、協(xié)議等開始設計電子系統(tǒng)。大量工作可以通過計算機完成,并可以將電子產品從電路設計、性能分析到設計出 IC 版圖或 PCB 版圖的整個過程在計算機上自動處理完成。數(shù)字電子線路研究性學習(論文) 第 3 頁 共 30 頁2 可編程邏輯器件可編程邏輯器件2.1 可編程邏輯器件簡介在數(shù)字電子系統(tǒng)領域存在三種基本的器件類型:儲存器,微處理器和邏輯器件。而邏輯器件是實現(xiàn)電路功能的核心組成部分。邏輯電路分為兩大類型:固定邏輯器件和可編程邏輯器件。固定邏輯器件中的電路是在出廠前就設計好的,出廠后其功能是不可改變的。而可編程

13、邏輯器件(PLDProgrammable Logic Device)的出現(xiàn)能夠為使用者提供多種自行設計功能,特性,速度和電壓特性的標準的器件。器件的功能不是固定不變的,而是可根據(jù)用戶的需要而進行改變,即由編程的方法來確定器件的邏輯功能。2.2 可編程邏輯器件 PLD 的基本結構大多數(shù)典型的 PLD 器件是由二級組合網(wǎng)絡構成的。通常第一級是“與”陣列;第二級是“或” 陣列。輸入連接“與”陣列,在其中進行“與”邏輯組合,形成乘積項。然后乘積項轉入“或” 陣列,在“或” 陣列中由不同的乘積項構成所要求的邏輯函數(shù)輸出。PLD 基本結構框圖如下:輸入電路輸出電路或陣列與陣列輸入項乘積項或項圖 2 PLD

14、 基本結構框圖2.3 可編程邏輯器件 PLD 的分類基于 PLD 與陣列和或陣列是否編程,可以分為三種基本類型:與陣列固定,或陣列可編程型。包括可編程只讀存儲器 PROM 和可擦除編程只讀存儲器 EPROM;與陣列、或陣列均可編程。包括可編程邏輯陣列 PLA;與陣列可編程,或陣列固定。包括可編程陣列邏輯 PAL、通用列陣邏輯 GAL 和高密度可編程邏輯器件 HDPLD。1. 與陣列固定,或陣列可編程代表器件是可編程只讀存儲器 PROM,其結構為與陣列為全譯碼陣列,或陣列為可編程陣列。由于它以最小項為基礎,因此在設計中無須對函數(shù)簡化。能夠較方數(shù)字電子線路研究性學習(論文) 第 4 頁 共 30

15、頁便地實現(xiàn)多輸入、多輸出的組合邏輯電路。器件的規(guī)模將隨著輸入信號數(shù)量 n 的增加成 2n 指數(shù)級增長。因此 PROM 一般只用于數(shù)據(jù)存儲器,不適于實現(xiàn)邏輯函數(shù)。4*2 位 PROM 如圖所示:與陣列(固定)或陣列(可編程)0A1A1A1A0A0A1F0F圖 3 4*2 位 PROM2. 與或陣列均可編程代表器件是可編程邏輯陣列 PLA,由于它具有與陣列和或陣列均可編程的特點,在編程中,只要形成所需的乘積項,無關項不用構建。這樣一來,大大減少了它的陣列規(guī)模。PLA 與 PROM 相比,有效地提高了芯片利用率,縮小了體積。4*2PLA如圖所示:與陣列(可編程)或陣列(可編程)0A1A1A1A0A0

16、A1F0F圖 4 4*2 位 PLA3. 與陣列可編程,或陣列固定代表器件是可編程陣列邏輯 PAL 和通用陣列邏輯 GAL。這種結構中,或陣列固定若干個乘積項輸出。為了滿足不同用戶的要求,PAL 有各種不同的輸出結構:如固定或門輸出結構、帶反饋的寄存器輸出結構、異或型輸出結構等。由于 PAL 工數(shù)字電子線路研究性學習(論文) 第 5 頁 共 30 頁藝簡單、速度快、功能多變,獲得廣泛接受。GAL 基本上沿襲了 PAL 的結構。與PAL 不同的是,GAL 用可編程的輸出邏輯宏單元 OLMC 代替了固定輸出結構。用戶可對 OLMC 自行組態(tài),以構成不同的輸出結構,因而 GAL 使用起來比 PAL

17、更靈活。PAL 與 GAL 分別如圖所示:0A1A1F0F0A1A1F0F圖 5 PAL 與 GAL207190 34 7812111516192023242728311381518OLMCOLMC41623175243116OLMCOLMC63239157404714OLMCOLMC84855139566312OLMCOLMC11I/CLKIIIIIIIII/OEI/O/QI/O/QI/O/QI/O/QI/O/QI/O/QI/O/QI/O/QCLKOE圖 6 GAL16V8 的結構圖基于 PLD 集成度,可將 PLD 分為低密度 PLD 和高密度 PLD。低密度 PLD 主要包括 PROM、

18、PLA、PAL 和 GAL,高密度 PLD 主要包括復雜可編程邏輯器件CPLD 和現(xiàn)場可編程門陣列 FPGA。具體結果如下圖:數(shù)字電子線路研究性學習(論文) 第 6 頁 共 30 頁圖 7 PLD 分類結構圖復雜可編程邏輯器件 CPLD 與現(xiàn)場可編程門陣列 FPGA 都是一種用戶可編程邏輯器件。它們是在 PAL、GAL 等邏輯器件的基礎上發(fā)展起來的。同以往的 PAL 和GAL 相比,F(xiàn)PGA/CPLD 規(guī)模比較大,適合于時序、組合邏輯電路應用場合。編程方便、集成度高、開發(fā)周期短、速度快、價格合理等都是它的優(yōu)點。2.4 可編程邏輯器件 PLD 的性能特點1. 減小系統(tǒng)體積:單片 PLD 有很高的

19、密度,可容納中小規(guī)模集成電路的幾片到十幾片。2. 增強邏輯設計的靈活性:使用 PLD 器件設計的系統(tǒng),可以不受標準系列器件在邏輯功能上的限制。3. 縮短設計周期:由于可編程特性,用 PLD 設計一個系統(tǒng)所需時間比傳統(tǒng)方式大為縮短。4. 提高系統(tǒng)處理速度:用 PLD 與或兩級結構實現(xiàn)任何邏輯功能,比用中小規(guī)模器件所需的邏輯級數(shù)少。這不僅簡化了系統(tǒng)設計,而且減少了級間延遲,提高了系統(tǒng)的處理速度。5. 提高系統(tǒng)處理速度:用 PLD 與或兩級結構實現(xiàn)任何邏輯功能,比用中小規(guī)模器件所需的邏輯級數(shù)少。這不僅簡化了系統(tǒng)設計,而且減少了級間延遲,提高了系統(tǒng)的處理速度。6. 提高系統(tǒng)的可靠性:用 PLD 器件設

20、計的系統(tǒng)減少了芯片數(shù)量和印制板面積,減少了相互間的連線,增加了平均壽命, 提高了抗干擾能力,從而提高了系統(tǒng)的可靠性。7.某些 PLD 器件,如 GAL 器件或高密度可編程邏輯器件本身具有加密功能。設計者在設計時選中加密項,可編程邏輯器件就被加密,器件的邏輯功能無法被讀取出來,有效的防止邏輯系統(tǒng)被抄襲。數(shù)字電子線路研究性學習(論文) 第 7 頁 共 30 頁明確系統(tǒng)功能確定總體方案子系統(tǒng)具體實現(xiàn)系統(tǒng)仿真實現(xiàn)圖 8 TopDown 設計2.5 可編程邏輯器件 PLD 的設計過程1. 低密度 PLD 的設計過程低密度 PLD 一般采用書面邏輯設計,將電路所需要實現(xiàn)的功能用狀態(tài)轉換圖,狀態(tài)轉換表,真值

21、表或邏輯方程等方式進行表達,然后根據(jù)整個電路的輸入、輸出端數(shù)以及所需要的各類門和觸發(fā)器來選擇能夠滿足設計要求的器件系列和型號。器件的選擇上,除了對功能的的要求外,還應該考慮器件的引腳數(shù),速度,功耗以及結構等特點。2. 高密度 PLD 的設計過程復雜的邏輯功能需要使用高密度 PLD 的編程來實現(xiàn)。由于功能的復雜,不能再使用傳統(tǒng)的書面邏輯設計思路,而是采用“自頂向下(TOP-DOWN)”的設計方法。這里的“頂”指系統(tǒng)的功能,“向下”指將系統(tǒng)由小到大、由粗到細、由復雜變簡單進行分解。自定向下的設計過程由四部分組成。如下圖所示: 第一步為明確系統(tǒng)功能,即對設計的系統(tǒng)的任務、要求、原理以及使用環(huán)境進行考

22、慮,從而明確設計目標、確定系統(tǒng)功能,是一件至關重要的事。因為只有把它做好了,后面的設計工作才有意義,才有效率。第二步為確定總體方案,在明確了設計目標、確定系統(tǒng)功能之后,接下來要做的工作就是根據(jù)系統(tǒng)功能確定出系統(tǒng)設計的總體方案。采用什么原理和方法來實現(xiàn)預定功能,是這一步中必須認真考慮的事。因為同一功能的系統(tǒng)有多種工作原理和實現(xiàn)方法可供選擇,方案的優(yōu)劣直接關系到所設計的整個數(shù)字系統(tǒng)的質量,所以必須周密思考、反復比較和慎重選擇??偟脑瓌t是,所選擇的方案既要能滿足系統(tǒng)的要求,又要具有較高的性能價格比。第三步為系統(tǒng)具體實現(xiàn),在系統(tǒng)方案確定以后再從結構上對系統(tǒng)進行邏輯劃數(shù)字電子線路研究性學習(論文) 第

23、8 頁 共 30 頁分,導出系統(tǒng)的結構框圖。一般把系統(tǒng)從邏輯上劃分為數(shù)據(jù)子系統(tǒng)和控制子系統(tǒng)兩部分。然后,再將各自劃分為多個子系統(tǒng)模塊,各模塊的輸入、輸出信號要明確。這些子系統(tǒng)就可以依據(jù)基礎的數(shù)字設計確定具體電路實現(xiàn)。系統(tǒng)如果有控制算法也包括選擇控制算法及實現(xiàn)。第四步為系統(tǒng)仿真實現(xiàn),在系統(tǒng)設計完成之后,最好先采用 EDA 軟什對所設計的系統(tǒng)進行仿真后再用具體器件搭電路以保證系統(tǒng)設計的正確性和可靠性。電路實現(xiàn)時,一般按自底向上的順序進行。這樣做不僅行利于單個電路的調試,而且也利于整個系統(tǒng)的聯(lián)調。因此,嚴格地講,數(shù)字系統(tǒng)的完整設計過程應該是“自頂向下設計。自底向上集成”。數(shù)字電子線路研究性學習(論文

24、) 第 9 頁 共 30 頁3 數(shù)字電路設計實例數(shù)字電路設計實例數(shù)字鐘數(shù)字鐘3.1 設計任務及要求(1) 設計一個數(shù)字鐘。(2) 用 2 個數(shù)碼管分時顯示小時、分鐘、秒,用個位數(shù)碼管上的 OP 發(fā)光點表示小時。(3) 數(shù)字鐘采用 24 進制計時。(4) 可分別進行小時、分、秒的手動校正。3.2 器件選擇EPM7128S、共陰極七段數(shù)碼管、開關、電阻和電容。3.3 程序設計過程數(shù)字鐘總體框圖如圖所示。圖 9 數(shù)字鐘設計框圖 在程序設計中,本實例遵循了“從上向下”的設計思路,從整個系統(tǒng)的邏輯功能出發(fā),進行上層的系統(tǒng)設計,及調用在下層設計的各種邏輯模塊,從整體上對各個邏輯模塊進行進行連接,從而達到整

25、個系統(tǒng)邏輯功能的實現(xiàn)。電子鐘的下層是各個不同功能的邏輯模塊,包括分頻器模塊、控制信號產生模塊、控制模塊、譯碼顯數(shù)字電子線路研究性學習(論文) 第 10 頁 共 30 頁示電路模塊、 防抖動模塊。分頻器模塊即對 GLK 信號進行分頻,得到需要的頻率,做計數(shù)定時使用??刂菩盘柈a生模塊產生對控制模塊的控制信號,在不同的條件下,產生不同的控制信號,使控制電路的狀態(tài)不同,包括對小時,分鐘,秒的顯示切換以及校正。譯碼顯示模塊即對輸入的信號進行譯碼,驅動數(shù)碼管顯示數(shù)字。防抖動模塊完成按鍵消抖的功能。上層通過對這幾類下層模塊的調用,建立起下層模塊的相互關聯(lián),從而達到了電子時鐘所需要的各類功能。上層以及下層具體

26、程序如下:3.4 VHDL 程序設計(1)上層模塊library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity whole isport(seechange : in std_logic; -看表/校表切換控制信號。hourmins : in std_logic; -時/分/秒切換控制信號。increase : in std_logic; -手動校表時鐘信號。clki : in std_logic; -時鐘信號,1 MHz。sel : ou

27、t std_logic_vector(2 downto 1); -數(shù)碼管片選信號。seg : out std_logic_vector(7 downto 0) ); -數(shù)碼管的驅動信號。end;architecture behave of whole issignal seechangeo: std_logic;signal hourminso : std_logic;signal increaseo: std_logic;signal aclkf : std_logic;signal clk,clk_dis : std_logic;signal low,high : std_logic_ve

28、ctor(3 downto 0);signal n : std_logic;signal ap : std_logic;component kongjian_count -調用控制模塊。port(clk : in std_logic;n : in std_logic;hourmins : in std_logic;increase : in std_logic;low : out std_logic_vector(3 downto 0);high : out std_logic_vector(3 downto 0);p : out std_logic);數(shù)字電子線路研究性學習(論文) 第 11

29、 頁 共 30 頁end component;component divid -調用分頻器模塊。port(clki : in std_logic;clk_dis,clk,clkf : out std_logic);end component;component control is-調用控制信號產生模塊。port(clk : in std_logic;seechange : in std_logic;n : out std_logic);end component;component display-調用譯碼顯示模塊。port(clk_dis,p : in std_logic;low : in

30、 std_logic_vector(3 downto 0);high : in std_logic_vector(3 downto 0);sel : out std_logic_vector(2 downto 1);seg : out std_logic_vector(7 downto 0);end component;component keyin -調用防抖動模塊。port(clk : in std_logic;keyin : in std_logic;keyout : out std_logic);end component;beginu1 : component keyin port

31、map(aclkf,seechange,seechangeo);u2 : component keyin port map(aclkf,hourmins,hourminso);u3 : component keyin port map(aclkf,increase,increaseo);u4 : component divid port map(clki,clk_dis,clk,aclkf);u5 : component control port map(clk,seechangeo,n);u6 : component kongjian_count port map(clk,n,hourmin

32、so,increaseo,low,high,ap);u7 : component display port map(clk_dis,ap,low,high,sel,seg);end behave;(2)下層模塊 分頻器模塊library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity divid is數(shù)字電子線路研究性學習(論文) 第 12 頁 共 30 頁port(clki : in std_logic;-時鐘信號,1 MHz。clk_di

33、s,clk,clkf : out std_logic); -顯示、計時和防抖電路的輸入時鐘。end;architecture d of divid issignal clk1,clk2,clk3,clk4,clk5,clk6 : std_logic;signal count1,count2,count3: std_logic_vector(4 downto 1);signal count4,count5,count6 : std_logic_vector(4 downto 1);beginprocessbeginwait until clki=1;if count1(4 downto 1)=0

34、100 thencount1=0000;clk1=not clk1;elsecount1=count1+1;end if;end process;processbeginwait until clk1=1;if count2(4 downto 1)=0100 thencount2=0000;clk2=not clk2;elsecount2=count2+1;end if;end process;processbeginwait until clk2=1;if count3(4 downto 1)=0100 thencount3=0000;clk3=not clk3;elsecount3=cou

35、nt3+1;end if;end process;processbegin數(shù)字電子線路研究性學習(論文) 第 13 頁 共 30 頁wait until clk3=1;if count4(4 downto 1)=0100 thencount4=0000;clk4=not clk4;elsecount4=count4+1;end if;end process;processbeginwait until clk4=1;if count5(4 downto 1)=0100 thencount5=0000;clk5=not clk5;elsecount5=count5+1;end if;end pr

36、ocess;processbeginwait until clk5=1;if count6(4 downto 1)=0100 thencount6=0000;clk6=not clk6;elsecount6=count6+1;end if;end process;clk=clk6;clk_dis=clk4;clkf=clk5;end d;控制信號產生模塊library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity control ispor

37、t(clk : in std_logic;-計時時鐘,1 Hz。Seechange: in std_logic; -看表/校表切換控制信號。n : out std_logic);-n 為看表/校表狀態(tài)標志,n=0為看表狀態(tài);n=1為校表狀態(tài)。數(shù)字電子線路研究性學習(論文) 第 14 頁 共 30 頁end;architecture c of control istype states1 is(t0,t1);signal state2 : states1;signal kz : std_logic;signal m : std_logic;beginprocess -本進程描述起始狀態(tài)標志的產生

38、。beginwait until clk=1;kz=1;end process;process(seechange) -本進程描述 seechange 按鍵的控制。beginif kz=0 thenstate2state2state2mm=1; -m=1為校表狀態(tài)。end case;end process;n=m;end c;控制模塊library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity kongjian_count isport(c

39、lk : in std_logic; -計時時鐘信號,1 Hz。n : in std_logic;-看表/校表狀態(tài)標志。數(shù)字電子線路研究性學習(論文) 第 15 頁 共 30 頁hourmins : in std_logic;-時/分/秒切換控制信號。increase : in std_logic; -手動校表時鐘信號。low : out std_logic_vector(3 downto 0); -低位數(shù)碼管顯示信號。high : out std_logic_vector(3 downto 0); -高位數(shù)碼管顯示信號。p : out std_logic); -p 是顯示小數(shù)點燈的控制標志。

40、end;architecture c of kongjian_count issignal ahour_h : std_logic_vector(3 downto 0);signal ahour_l : std_logic_vector(3 downto 0);signal amin_h : std_logic_vector(3 downto 0);signal amin_l : std_logic_vector(3 downto 0);signal asec_h : std_logic_vector(3 downto 0);signal asec_l : std_logic_vector(3

41、 downto 0);signal alow : std_logic_vector(3 downto 0);signal ahigh : std_logic_vector(3 downto 0);type states is (s0,s1,s2);signal state : states;beginprocess(clk)beginwait until clk=1;if n=0 then - n=0為看表,將自動計時。asec_l=asec_l + 1;if asec_l=1001 thenasec_l=0000;asec_h=asec_h + 1;if asec_h=0101 thenas

42、ec_h=0000;amin_l=amin_l + 1;if amin_l=1001 thenamin_l=0000;amin_h=amin_h + 1;if amin_h=0101 thenamin_h=0000;ahour_l=ahour_l + 1;if ahour_l=1001 thenahour_l=0000;ahour_h=ahour_h + 1;elsif (ahour_h=0010 and ahour_l=0011) thenahour_h=0000;ahour_lahour_l=ahour_l+1;if ahour_l=1001 thenahour_l=0000;ahour_

43、h=ahour_h + 1;elsif (ahour_h=0010 and ahour_l=0011) thenahour_h=0000;ahour_lamin_l=amin_l+1;if amin_l=1001 thenamin_l=0000;amin_h=amin_h+1;if (amin_h=0101 and amin_l=1001) thenamin_h=0000;amin_lasec_l=asec_l + 1;if asec_l=1001 thenasec_l=0000;asec_h=asec_h + 1;if asec_h=0101 and asec_l=1001 thenasec

44、_l=0000;asec_h=0000;end if;end if;end case;end if;if (state=s0) then -觀看小時指示數(shù)。alow=ahour_l;ahigh=ahour_h;p=1;end if;if (state=s1) then -觀看分鐘指示數(shù)。alow=amin_l;數(shù)字電子線路研究性學習(論文) 第 17 頁 共 30 頁ahigh=amin_h;p=0;end if;if (state=s2) then -觀看秒針指示數(shù)。alow=asec_l;ahigh=asec_h;p state state state=s0;end case;end if

45、;end process;low=alow; high=ahigh;end c;譯碼顯示電路模塊library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity display isport(clk_dis : in std_logic; -時鐘信號,100 Hz。p : in std_logic; -小數(shù)點燈的控制信號。Low : in std_logic_vector(3 downto 0); -低位數(shù)碼管的信號。high : in std

46、_logic_vector(3 downto 0); -高位數(shù)碼管的信號。sel : out std_logic_vector(2 downto 1); -數(shù)碼管片選信號。seg : out std_logic_vector(7 downto 0) ); -數(shù)碼管的驅動信號。end;architecture d of display issignal num : std_logic_vector(3 downto 0);signal numlet : std_logic;signal segsig : std_logic_vector(7 downto 0);signal selsig : s

47、td_logic_vector(2 downto 1);signal ahigh : std_logic_vector(3 downto 0);signal alow : std_logic_vector(3 downto 0);數(shù)字電子線路研究性學習(論文) 第 18 頁 共 30 頁signal seg1 : std_logic_vector(7 downto 0);beginprocess(clk_dis)beginahigh=high;alow=low;if clk_disevent and clk_dis=1 thennumlet=not numlet;if(numlet=1) th

48、ennum(3 downto 0)=alow(3 downto 0);selsig=01;seg1(7 downto 0)=segsig(7 downto 0);elsenum(3 downto 0)=ahigh(3 downto 0);selsig=10;if (p=1) thenseg1(7 downto 0)=segsig(7 downto 0)+1;elsif p=0 thenseg1(7 downto 0)=segsig(7 downto 0);end if;end if;end if;if (num(3 downto 0)=0000) thensegsig(7 downto 0)=

49、01111110;end if;If (num(3 downto 0)=0001) thensegsig(7 downto 0)=00001100;end if;if (num(3 downto 0)=0010) thensegsig(7 downto 0)=10110110;end if;if (num(3 downto 0)=0011) thensegsig(7 downto 0)=10011110;end if;if (num(3 downto 0)=0100) thensegsig(7 downto 0)=11001100;end if;if (num(3 downto 0)=0101

50、) thensegsig(7 downto 0)=11011010;end if;if (num(3 downto 0)=0110) thensegsig(7 downto 0)=11111010;end if;if (num(3 downto 0)=0111) then數(shù)字電子線路研究性學習(論文) 第 19 頁 共 30 頁segsig(7 downto 0)=00001110;end if;if (num(3 downto 0)=1000) thensegsig(7 downto 0)=11111110;end if;if (num(3 downto 0)=1001) thensegsi

51、g(7 downto 0)=11011110;end if;end process;sel=selsig;seg(7 downto 0)=seg1(7 downto 0);end d;防抖動模塊library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity keyin isport(clk : in std_logic; -時鐘信號,10 Hz。keyin : in std_logic; -有抖動的輸入信號。keyout : out std_logic); -防抖動電路的輸出信號。end;archi

52、tecture a of keyin isbeginprocess(clk)variable t : integer range 0 to 1;beginif (clkevent and clk=0) thenif (keyin=1) thenif t=1 thenkeyout=1;elset := t+1;end if;elsekeyout=0;end if;end if;end process;end;數(shù)字電子線路研究性學習(論文) 第 20 頁 共 30 頁3.5 程序說明 (1) 數(shù)字鐘用兩個數(shù)碼管分別顯示小時、 分、 秒, 開機顯示小時, 并以小數(shù)點亮為標志。 按 hourmins

53、鍵(外設開關)可以以時、分、秒的順序交替顯示時間;按 seechange 鍵(外設開關)進入校表狀態(tài),此時按 hourmins 鍵可以分別選擇小時、分、秒,按 increase 鍵(外設開關)使要校的時間個位增 1,逢 10 向十位進一,最大顯示時間為 23 時 59 分 59 秒,此后經 1 秒歸為零時零分零秒,重新計時。 (2) 程序中可用開關產生的邊沿作為狀態(tài)的轉換控制信號,seechange 是“看表/校表”轉換鍵,hourmins 是“時/分/秒”轉換鍵。以 seechange 的上升沿觸發(fā)產生兩個狀態(tài),以 hourmins 的上升沿觸發(fā)產生三個狀態(tài)來控制電路。具體實現(xiàn)時, seec

54、hange 的兩個狀態(tài)轉化成計時控制信號 n,n=0為看表, n=1 為校表;hourmins 的三個狀態(tài) s0 代表小時,s1 代表分,s2 代表秒,并在 s0、s1、s2 狀態(tài)下分別控制顯示時間和校表時間狀態(tài)的分時出現(xiàn)。increase 鍵只利用它作為校時的計數(shù)時鐘。數(shù)字電子線路研究性學習(論文) 第 21 頁 共 30 頁4 當代集成電路設計公司當代集成電路設計公司4.1 國內集成電路設計公司簡介中國華大集成電路設計集團有限公司(簡稱“華大集團”)是一家國有大型集成電路設計企業(yè),由中國電子信息產業(yè)集團有限公司(CEC)和國家開發(fā)投資公司(SDIC)于 2003 年 9 月共同出資成立。注

55、冊資本金 3.67 億元,截至 2011 年 12 月31 日,凈資產達到 35 億元。集團現(xiàn)有控股企業(yè) 6 家,員工一千五百余人。 華大集團業(yè)務涵蓋信息安全、智能卡、通訊、消費類電子和高新電子的集成電路芯片設計、模塊和系統(tǒng)集成、測試以及設計工具軟件開發(fā)與服務,形成了從設計工具開發(fā)、集成電路芯片設計、產品測試、系統(tǒng)集成、技術支持到產業(yè)化應用和產業(yè)項目融資的發(fā)展格局。大唐微電子技術有限公司(簡稱“大唐微電子”)是大唐電信科技股份有限公司(簡稱“大唐電信”)的控股子公司,前身為原郵電部電信科學技術研究院集成電路設計中心。作為目前國內規(guī)模最大的集成電路設計企業(yè)之一,大唐微電子積累了豐富的集成電路設計

56、經驗。多年來,公司在移動通信智能卡領域中,憑借獨具特色的產品與服務,引領了中國國內移動通信智能卡市場穩(wěn)健、快速的發(fā)展。北京北大眾志微系統(tǒng)科技有限責任公司成立于 2002 年 11 月,位于北京市海淀區(qū)中關村,是中華人民共和國信息產業(yè)部認定的“集成電路設計企業(yè)”,是國內領先的專業(yè)從事自主 CPU 及系統(tǒng)設計的高新技術企業(yè)。北大眾志始終堅持自行設計、自主開發(fā),擁有自主知識產權的發(fā)展思路,經過十多年努力,完成了從自主 CPU 指令系統(tǒng)標準到系統(tǒng)芯片,從計算機主板到整機系統(tǒng),從 BIOS、優(yōu)化編譯、操作系統(tǒng)到應用解決方案的研發(fā)和產品化工作。4.2 國外集成電路設計公司簡介Altera 公司(NASDA

57、Q: ALTR)是可編程邏輯解決方案的倡導者,幫助系統(tǒng)和半導體公司快速高效地實現(xiàn)創(chuàng)新,突出產品優(yōu)勢,贏得市場競爭。Altera 的FPGA、SoC FPGA、CPLD 和 HardCopy ASIC 結合軟件工具、知識產權、嵌入式處理器和客戶支持,為全世界 13,000 多名客戶提供非常有價值的可編程解決方案。Altera 的主流 FPGA 分為兩大類,一種側重低成本應用,容量中等,性能可以滿足一般的邏輯設計要求,如 Cyclone,CycloneII;還有一種側重于高性能應用,容量大,性能能滿足各類高端應用,如 Startix,StratixII 等,用戶可以根據(jù)自己實際應用要求數(shù)字電子線路

58、研究性學習(論文) 第 22 頁 共 30 頁進行選擇。在性能可以滿足的情況下,優(yōu)先選擇低成本器件。Xilinx 是全球領先的 All Programmable FPGA、SoC 和 3D IC 提供商。 這些行業(yè)領先的器件與新一代設計環(huán)境以及 IP 完美地整合在一起,可滿足客戶對可編程邏輯乃至可編程系統(tǒng)集成的廣泛需求。憑借 3,500 項專利和 60 項行業(yè)第一,Xilinx 取得了一系列歷史性成就,包括推出業(yè)界首款 FPGA 器件和開啟無工廠代工模式(Fabless)等。Xilinx 最近的創(chuàng)新,讓其從傳統(tǒng)的可編程邏輯公司轉型為“All Programmable”的公司,把各種形式的硬件、軟件、數(shù)字和模擬可編程技術創(chuàng)建并整合到其 All Programmable FPGA、SoC 和 3D IC 中。這些器件集可編程系統(tǒng)的高集成度、嵌入式智能和靈活性價值為一身,支持高度可編程智能系統(tǒng)的快速開發(fā)。數(shù)字電子線路研究性學習(論文) 第 23 頁 共 30 頁5 可編程邏輯器件軟件設計平臺可編程邏輯器件軟件設計平臺可編程邏輯器件的軟件平臺,都是由 PLD/FPGA 芯片廠家提供,基本都可以完成所有的設計輸入(原理圖或 HDL),仿真,綜合,布線,下載等工作。比較知名的可編程邏輯器件軟件設計平臺有 Altera 公司的Quar

溫馨提示

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

評論

0/150

提交評論