




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、目 錄1 引言.12 VHDL 介紹.22.1 硬件描述語言 VHDL .22.2 VHDL 語言的特點(diǎn) .33 QuartusII 軟件簡(jiǎn)介.43.1 軟件介紹 .43.2 界面介紹 .43.2.1 代碼輸入界面.43.2.2 功能仿真界面.53.2.3 波形仿真界面.64 自動(dòng)售貨機(jī)控制器設(shè)計(jì)與仿真.74.1 硬件電路設(shè)計(jì) .74.2 狀態(tài)轉(zhuǎn)換圖 .74.3 時(shí)序仿真結(jié)果 .105 引腳鎖定及下載.125.1 引腳鎖定 .125.2 下載 .125.3 結(jié)果分析 .126 設(shè)計(jì)總結(jié).14參考文獻(xiàn).15附錄.161 引言VHDL 的英文全名是 VHSIC(Very High Speed In
2、tegrated Circuit)Hardware Descriptiong Language,誕生于 1982 年。1987 年底,VHDL 被美國(guó)國(guó)防部確認(rèn)為標(biāo)準(zhǔn)硬件描述語言 。自 IEEE 公布了 VHDL 的標(biāo)準(zhǔn)版本,IEEE-1076 之后,各 EDA公司相繼推出了自己的 VHDL 設(shè)計(jì)環(huán)境,或宣布自己的設(shè)計(jì)工具可以和 VHDL 接口。1993 年,IEEE 對(duì) VHDL 進(jìn)行了修訂,從更高的抽象層次和系統(tǒng)描述能力上擴(kuò)展 VHDL 的內(nèi)容,公布了新版本的 VHDL,即 IEEE 標(biāo)準(zhǔn)的 1076-1993 版本?,F(xiàn)在,VHDL 和 Verilog 作為 IEEE 的工業(yè)標(biāo)準(zhǔn)硬件描述語
3、言,又得到眾多 EDA 公司的支持,在電子工程領(lǐng)域,已成為事實(shí)上的通用硬件描述語言。有專家認(rèn)為,在新的世紀(jì)中,VHDL 于 Verilog 語言將承擔(dān)起大部分的數(shù)字系統(tǒng)設(shè)計(jì)任務(wù)。 VHDL 的英文全寫(Very-High-Speed Integrated Circuit HardwareDescription Language)翻譯成中文就是超高速集成電路硬件描述語言。因此它的應(yīng)用主要是應(yīng)用在數(shù)字電路的設(shè)計(jì)中。目前,它在中國(guó)的應(yīng)用多數(shù)是用在 FPGA/CPLD/EPLD的設(shè)計(jì)中。當(dāng)然在一些實(shí)力較為雄厚的單位,它也被用來設(shè)計(jì) ASIC。隨著 EDA 技術(shù)的高速發(fā)展,電子系統(tǒng)的設(shè)計(jì)技術(shù)和工具發(fā)生了
4、深刻的變化,大規(guī)??删幊踢壿嬈骷?CPLDFPGA 的出現(xiàn),給設(shè)計(jì)人員帶來了諸多方便。利用它進(jìn)行產(chǎn)品開發(fā),不僅成本低、周期短、可靠性高,而且具有完全的知識(shí)產(chǎn)權(quán)。利用 VHDL 語言設(shè)計(jì)自動(dòng)售貨機(jī),使其實(shí)現(xiàn)自動(dòng)售貨,找零錢等功能,突出了其作為硬件描述語言的良好的可讀性、可移植性和易讀性等優(yōu)點(diǎn)。此程序通過下載到特定芯片后,可應(yīng)用于實(shí)際的自動(dòng)售貨機(jī)系統(tǒng)中。本文基于 FPGA 開發(fā)系統(tǒng),在 QuartusII 7.2 軟件平臺(tái)上,完成了自動(dòng)售貨機(jī)控制器的設(shè)計(jì)和與仿真,并下載到試驗(yàn)箱進(jìn)行硬件實(shí)現(xiàn)。首先,本文介紹了QuartusII 7.2 軟件的基本使用方法和 VHDL 硬件描述語言的特點(diǎn),采用 VHD
5、L 硬件描述語言描述自動(dòng)售貨機(jī)控制器,完成對(duì)電路的功能仿真。在設(shè)計(jì)過程中,重點(diǎn)探討了自動(dòng)售貨機(jī)控制器的設(shè)計(jì)思路和功能模塊劃分。然后,初步探討了電路邏輯綜合的原理,該軟件對(duì)自動(dòng)售貨機(jī)控制器電路進(jìn)行了邏輯綜合。最后,使用EDA 實(shí)驗(yàn)開發(fā)系統(tǒng)進(jìn)行電路的下載和驗(yàn)證。驗(yàn)證結(jié)果表明設(shè)計(jì)的自動(dòng)售貨機(jī)控制器完成了預(yù)期的功能。2 VHDL 介紹2.1 硬件描述語言 VHDL硬件描述語言(HDL)是一種用于設(shè)計(jì)硬件電子系統(tǒng)的計(jì)算機(jī)語言,它用軟件編程的方式來描述電子系統(tǒng)的邏輯功能、電路結(jié)構(gòu)和連接形式,與傳統(tǒng)的門級(jí)描述方式相比,它更適合大規(guī)模系統(tǒng)的設(shè)計(jì)。例如一個(gè) 32 位的加法器,利用圖形輸入軟件需要輸人 500 至
6、 1000 個(gè)門,而利用 VHDL 語言只需要書寫一行“A=B+C” 即可。而且 VHDL 語言可讀性強(qiáng),易于修改和發(fā)現(xiàn)錯(cuò)誤。早期的硬件描述語言,如ABEL、HDL、AHDL,由不同的 EDA 廠商開發(fā),互不兼容,而且不支持多層次設(shè)計(jì),層次間翻譯工作要由人工完成。為了克服以上不足,1985 年美國(guó)國(guó)防部正式推出了高速集成電路硬件描述語言 VHDL,1987 年 IEEE 采納 VHDL 為硬件描述語言標(biāo)準(zhǔn)(IEEE-STD-1076)。VHDL 是一種全方位的硬件描述語言,包括系統(tǒng)行為級(jí)。寄存器傳輸級(jí)和邏輯門多個(gè)設(shè)計(jì)層次,支持結(jié)構(gòu)、數(shù)據(jù)流和行為三種描述形式的混合描述,因此VHDL 幾乎覆蓋了以
7、往各種硬件俄語言的功能,整個(gè)自頂向下或由下向上的電路設(shè)計(jì)過程都可以用 VHDL 來完成。VHDL 還具有以下優(yōu)點(diǎn):(1)VHDL 的寬范圍描述能力使它成為高層進(jìn)設(shè)計(jì)的核心,將設(shè)計(jì)人員的工作重心提高到了系統(tǒng)功能的實(shí)現(xiàn)與調(diào)試,而花較少的精力于物理實(shí)現(xiàn)。(2)VHDL 可以用簡(jiǎn)潔明確的代碼描述來進(jìn)行復(fù)雜控制邏輯設(shè)計(jì),靈活且方便,而且也便于設(shè)計(jì)結(jié)果的交流、保存和重用。(3)VHDL 的設(shè)計(jì)不依賴于特定的器件,方便了工藝的轉(zhuǎn)換。(4)VHDL 是一個(gè)標(biāo)準(zhǔn)語言,為眾多的 EDA 廠商支持,因此移植性好。6傳統(tǒng)的硬件電路設(shè)計(jì)方法是采用自下而上的設(shè)計(jì)方法,即根據(jù)系統(tǒng)對(duì)硬件的要求,詳細(xì)編制技術(shù)規(guī)格書,并畫出系統(tǒng)
8、控制流圖;然后根據(jù)技術(shù)規(guī)格書和系統(tǒng)控制流圖,對(duì)系統(tǒng)的功能進(jìn)行細(xì)化,合理地劃分功能模塊,并畫出系統(tǒng)的功能框圖;接著就進(jìn)行各功能模塊的細(xì)化和電路設(shè)計(jì);各功能模塊電路設(shè)計(jì)、調(diào)試完成后,將各功能模塊的硬件電路連接起來再進(jìn)行系統(tǒng)的調(diào)試,最后完成整個(gè)系統(tǒng)的硬件設(shè)計(jì)。采用傳統(tǒng)方法設(shè)計(jì)數(shù)字系統(tǒng),特別是當(dāng)電路系統(tǒng)非常龐大時(shí),設(shè)計(jì)者必須具備較好的設(shè)計(jì)經(jīng)驗(yàn),而且繁雜多樣的原理圖的閱讀和修改也給設(shè)計(jì)者帶來諸多的不便。為了提高開發(fā)的效率,增加已有開發(fā)成果的可繼承性以及縮短開發(fā)周期,各 ASIC 研制和生產(chǎn)廠家相繼開發(fā)了具有自己特色的電路硬件描述語言(Hardware Description Language,簡(jiǎn)稱 HD
9、L)。但這些硬件描述語言差異很大,各自只能在自己的特定設(shè)計(jì)環(huán)境中使用,這給設(shè)計(jì)者之間的相互交流帶來了極大的困難。因此,開發(fā)一種強(qiáng)大的、標(biāo)準(zhǔn)化的硬件描述語言作為可相互交流的設(shè)計(jì)環(huán)境已勢(shì)在必行。于是,美國(guó)于 1981 年提出了一種新的、標(biāo)準(zhǔn)化的 HDL,稱之為VHSIC(Very High Speed Integrated Circuit) Hardware Description Language,簡(jiǎn)稱VHDL。這是一種用形式化方法來描述數(shù)字電路和設(shè)計(jì)數(shù)字邏輯系統(tǒng)的語言。設(shè)計(jì)者可以利用這種語言來描述自己的設(shè)計(jì)思想,然后利用電子設(shè)計(jì)自動(dòng)化工具進(jìn)行仿真,再自動(dòng)綜合到門電路,最后用 PLD 實(shí)現(xiàn)其功能
10、。2.2 VHDL 語言的特點(diǎn)具有良好的可讀性,即容易被計(jì)算機(jī)接受,也容易被讀者理解。使用期長(zhǎng),不會(huì)因工藝變化而使描述過時(shí)。因?yàn)?VHDL 的硬件描述與工藝無關(guān),當(dāng)工藝改變時(shí),只需修改相應(yīng)程序中的屬性參數(shù)即可。當(dāng)電路系統(tǒng)采用 VHDL 語言設(shè)計(jì)其硬件時(shí),與傳統(tǒng)的電路設(shè)計(jì)方法相比較,具有如下的特點(diǎn):第一層次是行為描述。所謂行為描述,實(shí)質(zhì)上就是對(duì)整個(gè)系統(tǒng)的數(shù)學(xué)模型的描述。一般來說,對(duì)系統(tǒng)進(jìn)行行為描述的目的是試圖在系統(tǒng)設(shè)計(jì)的初始階段,通過對(duì)系統(tǒng)行為描述的仿真來發(fā)現(xiàn)設(shè)計(jì)中存在的問題。在行為描述階段,并不真正考慮其實(shí)際的操作和算法用何種方法來實(shí)現(xiàn),而是考慮系統(tǒng)的結(jié)構(gòu)及其工作的過程是否能到達(dá)系統(tǒng)設(shè)計(jì)的要求
11、。第二層次是 RTL 方式描述。這一層次稱為寄存器傳輸描述(又稱數(shù)據(jù)流描述)。如前所述,用行為方式描述的系統(tǒng)結(jié)構(gòu)的程序,其抽象程度高,是很難直接映射到具體邏輯元件結(jié)構(gòu)的。要想得到硬件的具體實(shí)現(xiàn),必須將行為方式描述的VHDL 語言程序改寫為 RTL 方式描述的 VHDL 語言程序。也就是說,系統(tǒng)采用RTL 方式描述,才能導(dǎo)出系統(tǒng)的邏輯表達(dá)式,才能進(jìn)行邏輯綜合。第三層次是邏輯綜合。即利用邏輯綜合工具,將 RTL 方式描述的程序轉(zhuǎn)換成用基本邏輯元件表示的文件(門級(jí)網(wǎng)絡(luò)表)。此時(shí),如果需要,可將邏輯綜合的結(jié)果以邏輯原理圖的方式輸出。此后可對(duì)綜合的結(jié)果在門電路級(jí)上進(jìn)行仿真,并檢查其時(shí)序關(guān)系。由自上而下的
12、設(shè)計(jì)過程可知,從總體行為設(shè)計(jì)開始到最終的邏輯綜合,每一步都要進(jìn)行仿真檢查,這樣有利于盡早發(fā)現(xiàn)設(shè)計(jì)中存在的問題,從而可以大大縮短系統(tǒng)的設(shè)計(jì)周期。由于目前眾多制造 PLD 芯片的廠家,其工具軟件均支持 VHDL 語言的編程。所以利用 VHDL 語言設(shè)計(jì)數(shù)字系統(tǒng)時(shí),可以根據(jù)硬件電路的設(shè)計(jì)需要,自行利用PLD 設(shè)計(jì)自用的 ASIC 芯片,而無須受通用元器件的限制。3 QuartusII 軟件簡(jiǎn)介3.1 軟件介紹Quartus II 是 Altera 公司的綜合性 PLD 開發(fā)軟件,支持原理圖、VHDL、VerilogHDL 以及 AHDL(Altera Hardware Description Lan
13、guage)等多種設(shè)計(jì)輸入形式,內(nèi)嵌自有的綜合器以及仿真器,可以完成從設(shè)計(jì)輸入到硬件配置的完整 PLD 設(shè)計(jì)流程。 Quartus II 可以在 XP、Linux 以及 Unix 上使用,除了可以使用 Tcl 腳本完成設(shè)計(jì)流程外,提供了完善的用戶圖形界面設(shè)計(jì)方式。具有運(yùn)行速度快,界面統(tǒng)一,功能集中,易學(xué)易用等特點(diǎn)。 Quartus II 支持 Altera 的 IP 核,包含了 LPM/MegaFunction 宏功能模塊庫,使用戶可以充分利用成熟的模塊,簡(jiǎn)化了設(shè)計(jì)的復(fù)雜性、加快了設(shè)計(jì)速度。對(duì)第三方 EDA 工具的良好支持也使用戶可以在設(shè)計(jì)流程的各個(gè)階段使用熟悉的第三方EDA 工具。 此外,Q
14、uartus II 通過和 DSP Builder 工具與 Matlab/Simulink 相結(jié)合,可以方便地實(shí)現(xiàn)各種 DSP 應(yīng)用系統(tǒng);支持 Altera 的片上可編程系統(tǒng)(SOPC)開發(fā),集系統(tǒng)級(jí)設(shè)計(jì)、嵌入式軟件開發(fā)、可編程邏輯設(shè)計(jì)于一體,是一種綜合性的開發(fā)平臺(tái)。 Maxplus II 作為 Altera 的上一代 PLD 設(shè)計(jì)軟件,由于其出色的易用性而得到了廣泛的應(yīng)用。目前 Altera 已經(jīng)停止了對(duì) Maxplus II 的更新支持,Quartus II 與之相比不僅僅是支持器件類型的豐富和圖形界面的改變。Altera 在 Quartus II 中包含了許多諸如 SignalTap I
15、I、Chip Editor 和 RTL Viewer 的設(shè)計(jì)輔助工具,集成了SOPC 和 HardCopy 設(shè)計(jì)流程,并且繼承了 Maxplus II 友好的圖形界面及簡(jiǎn)便的使用方法。 Altera Quartus II 作為一種可編程邏輯的設(shè)計(jì)環(huán)境, 由于其強(qiáng)大的設(shè)計(jì)能力和直觀易用的接口,越來越受到數(shù)字系統(tǒng)設(shè)計(jì)者的歡迎。3.2 界面介紹3.2.1 代碼輸入界面代碼輸入界面如圖 3.1 所示:圖 3.1 代碼輸入界面3.2.2 功能仿真界面功能仿真界面如圖 3.2 所示:圖 3.2 功能仿真界面3.2.3 波形仿真界面波形仿真界面如圖 3.3 所示:圖 3.3 波形仿真界面4 自動(dòng)售貨機(jī)控制器
16、設(shè)計(jì)與仿真4.1 硬件電路設(shè)計(jì)根據(jù)要求:自動(dòng)售貨機(jī)能出售 1 元、5 元、10 元三種商品。出售哪種商品可由顧客按動(dòng)相應(yīng)的一個(gè)按鍵即可,并同時(shí)用數(shù)碼管顯示出此商品的價(jià)格;顧客投入硬(紙)幣的錢數(shù)也是有 1 元、5 元、10 元三種,但每次只能投入其中的一種幣,此操作通過按動(dòng)相應(yīng)的一個(gè)按鍵來模擬,并同時(shí)用數(shù)碼管將投幣額顯示出來;顧客投幣后,按一次確認(rèn)鍵,如果投幣額不足時(shí)則報(bào)警,報(bào)警時(shí)間 3 秒。如果投幣額足夠時(shí)自動(dòng)送出貨物(送出的貨物用相應(yīng)不同的指示燈顯示來模擬),同時(shí)多余的錢應(yīng)找回,找回的錢數(shù)用數(shù)碼管顯示出來;顧客一旦按動(dòng)確認(rèn)鍵 3 秒后,自動(dòng)售貨機(jī)即可自動(dòng)恢復(fù)到初始狀態(tài),此時(shí)才允許顧客進(jìn)行下
17、一次購(gòu)貨操作;此售貨機(jī)要設(shè)有一個(gè)由商家控制的整體復(fù)位控制;所以系統(tǒng)頂層框圖設(shè)計(jì)如下圖 4.1所示: 其中,sel1、sel5、sel10 分別控制選擇 1 元、5 元、10 元三種商品,put1、put5、put10 分別是顧客投入硬(紙)幣的錢數(shù) 1 元、5 元、10 元,sure 是確認(rèn)輸入,rst 是由商家控制的整體復(fù)位控制輸入;jing 是警告輸出,out1、out,out10 分別是 1 元、5 元、10 元三種商品輸出指示,digit 用于顯示顧客投幣錢數(shù)和找零錢數(shù)。4.2 狀態(tài)轉(zhuǎn)換圖狀態(tài)轉(zhuǎn)換圖如圖 4.2 所示:圖 4.1 系統(tǒng)頂層框圖S0S1S2S3S4S5S6S7S8S9S1
18、0S11S12S13S14S15S16S17S18S19S20S21S0共分為 21 個(gè)狀態(tài),S0 為初始狀態(tài),當(dāng)顧客選擇 1 元、5 元或 10 元三種商品時(shí)分別跳轉(zhuǎn)至 S1、S2、S3 狀態(tài),否則停留在 S0 狀態(tài),選擇貨物的錢數(shù)在數(shù)碼管上顯示出來,程序代碼如下所示:when s0=jing=0;out1=0;out5=0;out10=0;digit=0; if sel1=1 and sel5=0 and sel10=0 then ns=s1; elsif sel1=0 and sel5=1 and sel10=0 then ns=s2; elsif sel1=0 and sel5=0 a
19、nd sel10=1 then ns=s3; else nsdigit=1; if put1=1 and put5=0 and put10=0 then ns=s4; elsif put1=0 and put5=1 and put10=0 then ns=s5; elsif put1=0 and put5=0 and put10=1 then ns=s6; else nsdigit=5; if put1=1 and put5=0 and put10=0 then ns=s7; elsif put1=0 and put5=1 and put10=0 then ns=s8; elsif put1=
20、0 and put5=0 and put10=1 then ns=s9; else nsdigit=10; if put1=1 and put5=0 and put10=0 then ns=s10; elsif put1=0 and put5=1 and put10=0 then ns=s11; elsif put1=0 and put5=0 and put10=1 then ns=s12; else ns=s3; end if;當(dāng)按下確認(rèn)鍵時(shí),則按狀態(tài)轉(zhuǎn)移圖跳到相應(yīng)的下一個(gè)狀態(tài),否則停留在當(dāng)前狀態(tài),執(zhí)行售貨、找錢、警告、3 秒后復(fù)位等功能。4.3 時(shí)序仿真結(jié)果當(dāng)所選貨物錢數(shù)與投幣錢數(shù)相等時(shí)波
21、形仿真結(jié)果圖如圖 4.3 所示:圖 4.3 投幣正好波形仿真圖由波形仿真結(jié)果可以看到:當(dāng)按下選擇 5 元貨物時(shí),digit 輸出為 5,當(dāng)投幣為5 元時(shí),digit 輸出為 5,當(dāng)按下確認(rèn)后 digit 輸出為 0,并且顯示 5 元商品輸出,三個(gè)上升沿即 3 秒后復(fù)位,所有輸出為 0;當(dāng)所選貨物錢數(shù)比投幣錢數(shù)多時(shí)波形仿真結(jié)果圖如圖 4.4 所示:圖 4.4 投幣不足波形仿真圖由波形仿真結(jié)果可以看到:當(dāng)按下選擇 5 元貨物時(shí),digit 輸出為 5,當(dāng)投幣為1 元時(shí),digit 輸出為 1,當(dāng)按下確認(rèn)后 digit 輸出為 1,即找回 1 元并且無商品輸出,警告經(jīng)過 3 個(gè)上升沿即 3 秒后復(fù)位
22、,所有輸出為 0。當(dāng)所選貨物錢數(shù)比投幣錢數(shù)少時(shí)波形仿真結(jié)果圖如圖 4.5 所示:圖 4.5 投幣富余波形仿真圖由波形仿真結(jié)果可以看到:當(dāng)按下選擇 5 元貨物時(shí),digit 輸出為 5,當(dāng)投幣為10 元時(shí),digit 輸出為 10,當(dāng)按下確認(rèn)后 digit 輸出為 5,即找回 5 元并且商品輸出,經(jīng)過 3 個(gè)上升沿即 3 秒后復(fù)位,所有輸出為 0。5 引腳鎖定及下載5.1 引腳鎖定選擇 Assignments 菜單下的 Pins 命令,引腳鎖定圖如圖 5.1 所示:圖 5.1 引腳鎖定圖如果是下載到實(shí)驗(yàn)箱上則需連續(xù)按“模式選擇”按鈕選擇模式 5,再按“系統(tǒng)復(fù)位”按鈕。進(jìn)行引腳鎖定,查閱附表,分別
23、點(diǎn)“l(fā)ocation”選擇引腳號(hào)。引腳鎖定后再編譯。如同此前進(jìn)行過的。編譯成功后點(diǎn)確定。5.2 下載選擇 Tools 菜單下的 Programmer 命令,然后在 Program/Configure 下打上鉤選中,點(diǎn)“start”按鈕開始下載, “Progress”進(jìn)度條顯示下載進(jìn)度。下載完后就可以在實(shí)驗(yàn)箱上查看并驗(yàn)證結(jié)果。5.3 結(jié)果分析通過上面的步驟將程序代碼下載到實(shí)驗(yàn)箱的 FPGA 芯片中,并驗(yàn)證了在仿真中的結(jié)果的正確性。自動(dòng)售貨機(jī)能出售 1 元、5 元、10 元三種商品。出售哪種商品可由顧客按動(dòng)相應(yīng)的一個(gè)按鍵即可,并同時(shí)用數(shù)碼管顯示出此商品的價(jià)格;顧客投入硬(紙)幣的錢數(shù)也是有 1 元
24、、5 元、10 元三種,但每次只能投入其中的一種幣,此操作通過按動(dòng)相應(yīng)的一個(gè)按鍵來模擬,并同時(shí)用數(shù)碼管將投幣額顯示出來;顧客投幣后,按一次確認(rèn)鍵,如果投幣額不足時(shí)則報(bào)警,報(bào)警時(shí)間 3 秒。如果投幣額足夠時(shí)自動(dòng)送出貨物(送出的貨物用相應(yīng)不同的指示燈顯示來模擬) ,同時(shí)多余的錢應(yīng)找回,找回的錢數(shù)用數(shù)碼管顯示出來;顧客一旦按動(dòng)確認(rèn)鍵 3 秒后,自動(dòng)售貨機(jī)即可自動(dòng)恢復(fù)到初始狀態(tài),此時(shí)才允許顧客進(jìn)行下一次購(gòu)貨操作;此售貨機(jī)設(shè)有一個(gè)由商家控制的整體復(fù)位控制,當(dāng)整體復(fù)位信號(hào)有效時(shí),所有輸出均為零。6 設(shè)計(jì)總結(jié)一周的課設(shè)過去的太快了,自動(dòng)售貨機(jī)控制器的設(shè)計(jì)已按計(jì)劃如期全部完成,能按預(yù)期的效果進(jìn)行自動(dòng)售貨,找零
25、,復(fù)位,警告等功能,并設(shè)計(jì)數(shù)碼管顯示所選商品價(jià)格、投幣數(shù)目和應(yīng)當(dāng)找回顧客的錢數(shù)。課設(shè)時(shí)先按要求畫出狀態(tài)轉(zhuǎn)換圖,然后再根據(jù)狀態(tài)轉(zhuǎn)換圖及要求逐一設(shè)計(jì)。最后再將它們組合成完整的自動(dòng)售貨機(jī)控制器。課設(shè)過程中遇到一個(gè)主要問題是,延時(shí)三秒如何實(shí)現(xiàn)。這個(gè)問題讓我兩天晚上沒有睡好,經(jīng)自己的多次分析和程序調(diào)試,最后在和同學(xué)在騎車的路上的討論中共同解決了這個(gè)問題,并得出結(jié)論:即便是百分之九十九的正確性都是不正確的,必須確保百分之百的正確率,還有一個(gè)人的力量往往是不如人多智慧多!在這次課設(shè)中使我更加熟悉了對(duì)這門課程的了解并且加深了同學(xué)間合作的默契,總之,這次課程設(shè)計(jì)很愉快!最后,非常感謝郭老師和戴老師對(duì)我們認(rèn)真細(xì)心
26、的教導(dǎo)和耐心的指導(dǎo),謝謝老師們的關(guān)心。 參考文獻(xiàn)1.Voknei A.Pedroni.VHDL 數(shù)字電路設(shè)計(jì)教程.電子工業(yè)出版社,2008.52.潘松,黃繼業(yè).EDA 技術(shù)實(shí)用教程(第二版).科學(xué)出版社,2005.23.焦素敏.EDA 應(yīng)用技術(shù).清華大學(xué)出版社,2002.44.張昌凡等.可編程邏輯器件及 VHDL 設(shè)計(jì)技術(shù)M.廣州:華南理工大學(xué)出版社,20015.曾繁泰,陳美金.VHDL 程序設(shè)計(jì)M.北京:清華大學(xué)出版社,2001附錄library ieee;-庫聲明use ieee.std_logic_1164.all;entity guo is port(sel1,sel5,sel10,p
27、ut1,put5,put10,sure,clk,rst:in std_logic; jing,out1,out5,out10:out std_logic; digit:out integer range 0 to 15);end guo;-實(shí)體architecture bhv of guo istype state is(s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,s14,s15,s16,s17,s18,s19,s20,s21);-結(jié)構(gòu)體,定義 21 個(gè)狀態(tài)signal ps,ns:state;signal a,b:std_logic;-聲明 a
28、,b 兩個(gè)信號(hào),用于延時(shí)beginprocess(clk,rst)variable temp:integer range 0 to 3;begin if rst=1then ps=s0;-當(dāng)復(fù)位信號(hào)有效時(shí),s0 賦給現(xiàn)態(tài) elsif clkevent and clk=1 then ps=ns;-當(dāng)上升沿到來時(shí),次態(tài)賦值給現(xiàn)態(tài) if(a=1)then temp:=temp+1; if(temp=3)then b=1; else b=0; end if; else temp:=0; end if; end if;-延時(shí)程序end process;process(sel1,sel5,sel10,pu
29、t1,put5,put10,sure,b,ps)beginif(ps=s0)or(ps=s1)or(ps=s2)or(ps=s3)or(ps=s4)or(ps=s5)or(ps=s6)or(ps=s7)or(ps=s8)or(ps=s9)or(ps=s10)or(ps=s11)or(ps=s12)then a=0; else ajing=0;out1=0;out5=0;out10=0;digit=0;-狀態(tài)及狀態(tài)轉(zhuǎn)換情況 if sel1=1 and sel5=0 and sel10=0 then ns=s1; elsif sel1=0 and sel5=1 and sel10=0 then n
30、s=s2; elsif sel1=0 and sel5=0 and sel10=1 then ns=s3; else nsdigit=1; if put1=1 and put5=0 and put10=0 then ns=s4; elsif put1=0 and put5=1 and put10=0 then ns=s5; elsif put1=0 and put5=0 and put10=1 then ns=s6; else nsdigit=1; if sure=1 then ns=s13; else nsdigit=5; if sure=1 then ns=s14; else nsdigit=10; if sure=1 then ns=s15; else nsdigit=5; if put1=1 and put5=0 and put10=0 then ns=s7; elsif put1=0 and put5=1 and put10=0 then ns=s8; elsif put1=0 and put5=0 and put10=1 then ns=s9; else ns
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 IEC TS 63165:2024 EN Requirements for industrial water quality analyzer system – Photometry
- 2025年浙江省安全員-C證考試(專職安全員)題庫及答案
- 2025-2030年中國(guó)鋼材加工配送中心行業(yè)運(yùn)行態(tài)勢(shì)及發(fā)展規(guī)劃分析報(bào)告
- 2025-2030年中國(guó)金融信息化行業(yè)運(yùn)營(yíng)狀況及發(fā)展前景分析報(bào)告
- 2025-2030年中國(guó)酒石酸美托洛爾緩釋片行業(yè)運(yùn)行動(dòng)態(tài)與十三五規(guī)劃研究報(bào)告
- 2025-2030年中國(guó)螺旋泵市場(chǎng)運(yùn)營(yíng)狀況及發(fā)展前景分析報(bào)告
- 2025-2030年中國(guó)薯?xiàng)l行業(yè)運(yùn)行狀況與前景趨勢(shì)分析報(bào)告
- 西雙版納職業(yè)技術(shù)學(xué)院《集裝箱與國(guó)際物流運(yùn)輸管理》2023-2024學(xué)年第二學(xué)期期末試卷
- 河北師范大學(xué)《節(jié)目策劃》2023-2024學(xué)年第二學(xué)期期末試卷
- 西京學(xué)院《商務(wù)應(yīng)用文寫作》2023-2024學(xué)年第二學(xué)期期末試卷
- 《汽車專業(yè)英語》2024年課程標(biāo)準(zhǔn)(含課程思政設(shè)計(jì))
- 部編四年級(jí)道德與法治下冊(cè)全冊(cè)教案(含反思)
- 建筑施工安全檢查標(biāo)準(zhǔn)-JGJ59-2011完整版
- 八年級(jí)下冊(cè)道德與法治第一單元教案(4篇)
- 練字常用的稿紙-紅色單線稿紙-書寫紙張打印即可
- 動(dòng)物生物化學(xué)(全套577PPT課件)
- 中國(guó)傳統(tǒng)二十四節(jié)氣立春節(jié)氣介紹PPT模板課件
- 個(gè)人簡(jiǎn)歷求職競(jìng)聘自我介紹PPT模板課件
- Q∕GDW 11612.1-2018 低壓電力線高速載波通信互聯(lián)互通技術(shù)規(guī)范 第1部分:總則
- 活性炭生產(chǎn)工藝流程圖
- ASM鑄造缺陷的國(guó)際分類7大類(學(xué)習(xí)版0228)
評(píng)論
0/150
提交評(píng)論