freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于vhdl單片機(jī)設(shè)計(jì)說明書(已修改)

2025-05-21 20:02 本頁面
 

【正文】 1 基于 VHDL 的單片機(jī)設(shè)計(jì) 學(xué)生: 丁潔 指導(dǎo)老師: 陳沅濤 摘要 : 本文首先對 MCS8051 單片機(jī)的原理進(jìn)行介紹和分析;接著介紹使用 EDA技術(shù),用 VHDL 語言完成了 8051 單片機(jī)的設(shè)計(jì)工作; MCS8051 單片機(jī)的 CPU 和數(shù)模轉(zhuǎn)換器的設(shè)計(jì)運(yùn)用了算術(shù)邏輯單元 ALU 算術(shù)運(yùn)算的算法實(shí)現(xiàn)和控制單元的狀態(tài)機(jī);以及數(shù)模轉(zhuǎn)換器的∑ △調(diào)制方法的實(shí)現(xiàn)。通過如上的算法實(shí)現(xiàn),可以看出 VHDL 語言在算法級(jí)的設(shè)計(jì)上具有很多的優(yōu)勢和特點(diǎn)。使用 EDA 技術(shù)設(shè)計(jì)的結(jié)果既可以用 FPGA/ CPLD 來實(shí)施驗(yàn)證,也可以直接做成專用集成電路 (ASIC)。 關(guān)鍵詞: 電子設(shè)計(jì)自動(dòng)化 (EDA)、 VHDL 語言、 FPGA/ CPLD 、 8051 單片機(jī) 2 1 引言 伴隨著集成電路 (IC)技術(shù)的發(fā)展,電子設(shè)計(jì)自動(dòng)化 (EDA)逐漸成為重要的設(shè)計(jì)手段,己經(jīng)廣泛應(yīng)用于模擬與數(shù)字電路系統(tǒng)等許多領(lǐng)域。電子設(shè)計(jì)自動(dòng)化是一種實(shí)現(xiàn)電子系統(tǒng)或電子產(chǎn)品自動(dòng)化設(shè)計(jì)的技術(shù),它與電子技術(shù)、微電子技術(shù)的發(fā)展密切相關(guān),它吸收了計(jì)算機(jī)科學(xué)領(lǐng)域的大多數(shù)最新研究成果,以高性能的計(jì)算機(jī)作為工作平臺(tái),促進(jìn)了工程發(fā)展。 EDA 技術(shù)的發(fā)展始干 70 年代,至今經(jīng)歷了三個(gè)階段。電子 線路的 C A D(計(jì)算機(jī)輔助設(shè)計(jì) )是 EDA 發(fā)展的初級(jí)階段, 80 年代初期,形成了 CAE(計(jì)算機(jī)輔助工程 )。也就是所謂的 EDA 技術(shù)中級(jí)階段。 90 年代出現(xiàn)了以自動(dòng)綜合器和硬件描述語言為基礎(chǔ),全面支持電子設(shè)計(jì)自動(dòng)化 ESDA(電子系統(tǒng)設(shè)計(jì)自動(dòng)化 ),即高級(jí) EDA 階段、也就是目前常說的 EDA[1]。使用 EDA 技術(shù)設(shè)計(jì)的結(jié)果既可以用 FPGA/ CPLD 來實(shí)施驗(yàn)證,也可以直接做成專用集成電路(ASIC)。 EDA 的一個(gè)重要特征就是使用硬件描述語言 (HDL)來完成的設(shè)計(jì)文件,誕生于 1982 年的 VHDL 語言是經(jīng) IEEE 確認(rèn)的標(biāo)準(zhǔn)硬件 描述語言,在電子設(shè)計(jì)領(lǐng)域受到了廣泛的接受。 課題的背景、目的 進(jìn)入 90 年代,電子信息類產(chǎn)品的開發(fā)明顯地出現(xiàn)了兩個(gè)特點(diǎn):一是開發(fā)產(chǎn)品的復(fù)雜程度加深;二是開發(fā)產(chǎn)品的上市時(shí)限緊迫。而伴隨著如上兩個(gè)特點(diǎn)的產(chǎn)生,相應(yīng)的出現(xiàn)了設(shè)計(jì)上的兩個(gè)問題。其一,在電子系統(tǒng)日趨數(shù)字化、復(fù)雜化和大規(guī)模集成化的今天,電子廠商們越加迫切地追求電子產(chǎn)品的高功能、優(yōu)品質(zhì)、低成本、微功耗和微小封裝尺寸,從而使得電子設(shè)計(jì)日趨復(fù)雜。那么如何去完成這些高復(fù)雜度的電子設(shè)計(jì)呢 ?其二,電子產(chǎn)品設(shè)計(jì)周期短和上市快是電子廠商們堅(jiān)持不懈的追求,那 么面對日趨復(fù)雜的設(shè)計(jì),又如何能夠縮短開發(fā)時(shí)間呢?解決以上兩個(gè)問題的唯一途徑是電子設(shè)計(jì)自動(dòng)化( EDA) ,即用計(jì)算機(jī)幫助設(shè)計(jì)人員完成繁瑣的設(shè)計(jì)工作。 課程設(shè)計(jì)的內(nèi)容 ( 1)單片機(jī)的基本原理和內(nèi)部結(jié)構(gòu)。從單片機(jī)的內(nèi)部結(jié)構(gòu)入手,對單片機(jī)的基本原理和功能進(jìn)行介紹和分析,進(jìn)而提出可改進(jìn)之處。 3 ( 2) EDA 的開發(fā)中離不開 EDA 工具的使用,好的開發(fā)工具會(huì)使設(shè)計(jì)更加便捷與高效,且會(huì)提高設(shè)計(jì)的效率與效果。 ( 3)本文重點(diǎn)介紹了基于 FPGA 和 VHDL 語言的開發(fā)過程,對設(shè)計(jì)方案中的各模塊進(jìn)行詳細(xì)介紹和驗(yàn)證,并對整體性能進(jìn)行分 析。 4 2 EDA、 VHDL 簡介 EDA 簡介 電子設(shè)計(jì)自動(dòng)化( EDA, ElectronicDesignAutomation)是指利用計(jì)算機(jī)完成電子系統(tǒng)的設(shè)計(jì) [2]。 EDA 技術(shù)是以計(jì)算機(jī)和微電子技術(shù)為先導(dǎo),匯集了計(jì)算機(jī)圖形學(xué)、拓?fù)?、邏輯學(xué)、微電子工藝與結(jié)構(gòu)學(xué)和計(jì)算數(shù)學(xué)等多種計(jì)算機(jī)應(yīng)用學(xué)科最新成果的先進(jìn)技術(shù)。 EDA 技術(shù)以計(jì)算機(jī)為工具,代替人完成數(shù)字系統(tǒng)的邏輯綜合、布局布線和設(shè)計(jì)仿真等工作。設(shè)計(jì)人員只需要完成對系統(tǒng)功能的描述,就可以由計(jì)算機(jī)軟件進(jìn)行 處理,得到設(shè)計(jì)結(jié)果,而且修改設(shè)計(jì)如同修改軟件一樣方便,可以極大地提高設(shè)計(jì)效率。根據(jù)電子設(shè)計(jì)技術(shù)的發(fā)展特征, EDA 技術(shù)發(fā)展大致分為三個(gè)階段:( 1) CAD 階段( 20 世紀(jì) 60年代中期 — 20 世紀(jì) 80年代初期)( 2)CAE 階段( 20世紀(jì) 80年代初期 — 20世紀(jì) 90年代初期)( 3) EDA 階段( 20世紀(jì)90年代以來)。 簡介 VHDL 英文名是 VeryHighSpeed Integrated Circuit Hardware Language,誕生于 1982 年。 1987 年底被 IEEE(TheInstituteofElectricalandElectronics Engineers)和美國國防部確認(rèn)為標(biāo)準(zhǔn)硬件描述語言。自 IEEE 公布了 VHDL 的標(biāo)準(zhǔn)版本 (IEEE1076)之后,各 EDA 公司相繼推出了自己的 VHDL 設(shè)計(jì)環(huán)境,或宣布自己的設(shè)計(jì)工具可以和 VHDL 接口。此后 VHDL 在電子設(shè)計(jì)領(lǐng)域得到了廣泛的接受,并逐步取代了原有的非標(biāo)準(zhǔn)硬件描述語言。 1993 年, IEEE 對 VHDL 進(jìn)行了修訂,從更高的抽象層次和系統(tǒng)描述能力上擴(kuò)展 VHDL 的內(nèi)容,公布了新版本的 VHDL,即 IEEE 標(biāo)準(zhǔn)的 10761993 版本。 現(xiàn)在, VHDL 和 Verilog 作為 IEEE 的工業(yè)標(biāo)準(zhǔn)硬件描述語言,又得到眾多 EDA公司的支持,在電子工程領(lǐng)域,已成為事實(shí)上的通用硬件描述語言。有專家認(rèn)為,在新的世紀(jì)中, VHDL 和 Verilog 語言將承擔(dān)起幾乎全部的數(shù)字系統(tǒng)設(shè)計(jì)任務(wù)。由于本設(shè)計(jì)主要使用 VHDL 語言,故只對 VHDL 語言的特點(diǎn)進(jìn)行簡要的介紹。應(yīng)用VHDL 進(jìn)行工程設(shè)計(jì)的優(yōu)點(diǎn)是多方面的,具體如下: , VHDL 具有更強(qiáng)的行為描述能力,從而決定了 5 它成為系統(tǒng)設(shè)計(jì)領(lǐng)域最佳的硬件描述語言。強(qiáng)大的行為描述能力是避開具體的器件 結(jié)構(gòu),從邏輯行為上描述和設(shè)計(jì)大規(guī)模電子系統(tǒng)的重要保證。 語句的行為描述能力和程序結(jié)構(gòu)決定了它具有支持大規(guī)模設(shè)計(jì)的分解和已有設(shè)計(jì)的再利用功能。 VHDL 中設(shè)計(jì)實(shí)體的概念、程序包的概念、設(shè)計(jì)庫的概念為設(shè)計(jì)的分解和并行工作提供了有利的支持。 VHDL 完成的一個(gè)確定的設(shè)計(jì),可以利用 EDA 工具進(jìn)行邏輯綜合和優(yōu)化,并自動(dòng)地把 VHDL 描述設(shè)計(jì)轉(zhuǎn)變成門級(jí)網(wǎng)表 (根據(jù)不同的實(shí)現(xiàn)芯片 )。這種方式突破了門級(jí)設(shè)計(jì)的瓶頸,極大地減少了電路設(shè)計(jì)的時(shí)間和可能發(fā)生的錯(cuò)誤,降低了開發(fā)成本。應(yīng)用 EDA 工具的邏輯優(yōu)化功 能,可以自動(dòng)地把一個(gè)綜合后的設(shè)計(jì)變成一個(gè)更小、更高速的電路系統(tǒng)。 。 VHDL 語言設(shè)計(jì)系統(tǒng)硬件時(shí),沒有嵌入描述與工藝相關(guān)的信息,不會(huì)因?yàn)楣に囎兓姑枋鲞^時(shí),與工藝技術(shù)有關(guān)的參數(shù)可通過VHDL 提供的類屬加以描述。 ASIC 移植。當(dāng)產(chǎn)品達(dá)到相當(dāng)數(shù)量時(shí),采用 VHLD 進(jìn)行的設(shè)計(jì)可以很容易轉(zhuǎn)成用專用集成電路 (ASIC)來實(shí)現(xiàn),甚至用于 PLD 的源代碼可以直接用于 ASIC。 6 3 基于 VHDL 語言的單片機(jī)設(shè)計(jì)過程 系統(tǒng)設(shè)計(jì)模塊劃分方案 對 8051 單片機(jī)的設(shè)計(jì)分成五個(gè)模塊來實(shí)現(xiàn) 8051 系統(tǒng)。這五個(gè)模塊為: CPU模塊、計(jì)數(shù)器 /定時(shí)器模塊、 UART 串口模塊、存儲(chǔ)器模塊和 DAC 模塊。其中 DAC為傳統(tǒng) 8051 所不具備的功能模塊。 其中, CPU 模塊又分為控制單元模塊和 ALU 單元模塊,且每一個(gè)模塊又分為幾個(gè)模塊。中斷系統(tǒng)模塊并未使用單獨(dú)的設(shè)計(jì)模塊存在的形式來設(shè)計(jì),而是與CPU 的設(shè)計(jì)整合為一體,因?yàn)檫@樣會(huì)使得設(shè)計(jì)達(dá)到更好的效果,更符合 VHDL 語言的使用規(guī)范和提高設(shè)計(jì)效率。這樣的劃分只是為了更好的實(shí)現(xiàn) CPU 模塊的功能,又能方便設(shè)計(jì)的進(jìn)行,不至于在設(shè)計(jì) 過程中引起邏輯上的混亂。 存儲(chǔ)器模塊又分為 RAM 模塊、 ROM 模塊和 FIFO 模塊。對于 FPGA 來說,使用它來實(shí)現(xiàn)存儲(chǔ)器模塊有很多方法,可以直接利用其內(nèi)部內(nèi)嵌的 RAM 模塊,也可以利用 VHDL 語言直接編寫。本文的設(shè)計(jì)中 RAM 和 ROM 的設(shè)計(jì)直接利用了 Altera公司提供的單元庫和 FPGA 中的 RAM 單元,這樣可時(shí)設(shè)計(jì)簡化,縮短開發(fā)時(shí)間。而 FIFO 的設(shè)計(jì)采用的是使用 VHDL 語言直接編寫 [3]。這些方法的應(yīng)用體現(xiàn)出了使用 FPGA 進(jìn)行設(shè)計(jì)的靈活性和時(shí)效性。傳統(tǒng)的 8051 中沒有 FIFO 模塊的存在,而本文的設(shè)計(jì)中考慮到 如今器件的速度越來越快,數(shù)據(jù)的傳輸通過 FIFO 來緩存是很通行的做法,故在本設(shè)計(jì)中加入 FIFO 模塊的設(shè)計(jì)。 計(jì)數(shù)器 /定時(shí)器模塊、 UART 串口模塊的設(shè)計(jì)均在一個(gè)模塊內(nèi)完成。計(jì)數(shù)器 /定時(shí)器和 UART 串口模塊的設(shè)計(jì)遵從了 8051 單片機(jī)的設(shè)計(jì)標(biāo)準(zhǔn),使用 VHDL 語言完全實(shí)現(xiàn)了相應(yīng)的功能。而且各個(gè)模塊均可獨(dú)立使用,可單獨(dú)作為一個(gè) IP 核存在,其它的設(shè)計(jì)模塊也可單獨(dú)使用,所以利用 FPGA 和 VHDL 語言所做的設(shè)計(jì)具有很好的通用性。 DAC 模塊的設(shè)計(jì)是一種新增功能。在本設(shè)計(jì)中增加了此模塊的設(shè)計(jì),主要是考慮增加 8051 的功能,以及為系統(tǒng)設(shè)計(jì)提供方便性。同時(shí),也體現(xiàn)出硬件設(shè)計(jì)的一種發(fā)展方向,即系統(tǒng)集成化。也為以后的設(shè)計(jì)工作提供一種借鑒方式。 各模塊原理及程序 7 CPU 模塊 圖 31 為 CPU 整體框圖。由圖可知, CPU 由兩個(gè)模塊組成, alu 模塊和 control模塊。下面對兩個(gè)模塊進(jìn)行論述。 ? ALU 單元的 VHDL 語言實(shí)現(xiàn) ALU 單元可以直接或間接的執(zhí)行很多指令,如加、減、乘、除等算術(shù)運(yùn)算指令;邏輯與、或、異或等邏輯運(yùn)算指令以及移位操作指令。這些指令是 8051 單片機(jī)的核心指令,分為算術(shù)運(yùn) 算、邏輯運(yùn)算和環(huán)移指令等三大類。本設(shè)計(jì)中由ALU 單元執(zhí)行的指令共 53 條,除去上述的算術(shù)運(yùn)算、邏輯運(yùn)算和環(huán)移指令外,還包括條件轉(zhuǎn)移指令中的比較條件轉(zhuǎn)移指令 CJNE 和減 1 條件轉(zhuǎn)移指令 DJNZ。 圖 31CPU 整體框圖 這種設(shè)計(jì)方法主要考慮比較條件轉(zhuǎn)移指令 CJNE 設(shè)計(jì)上的方便與規(guī)范性;而減 1條件轉(zhuǎn)移指令 DJNZ 的指令操作需要進(jìn)行減 1 操作,正好可以利用 ALU 單元的相 8 應(yīng)算術(shù)運(yùn)算來進(jìn)行,因此可通過 ALU 單元來間接的運(yùn)行實(shí)現(xiàn)。此類條件轉(zhuǎn)移指令共 6 條,是由 ALU 單元間接實(shí)現(xiàn)的;其余的 47 條指令則由 ALU 單元直接實(shí)現(xiàn),這 47條指令包括算術(shù)邏輯運(yùn)算指令、邏輯運(yùn)算指令和環(huán)移指令。 ALU 單元要control 單元配合起來工作才可正常運(yùn)行,即需由 control 單元提供控制信號(hào)和數(shù)據(jù)給 ALU 單元。 ? 控制單元的 VHDL 語言實(shí)現(xiàn) 控制單元起著控制器的作用,單片機(jī)程序和原始數(shù)據(jù)的輸入、 CPU 內(nèi)部的信息處理、處理結(jié)果的輸出、外部設(shè)備與單片機(jī)之間的信息交換等,都是在控制單元的控制下實(shí)現(xiàn)的。本設(shè)計(jì)中控制單元主要完成的功能為指令譯碼、中斷判優(yōu)及處理、時(shí)序控制和微操作控制等。 圖 32 控制單元整體框圖 9 由圖 32可知,控制單元由兩個(gè) :control_fsm 模塊和 control_mem 模塊,其主要的設(shè)計(jì)方法為有限狀態(tài)機(jī)的設(shè)計(jì),通過狀態(tài)的轉(zhuǎn)換而產(chǎn)生相應(yīng)的微操作信號(hào),進(jìn)而實(shí)現(xiàn)相應(yīng)的指令的執(zhí)行 [4]。其中, control_fsm 模塊主要實(shí)現(xiàn)中斷的響應(yīng)及 111 條指令的譯碼并產(chǎn)生各指令的微操作碼,主要是通過有限狀態(tài)機(jī)的設(shè)計(jì)來實(shí)現(xiàn)相應(yīng)的功能;而 control_mem 模塊主要完成由 control_fsm 模塊產(chǎn)生的微操作信號(hào)的具體操作過程,控制 RAM 存儲(chǔ)器的讀寫地址及數(shù)據(jù)傳輸、 PC 寄存器的賦值、串口與定時(shí)器的中斷信號(hào)處理、中斷的查詢、特殊寄存器的讀寫等功能 。 其 VHDL 語言實(shí)現(xiàn)代碼如下: when IC_ADD_A_RR= ADD A,Rr if state=FETCH then s_adr_mux=0110。 確定 Rr 的地址 s_nextstate=EXEC1。 轉(zhuǎn)至 EXEC1 狀態(tài)執(zhí)行 elsif state=EXEC1 then alu_cmd_o=ADD_ACC_RAM。 通知 ALU 單元執(zhí)行加法操作 s_data_mux=0011。 ALU 單元操作數(shù)值操作 s_regs_wr_en=011。 對累加器及相應(yīng)狀態(tài)位進(jìn)行操作 s_pc_inc_en=0001。 對 PC 寄存器進(jìn)行操作 s_nextstate=FETCH。 返回 FETCH 狀態(tài),等待下一條指令的執(zhí)行 end if。 本指令為單字節(jié)雙時(shí)鐘周期指令,尋址方式為寄存器尋址。當(dāng)從指令存儲(chǔ)器中取出的指令代碼與程序中代碼 IC_ADD_A_RR 相 對應(yīng)時(shí),即執(zhí)行本段代碼程序。執(zhí)行過程如下,在 FETCH 狀態(tài)時(shí),確定是寄存器尋址方式(由 control_fsm 模塊完成),然后轉(zhuǎn)到相應(yīng)的寄存器尋址方式處理段代碼進(jìn)行寄存器地址的確定(由control_mem 模塊完成),為寄存器內(nèi)數(shù)據(jù)的取出做
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1