




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、摘 要本次課程設(shè)計為通過 EDA 仿真軟件 QuartusII 設(shè)計一個電子鐘, 進行試驗設(shè) 計和仿真調(diào)試,包含以下主要功能:計時功能、整點報時功能、秒表功能、顯示 日期和重置時間功能。 電子鐘實際上是一個對標(biāo)準(zhǔn)頻率 (10Hz 進行計數(shù)的計數(shù) 電路。 振蕩器產(chǎn)生的時鐘信號經(jīng)過分頻器形成秒脈沖信號, 秒脈沖信號輸入計數(shù) 器進行計數(shù),并把累計結(jié)果以“時” 、 “分” 、 “秒”的數(shù)字顯示出來。秒計數(shù)器電 路計滿 60后觸發(fā)分計數(shù)器電路, 分計數(shù)器電路計滿 60后觸發(fā)時計數(shù)器電路, 當(dāng) 計滿 24小時后又開始下一輪的循環(huán)計數(shù)。一般由分頻器、計數(shù)器、譯碼器、數(shù) 碼顯示器等幾部分組成。設(shè)計時采用了層次
2、設(shè)計思想,功能逐級遞加。關(guān)鍵詞 :QuartusII 電子鐘 仿真AbstractThe curriculum design for through the EDA simulation software QuartusII design an electronic clock, test design and simulation debugging, contains the following main functions: timing function, the integral point time function, stopwatch function, display the
3、 date and reset time function. Electronic clock is actually a standard frequency (10 hz to count the counting circuit. Oscillator clock signal produced by frequency divider form second pulse signal, the second pulse signal input counter to count, and the cumulative results to "hours","
4、; points ", "seconds" digital display. Second counter circuit meter full after sixty trigger points counter circuit, points counter circuit meter full after sixty when triggered counter circuit, when the meter with 24 hours after began to the next round of cycle count. Generally the f
5、requency divider, counter, decoder, digital display and so on several parts. The design of the hierarchical design ideas, function step by step increase gradually. Keywords :QuartusII electronic clock simulation目 錄摘 要 . 1 Abstract . 2 目 錄 . . 3 第一章 緒論 . 4 1.1 歷史背景 . 4 1.2 EDA技術(shù)簡介 . 5 1.2.1 EDA技術(shù)的概念
6、. 5 1.2.2 EDA技術(shù)的基本特征 . 5 1.2.3 EDA技術(shù)的發(fā)展 . 6 1.3 QuartusII仿真軟件的使用簡介 . 7 1.3.1 設(shè)計工作流程 . 7 1.3.2 設(shè)計輸入 . 7 1.3.3 編譯 . 8 1.3.4 仿真 . 9 第二章 各個模塊的設(shè)計原理 . .11 2.1 整體設(shè)計思路 .11 2.2 各模塊設(shè)計思路 . 12 第三章 仿真波形 . 14 3.1毫秒計數(shù)器仿真波形 . . 14 3.2秒計數(shù)器仿真波形 . 14 3.3分計數(shù)器仿真波形 . 15 3.4時計數(shù)器仿真波形 . 15 3.5星期計數(shù)器仿真波形 . . 16 3.6日計數(shù)器模塊仿真波形
7、. 16 3.7月計數(shù)器模塊仿真波形 . 17 3.8年計數(shù)器仿真波形 . 17 第四章 總結(jié) . 18 謝辭 . 19 參考文獻 . 20 附錄 . 21第一章 緒論1.1 歷史背景三 十 多 年 來, EDA 技 術(shù) 經(jīng) 歷 了 計 算 機 輔助 設(shè) 計 CAD(Computer Assist Design 、計算機輔助工程設(shè)計 CAE(Computer Assist Engineering Design 和電子 系統(tǒng)設(shè)計自動化 ESDA(Electronic System Design Automation三個發(fā)展階段。 20世紀(jì) 70年代,隨著中小規(guī)模集成電路的出現(xiàn)和應(yīng)用,傳統(tǒng)的手工制
8、圖設(shè) 計 PCB 和 IC 的方法已無法滿足設(shè)計精度和效率的要求, 人們開始借助計算機二 維平面圖形編輯與分析工具進行 IC 版圖編輯和 PCB 布局布線, 從而產(chǎn)生了 CAD 的概念。受當(dāng)時計算機工作平臺的制約, CAD 所支持的設(shè)計工作有限且性能比 較差。20世紀(jì) 80年代為 CAE 階段。與 CAD 相比, CAE 增加了電路功能設(shè)計和 結(jié)構(gòu)設(shè)計, 并且通過電氣連接網(wǎng)表將兩者結(jié)合在一起, 以實現(xiàn)工程設(shè)計。 其主要 功能包括原理圖輸入、 邏輯仿真、 電路分析、 自動布局布線以及 PCB 後分析。 但是, 大部分從原理圖出發(fā)的 EDA 工具仍然不能適應(yīng)復(fù)雜電子系統(tǒng)設(shè)計的要求, 而且具體化的元
9、件圖形制約著優(yōu)化設(shè)計。20世紀(jì) 90年代為 ESDA 階段。盡管 CAD/CAE技術(shù)取得了巨大的成功,但 在整個設(shè)計過程中,自動化和智能化程度不高。各種 EDA 軟件互不兼容,直接 影響到設(shè)計環(huán)節(jié)間的銜接。 於是, 設(shè)計師逐步從使用硬件轉(zhuǎn)向設(shè)計硬件, 從電路 級電子產(chǎn)品開發(fā)轉(zhuǎn)向系統(tǒng)級電子產(chǎn)品開發(fā)。ESDA 工具便是以系統(tǒng)級設(shè)計為核心,包括系統(tǒng)行為級描述與結(jié)構(gòu)級綜合、 系統(tǒng)仿真與測試驗證、 系統(tǒng)劃分與指標(biāo)分配、 系統(tǒng)決策與文件生成等一整套的電 子系統(tǒng)設(shè)計自動化工具。 ESDA 技術(shù)的出現(xiàn),極大地提高了系統(tǒng)設(shè)計的效率,使 設(shè)計師擺脫了大量的輔助設(shè)計工作,把精力集中於創(chuàng)造性的方案與概念構(gòu)思上, 從而
10、極大地提高了設(shè)計效率,并縮短了產(chǎn)品的研制周期。1.2 EDA技術(shù)簡介1.2.1 EDA技術(shù)的概念Electronic Design Automation即電子設(shè)計自動化。以大規(guī)模可編程邏輯器件為設(shè)計載體, 以硬件描述語言為系統(tǒng)邏輯描述的主 要表達方式, 以計算機、 大規(guī)模可編程器件的開發(fā)軟件及實驗開發(fā)系統(tǒng)為設(shè)計工 具, 自動完成用軟件方式描述的電子系統(tǒng)到硬件系統(tǒng)的邏輯編譯、 邏輯化簡、 邏 輯分割、 邏輯綜合及優(yōu)化、 布局布線、 邏輯仿真, 直至完成對于特定目標(biāo)芯片的 適配編譯、 邏輯映射、 編程下載等工作, 最終形成集成電子系統(tǒng)或?qū)S眉尚酒?的一門多學(xué)科融合的新技術(shù)。EDA 技術(shù)的廣義定義
11、范圍包括:1、半導(dǎo)體工藝設(shè)計自動化;2、可編程器件設(shè)計自動化;3、電子系統(tǒng)設(shè)計自動化;4、印刷電路板設(shè)計自動化;5、仿真與測試、故障診斷自動化;6、形式驗證自動化。以上各部分統(tǒng)稱為 EDA 工程。1.2.2 EDA技術(shù)的基本特征EDA 代表了當(dāng)今電子設(shè)計技術(shù)的最新發(fā)展方向,它的基本特征是:設(shè)計人 員按照 “自頂向下” 的設(shè)計方法, 對整個系統(tǒng)進行方案設(shè)計和功能劃分, 系統(tǒng)的 關(guān)鍵電路用一片或幾片專用集成電路(ASIC 實現(xiàn),然后采用硬件描述語言 (HDL 完成系統(tǒng)行為級設(shè)計,最后通過綜合器和適配器生成最終的目標(biāo)器件, 這樣的設(shè)計方法被稱為高層次的電子設(shè)計方法。下面介紹與 EDA 基本特征有關(guān)
12、的幾個概念。1. “自頂向下”的設(shè)計方法 10年前,電子設(shè)計的基本思路還是選用標(biāo)準(zhǔn)集 成電路 “自底向上” 地構(gòu)造出一個新的系統(tǒng), 這樣的設(shè)計方法就如同一磚一瓦建 造金字塔,不僅效率低、成本高而且容易出錯。2. ASIC 設(shè)計現(xiàn)代電子產(chǎn)品的復(fù)雜度日益提高, 一個電子系統(tǒng)可能由數(shù)萬個 中小規(guī)模集成電路構(gòu)成, 這就帶來了體積大、 功耗大、 可靠性差的問題。 解決這 一問題的有效方法就是采用 ASIC 芯片進行設(shè)計。 ASIC 按照設(shè)計方法的不同可 分為全定制 ASIC 、半定制 ASIC 和可編程 ASIC (也稱為可編程邏輯器件 。 3. 硬件描述語言硬件描述語言 (HDL 是一種用于設(shè)計硬件電
13、子系統(tǒng)的計算 機語言, 它用軟件編程的方式來描述電子系統(tǒng)的邏輯功能、 電路結(jié)構(gòu)和連接形式, 與傳統(tǒng)的門級描述方式相比,它更適合大規(guī)模系統(tǒng)的設(shè)計。例如一個 32位的加 法器,利用圖形輸入軟件需要輸入 500至 1000個門,而利用 VHDL 語言只需要 書寫一行“ A=B+C ”即可。而且 VHDL 語言可讀性強,易于修改和發(fā)現(xiàn)錯誤。 早期的硬件描述語言,如 ABEL 、 HDL 、 AHDL ,由不同的 EDA 廠商開發(fā),互 不兼容, 而且不支持多層次設(shè)計, 層次間翻譯工作要由人工完成。 為了克服以上 不足, 1985年美國國防部正式推出了高速集成電路硬件描述語言 VHDL , 1987年IE
14、EE采納VHDL為硬件描述語言標(biāo)準(zhǔn)(IEEESTD-1076。4.EDA系統(tǒng)框架結(jié)構(gòu)EDA系統(tǒng)框架結(jié)構(gòu)(Framework是一套配置和使用EDA軟件包的規(guī)范。目前主要的EDA系統(tǒng)都建立了框架結(jié)構(gòu),如Cadence公司的DesignFramework,Mentor公司的FalconFramework,而且這些框架結(jié)構(gòu)都遵守國際CFI組織制定的統(tǒng)一技術(shù)標(biāo)準(zhǔn)??蚣芙Y(jié)構(gòu)能將來自不同EDA廠商的工具軟件進行優(yōu)化組合,集成在一個易于管理的統(tǒng)一的環(huán)境之下,而且還支持任務(wù)之間、設(shè)計師之間以及整個產(chǎn)品開發(fā)過程中的信息傳輸與共享,是并行工程和自頂向下設(shè)計方法的實現(xiàn)基礎(chǔ)。1.2.3 EDA技術(shù)的發(fā)展1、早期電子CA
15、D(Computer Aided Design階段20世紀(jì)70年代,屬EDA技術(shù)發(fā)展初期。利用計算機、二維圖形編輯與分析的CAD工具,完成布圖布線等高度重復(fù)性的繁雜工作。典型設(shè)計軟件如Tango布線軟件。2、計算機輔助工程設(shè)計CAE階段20世紀(jì)80年代初,出現(xiàn)了低密度的可編程邏輯器件(PAL_Programmable Array Logic 和GAL_Generic Array Logic,相應(yīng)的EDA開發(fā)工具主要解決電路設(shè)計沒有完成之前的功能檢測等問題。80年代后期,EDA工具已經(jīng)可以進行初級的設(shè)計描述、綜合、優(yōu)化和設(shè)計結(jié)果驗證。3、電子設(shè)計自動化(EDA階段20世紀(jì)90年代,可編程邏輯器件
16、迅速發(fā)展,出現(xiàn)功能強大的全線EDA工具。具有較強抽象描述能力的硬件描述語言(VHDL、V erilog HDL及高性能綜合工具的使用,使過去單功能電子產(chǎn)品開發(fā)轉(zhuǎn)向系統(tǒng)級電子產(chǎn)品開發(fā)(即SOC_ System On a Chip:單片系統(tǒng)、或片上系統(tǒng)集成。開始實現(xiàn)“概念驅(qū)動工程”(Concept Driver Engineering, CDE 的夢想。1.3 QuartusII仿真軟件的使用簡介Quautus II是Altera 公司的綜合性PLD開發(fā)軟件,支持原理圖、VHDL、V erilog-HDL以及AHDL等多種設(shè)計輸入形式,內(nèi)嵌自有的綜合器以及仿真器,可以完成從設(shè)計輸入到硬件配置的完整
17、的PLD設(shè)計流程。它支持Altera的IP核,包含了LPM/MegaFunction宏功能模塊庫,使用戶可以充分利用成熟的模塊,簡化了設(shè)計的復(fù)雜性、加快了設(shè)計速度。對EDA第三方工具的良好支持也使用戶可以在設(shè)計流程的各個階段使用熟悉的第三方EDA工具。1.3.1 設(shè)計工作流程Quartus II 的設(shè)計流程圖如圖所示設(shè)計輸入設(shè)計編譯功能仿真時序仿真硬件配置與驗證圖1.1 設(shè)計流程圖用戶首先對所做項目進行設(shè)計,明確設(shè)計目的、設(shè)計要求。然后利用原理圖輸入方式或文本輸入方式進行設(shè)計輸入。輸入完成后進行編譯,若編譯過程中發(fā)現(xiàn)錯誤,則應(yīng)檢查設(shè)計輸入以修改錯誤,直至沒有錯誤產(chǎn)生。編譯完成后進行仿真,檢查是
18、否達到了設(shè)計要求,若未達到要求,需重新檢查設(shè)計輸入及編譯過程,不斷迭代、收斂直至滿足設(shè)計要求。最后將設(shè)計配置到目標(biāo)器件中進行硬件驗證與測試。1.3.2 設(shè)計輸入Quartus II 支持多種設(shè)計輸入方法,既允許用戶使用多種方法描述設(shè)計,常用的設(shè)計輸入方式有:原理圖輸入、文本輸入和第三方EDA工具輸入。輸入方法不同,生成的文件格式也不同。QuartusII5.0版本軟件中的設(shè)計輸入支持的文件格式有:VHDL、Verilog-HDL、AHDL、Block Design File(原理圖輸入、EDIF(網(wǎng)表文件輸入。本例中主要介紹文本輸入方法和原理圖輸入方法。VHDL(.vhd文件:IEEE標(biāo)準(zhǔn)描述
19、語言。有美國國防部的邏輯描述標(biāo)準(zhǔn)發(fā)展而來,因而系統(tǒng)性、結(jié)構(gòu)性較好。支持從系統(tǒng)級到門級的描述方式,是目前最常用的HDL描述語言之一,可移植性較好。V erilog-HDL(.v文件:IEEE標(biāo)準(zhǔn)描述語言。擁有和C語言類似的格式和語法,在ASIC設(shè)計領(lǐng)域應(yīng)用廣泛。支持行為級描述并在門級描述方面擁有獨特的優(yōu)勢,也是目前最常用的HDL描述語言之一,可移植性較好。AHDL(.tdf文件:Altera 公司自有的HDL描述語言。在Altera公司的軟件工具及提供的設(shè)計資源中應(yīng)用廣泛。雖然并不是主流的HDL描述方式,可移植性也不是很好(只能用于Altera的綜合器,但是使用它在描述一些邏輯尤其是與Alter
20、a器件底層相關(guān)的設(shè)計時結(jié)合的很好。Block Design File(.bdf文件:原理圖輸入方式。幾乎所有的EDA工具都會提供原理圖輸入方式,這種方式簡單易用而且非常直觀,缺點時直觀的圖形背后調(diào)用的模塊庫不兼容導(dǎo)致了這種描述方式的可移植性不好。值得一提的是,Quartus II的原理圖輸入方式實現(xiàn)了從原理圖模塊到HDL描述語言的雙向自動轉(zhuǎn)換功能,即可以實現(xiàn)原理圖和HDL的混合輸入,這在進行大型設(shè)計時是相當(dāng)有意義的。EDIF Netlist(.edf文件:網(wǎng)表文件輸入。網(wǎng)表記錄的是設(shè)計的組成以及連接方式,由第三方綜合工具產(chǎn)生或者IP供應(yīng)商提供。這種輸入方式與上述四種的層次是不同的,可以理解為是
21、已經(jīng)綜合完成的設(shè)計,Quartus II會根據(jù)網(wǎng)表的描述進行布局布線將設(shè)計具體部署到確定的Altera器件中。1.3.3 編譯在標(biāo)準(zhǔn)PLD設(shè)計流程中,編譯(Compilation包括綜合(Synthesis和布局布線(Place&Route兩個階段。在綜合階段,綜合器將HDL語言描述翻譯成基本的邏輯門、存儲器、觸發(fā)器等基本邏輯單元的連接關(guān)系,稱為網(wǎng)表(Netlist。在這個過程中,綜合器會根據(jù)用戶的約束與本身的算法優(yōu)化生成網(wǎng)表,目的是讓生成的設(shè)計擁有更快的速度并占有更好的資源。完成綜合后需要根據(jù)目標(biāo)器件進行布局布線,利用芯片內(nèi)的可用邏輯資源最終將設(shè)計在物理層次上實現(xiàn)。Quartus I
22、I將編譯劃分為Analysis & Synthesis、Fitters、Assembler和Timing Analyzer 4個階段。其中Analysis & Synthesis就是綜合,Fitters為布局布線;后面的Assembler用于生成編譯輸出文件,而Timing Analyzer是時序分析流程。用戶可以分別進行編譯的這4個階段,也可以直接執(zhí)行完全編譯讓Quartus II自動完成整個編譯工作。1.啟動編譯在Quartus II界面上執(zhí)行菜單Processing->Start Compilation或者使用Ctrl +L快捷鍵啟動Quartus II的完全編譯。
23、可以在狀態(tài)窗口中看到當(dāng)前編譯的運行狀態(tài)。在編譯的過程中Quartus II會在消息框中顯示編譯中的警告、錯誤和消息,并在編譯結(jié)束后給出完成的綜合報告。遇到編譯錯誤,Quartus II會立即終止編譯流程,并給出錯誤信息,雙擊錯誤名稱,Quartus II會自動在HDL代碼等設(shè)計源描述中定位出錯位置。2.完成編譯編譯完成后,Quartus II會給出對話框提示,并給出編譯報告。其中包括了設(shè)計的資源占有信息、時序分析報告等綜合信息,用戶可以通過閱讀這個報告了解Quartus II的編譯結(jié)果。3.查看RTL試圖通過執(zhí)行Tool->RTL Viewer菜單命令可以觀察到設(shè)計的RTL試圖。在Qua
24、rtus II中,執(zhí)行完Analysis and Elaboration流程后即可以觀察RTL電路圖,所以RTL電路圖是在綜合及布局布線前生成的,并非設(shè)計的最終電路結(jié)構(gòu)。RTL 試圖是設(shè)計的寄存器傳輸級展現(xiàn),作為設(shè)計輸入最忠實的體現(xiàn),RTL試圖的主要作用是幫助設(shè)計者檢查設(shè)計輸入中的問題。1.3.4 仿真對工程的編譯通過后,必須對其功能和時序性質(zhì)進行仿真測試,以了解設(shè)計結(jié)果是否滿足原設(shè)計要求。再把設(shè)計配置到器件之前,可以通過仿真對設(shè)計進行全面測試,保證設(shè)計是在各種條件下都能有正確的響應(yīng)。仿真分為功能仿真和時序仿真,功能仿真僅僅測試設(shè)計的邏輯功能;而時序仿真不僅測試邏輯功能,而且測試設(shè)計的目標(biāo)器件
25、處在最差情況下的時序關(guān)系。1新建波形文件在Quartus II界面中,執(zhí)行File->New菜單命令,在彈出的新建對話框中選擇Other File選項卡,選擇V ector Waveform File項目,點擊【OK】按鈕,可以看到Quartus II創(chuàng)建的名為Waveform1.vmf的仿真波形文件,使用File ->Save As命令將其另存。2添加仿真信號在進行仿真之前必須添加仿真信號,即仿真中的激勵以及所要觀察的信號。在Quartus II中添加仿真信號有多種方法,這里可以通過執(zhí)行Edit->Inset Node or Bus菜單命令打開Insert Node or
26、Bus對話框,在Name欄中填入設(shè)計中需要觀察的端口信號,Quartus II會自動給出其輸入輸出類型與其他參數(shù),點擊【OK】即可將其添加到波形文件中。3設(shè)置仿真激勵Quartus II提供了多種方式來設(shè)置信號的仿真激勵,選中所需要的信號后點擊鼠標(biāo)右鍵,在彈出的快捷菜單中打開V alue子菜單,便可以看到Quartus II 提供的仿真激勵類型。除了使用快捷菜單還可以直接使用工具欄進行仿真激勵的設(shè)置。4啟動仿真執(zhí)行Quartus II菜單中的Processing->Start Simulation命令或者Ctrl+I 快捷鍵即可啟動仿真。Quartus II會在狀態(tài)窗口顯示仿真的運行狀態(tài)
27、,并在消息窗口給出仿真過程中出現(xiàn)的警告、錯誤和信息。在完成仿真后Quartus II會自動彈出仿真報告,如果沒有自動彈出也可以執(zhí)行Precessing->Simulation Report手動打開。需要注意的是,Quartus II并不允許直接在仿真報告的波形圖中修改仿真激勵,如果用戶進行了修改,Quartus II會彈出編輯輸入向量對話框。該對話框提供兩個單選框解釋如下:(1I want to overwrite:使用仿真報告波形窗口中的內(nèi)容覆蓋仿真文件窗口中的波形。(2I dont want to overwrite:跳回仿真文件窗口進行修改。第二章 各個模塊的設(shè)計原理2.1 整體設(shè)
28、計思路本次設(shè)計的電子鐘計時模塊有4部分構(gòu)成:毫秒計時器、 秒計時器、 分計時器、 時計時器。譯碼顯示時計數(shù)器報時器秒計數(shù)器毫秒計數(shù)器分計數(shù)器星期月年秒表圖2.1 電子鐘設(shè)計框圖2.2 各模塊設(shè)計思路毫秒計時器是由一個100進制的計數(shù)器構(gòu)成的,具有清0、置數(shù)和計數(shù)功能。其中reset為清0信號,當(dāng)reset為0時,毫秒計時器清0; clk為驅(qū)動秒計時器的時鐘,secm1、secm0為秒計時器的輸出,co為秒計時器的進位信號,作為下一級的時鐘輸入信號。秒計時器是由一個60進制的計數(shù)器構(gòu)成的,具有清0、置數(shù)和計數(shù)功能。其中reset為清0信號,當(dāng)reset為0時,秒計時器清0;set1 為置數(shù)信號,
29、當(dāng)set1為0時,秒計時器置數(shù),置sin1的值。clk為驅(qū)動秒計時器的時鐘,sec1為秒計時器的輸出,carry1為秒計時器的進位信號,作為下一級的時鐘輸入信號。分計時器是由一個60進制的計數(shù)器構(gòu)成的,具有清0、置數(shù)和計數(shù)功能。其中reset為清0信號,當(dāng)reset為0時,分計時器清0;set2 為置數(shù)信號,當(dāng)set2為0時,分計時器置數(shù),置sin1的值。 clk為驅(qū)動分計時器工作的時鐘,與carry1相連接;min1為分計時器的輸出;carry2為分計時器的進位信號,作為下一級的時鐘輸入信號。時計時器是由一個24進制的計數(shù)器構(gòu)成的,具有清0、置數(shù)和計數(shù)功能。其中reset為清0信號,當(dāng)res
30、et為0時,時計時器清0;set3 為置數(shù)信號,當(dāng)set3為0時,時計時器置數(shù),置sin1的值。 clk為驅(qū)動時計時器工作的時鐘,與carry2相連接;hour1為時計時器的輸出;carry3為時計時器的進位信號,作為下一級的時鐘輸入信號。日計時器(date是由一個30進制的計數(shù)器構(gòu)成的,具有清0、和計數(shù)功能。其中reset為清0信號,當(dāng)reset為0時,日計時器清1; clk為驅(qū)動時計時器工作的時鐘,與carry3相連接;dat1、dat2為日計時器的輸出;endate為日計時器的進位信號,作為下一級的時鐘輸入信號。月計時器(month是由一個12進制的計數(shù)器構(gòu)成的,具有清0、和計數(shù)功能。其
31、中reset為清0信號,當(dāng)reset為0時,月計時器清1; clk為驅(qū)動時計時器工作的時鐘,與count相連接;month為月計時器的輸出;count為月計時器的進位信號,作為下一級的時鐘輸入信號。年計時器(year:具有清0、和計數(shù)功能。其中reset為清0信號,當(dāng)reset 為0時,年計時器清2012; clk為驅(qū)動時計時器工作的時鐘,與count相連接; year為年計時器的輸出。報時模塊(alarm:clk為驅(qū)動報時工作的時鐘,與carry2相連接;q為報時模塊第三章仿真波形3.1毫秒計數(shù)器仿真波形 3.2秒計數(shù)器仿真波形 3.3分計數(shù)器仿真波形 3.4時計數(shù)器仿真波形 3.5星期計數(shù)
32、器仿真波形 3.6日計數(shù)器模塊仿真波形 3.7月計數(shù)器模塊仿真波形 3.8年計數(shù)器仿真波形 第四章總結(jié)本次課程設(shè)計使得我們對這個學(xué)期學(xué)習(xí)的EDA課程得到了鞏固和近一步的深入了解。之前做實驗的時候我們用的仿真軟件是Max-Plus 2,而這次課設(shè)我們則是學(xué)習(xí)了Quartus 2仿真軟件的使用,開始時有點困難,后面熟悉后便習(xí)慣了。在做課程設(shè)計的時候,總是會犯一些錯誤,經(jīng)過不停的改錯不停的編譯才得到正確的程序。后來我發(fā)現(xiàn)在編程的時候,使用結(jié)構(gòu)化的思想,對檢查程序會十分方便,只要一個模塊一個模塊的進行調(diào)就可以了。通過這次設(shè)計,我積累了一定的經(jīng)驗,現(xiàn)在當(dāng)我面對一次次錯誤的時候,我已經(jīng)可以耐心的去解決它。
33、我相信這將對我以后從事集成電路設(shè)計工作會有一定的幫助。這次課設(shè)十分有意義,之中鍛煉了我們自己的實際操作,尋找問題,改正錯誤的能力。也將一些我們在課堂上學(xué)習(xí)的知識的運用到了實驗中,一起有些不理解的理論知識,都能通過實驗得到驗證。遇到困難的時候,也會上網(wǎng)去查找資料,也會尋求老師和同學(xué)的幫助,通過這次EDA的課程設(shè)計,我進一步加深了對EDA 的了解。謝辭本次EDA課程設(shè)計在課設(shè)過程中運用到了許多老師上課講到的內(nèi)容。自己也體會到老師所講的不斷在實際動手操作中開拓思路,對待問題要舉一反三,敢于提出問題和創(chuàng)新的思想,這些對于幫助我解決問題起到了很大的作用。在這里要感謝老師。在課設(shè)過程中也會向身邊的同學(xué)尋求
34、幫助,她們也都細(xì)心的跟我一起討論,我們也會互相交流自己遇到的問題,比如編程中出現(xiàn)的問題,比如軟件的使用等等。感謝身邊的同學(xué)給我的幫助。參考文獻1 潘松EDA技術(shù)實用教程科學(xué)出版社2 徐志軍CPLD/FPGA的開發(fā)與應(yīng)用電子工業(yè)出版社3 潘松、黃繼業(yè)EDA技術(shù)與Verilog HDL清華大學(xué)出版社4 5 附錄頂層文件:Library ieee;Use ieee.std_logic_1164.all;Use ieee.std_logic_arith.all;Use ieee.std_logic_unsigned.all;Entity topclock isPort(clk,reset,set1,s
35、et2,set3,stop:in std_logic;sec,min,hourm:out std_logic_vector(7 downto 0;sin1:in STD_LOGIC_VECTOR(7 DOWNTO 0;secm1,secm0,monthm:out std_logic_vector(3 downto 0;-weekmdata1,data2:out std_logic_vector(3 downto 0;yearm:out std_logic_vector(15 downto 0;alarm:out std_logic;End;Architecture one of topcloc
36、k isComponent MINSECONDbport(clk,clrm,stop:in std_logic;secm1,secm0:out std_logic_vector(3 downto 0;co:out std_logic;End Component;Component secondPORT(clk,reset,set:IN STD_LOGIC;sec1:OUT STD_LOGIC_VECTOR(7 DOWNTO 0;sin:in STD_LOGIC_VECTOR(7 DOWNTO 0;carry1:OUT STD_LOGIC;End Component;Component minu
37、tePORT(clk,reset,set:IN STD_LOGIC;min1:OUT STD_LOGIC_VECTOR(7 DOWNTO 0;sin:in STD_LOGIC_VECTOR(7 DOWNTO 0;carry2:OUT STD_LOGIC;End Component;Component hourPORT(clk,reset,set:IN STD_LOGIC;hour1:OUT STD_LOGIC_VECTOR(7 DOWNTO 0;sin:in STD_LOGIC_VECTOR(7 DOWNTO 0;carry3:OUT STD_LOGIC;End Component;Compo
38、nent alertq:out std_logic;End Component;Component yearPORT(clk,reset:IN STD_LOGIC;year:OUT STD_LOGIC_VECTOR(15 DOWNTO 0;End Component;Component monthPORT(clk,reset:IN STD_LOGIC;month:OUT STD_LOGIC_VECTOR(3 DOWNTO 0;count:out std_logic;End Component;Component weekPORT(clk,reset:IN STD_LOGIC;week:OUT
39、STD_LOGIC_VECTOR(3 DOWNTO 0;count:out std_logic;End Component;Component date1Port ( clkd,reset : in std_logic;dat2,dat1 : out std_logic_vector(3 downto 0;endate : out std_logic;End Component;signal ens,enm,enh,enda:std_logic;signal enw,enmon,endat:std_logic;beginu1:minsecondb port map(clrm=>reset
40、,stop=>stop,clk=>clk,secm1=>secm1,secm0=>secm0,co=>ens;u2: second port map(reset=>reset,set=>set1,sin=>sin1,clk=>ens,sec1=>sec,carry1=>enm;u3: minute port map(reset=>reset,set=>set2,sin=>sin1,clk=>enm,min1=>min,carry2=>enh;u4: hour port map(reset=&g
41、t;reset,set=>set3,sin=>sin1,clk=>enh,hour1=>hourm,carry3=>enda;u5: alert port map(clk=>enh,q=>alarm;u6:date1 port map(reset=>reset,clk=>enda,dat1=>data1,dat2=>data2,endate=>endat;-u6:week port map(reset=>reset,clk=>enda,week=>weekm,count=>enw;u7:month
42、port map(reset=>reset,clk=>endat,month=>monthm,count=>enmon;u8:year port map(reset=>reset,clk=>enmon,year=>yearm;end one;毫秒計數(shù)器library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity MINSECONDb isport(clk,clrm,stop:in std_logic;secm1,secm0:out std_logic_ve
43、ctor(3 downto 0;end MINSECONDb;architecture SEC of MINSECONDb issignal clk1,DOUT2:std_logic;beginprocess(clk,clrmvariable cnt1,cnt0:std_logic_vector(3 downto 0; beginif clrm='1' thencnt1:="0000"cnt0:="0000"elsif clk'event and clk='1' thenif stop='1' th
44、encnt0:=cnt0;cnt1:=cnt1;elsif cnt1="1001" and cnt0="1000" thenco<='1'cnt0:="1001"elsif cnt0<"1001" thencnt0:=cnt0+1;-elsif cnt0="1001" then-clk1<=not clk1;elsecnt0:="0000"if cnt1<"1001" thencnt1:=cnt1+1;elsecnt
45、1:="0000"co<='0'end if;end if;end if;secm1<=cnt1;secm0<=cnt0;end process;end SEC;秒計數(shù)器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY second ISPORT(clk,reset,set:IN STD_LOGIC;sec1:OUT STD_LOGIC_VECTOR(7 DOWNTO 0;sin:in std_logic_vector(7 dow
46、nto 0;carry1:OUT STD_LOGIC;END second;ARCHITECTURE rt1 OF second ISSIGNAL sec1_t,sec2_t:STD_LOGIC_VECTOR(3 DOWNTO 0; BEGINPROCESS(clk,reset,setBEGINIF reset='1' THENsec1_t<="0000"sec2_t<="0000"elsIF clk'event AND clk='1' THENif set='1' then sec1_
47、t<=sin(3 downto 0;sec2_t<=sin(7 downto 4;elsIF sec1_t="1001" THENsec1_t<="0000"IF sec2_t="0101" THENsec2_t<="0000"ELSEsec2_t<=sec2_t+1;END IF;ELSEsec1_t<=sec1_t+1;END IF;IF sec1_t="1001" ANDsec2_t="0101" THENcarry1<=
48、9;1'ELSEcarry1<='0'END IF;END IF;sec1<=sec2_t&sec1_t;END PROCESS;END rt1;分計算器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY minute ISPORT(clk,reset,set:IN STD_LOGIC;min1:OUT STD_LOGIC_VECTOR(7 DOWNTO 0;sin:in std_logic_vector(7 downto 0;carry2:O
49、UT STD_LOGIC;END minute;ARCHITECTURE rt1 OF minute ISSIGNAL min1_t,min2_t:STD_LOGIC_VECTOR(3 DOWNTO 0; BEGINPROCESS(clk,reset,setBEGINIF reset='1' THENmin1_t<="0000"min2_t<="0000"ELSIF clk'event AND clk='1' THENIF set='1'then min1<=sin;min1_t&
50、lt;=sin(3 downto 0;min2_t<=sin(7 downto 4;elsIF min1_t="1001" THENmin1_t<="0000"IF min2_t="0101" THENmin2_t<="0000"ELSEmin2_t<=min2_t+1;END IF;ELSEmin1_t<=min1_t+1;END IF;IF min1_t="1001" ANDmin2_t="0101" THENcarry2<='
51、1'ELSEcarry2<='0'END IF;END IF;min1<=min2_t&min1_t;END PROCESS;END rt1;時計數(shù)器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY hour ISPORT(clk,reset,set:IN STD_LOGIC;hour1:OUT STD_LOGIC_VECTOR(7 DOWNTO 0;sin:in std_logic_vector(7 downto 0;carry3:OUT STD_LOGIC;END hour;華東交通大學(xué)課程設(shè)計 ARCHITECTURE rt1 OF hour IS SIGNAL hour1_t:STD_LOGIC_VECTOR(3 DOWNTO 0; SIGNAL hour2_t:STD_LOGIC_VECTOR(3 DOWNTO 0; BEGIN PROCESS(clk,reset,set BEGIN IF reset='1' THEN hour1_t<
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度藥店藥品零售連鎖品牌授權(quán)及供應(yīng)鏈合同
- 二零二五年度涉及知識產(chǎn)權(quán)的方協(xié)議解約及糾紛解決合同
- 不動產(chǎn)買賣合同書及補充協(xié)議條款
- 英文短句記憶技巧教案
- 海底兩萬里觀后感體會
- 農(nóng)業(yè)經(jīng)濟政策解讀方案
- 傳媒廣告行業(yè)廣告效果數(shù)據(jù)分析與優(yōu)化方案
- 互聯(lián)網(wǎng)+健康產(chǎn)業(yè)服務(wù)協(xié)議
- 倉庫庫房租賃合同書
- 童話森林的故事解讀
- 2025年呼和浩特職業(yè)學(xué)院單招職業(yè)傾向性測試題庫及參考答案
- 醫(yī)學(xué)遺傳學(xué)教案-山東大學(xué)醫(yī)學(xué)遺傳學(xué)
- 合唱之美知到智慧樹章節(jié)測試課后答案2024年秋山東航空學(xué)院
- 海南省澄邁縣2024-2025學(xué)年七年級上學(xué)期期末考試地理試題(含答案)
- 食品安全演練預(yù)案及流程
- 2025年蘇州衛(wèi)生職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 心房顫動診斷和治療中國指南解讀課件
- 榆神礦區(qū)郭家灘煤礦(700 萬噸-年)項目環(huán)評
- 小學(xué)校本課程-三省吾身教學(xué)課件設(shè)計
- 液化石油氣站安全檢查表
評論
0/150
提交評論