基于FPGA的MCS51單片機(jī)的邏輯運(yùn)算模塊設(shè)計(jì)本科畢業(yè)設(shè)計(jì)1_第1頁(yè)
基于FPGA的MCS51單片機(jī)的邏輯運(yùn)算模塊設(shè)計(jì)本科畢業(yè)設(shè)計(jì)1_第2頁(yè)
基于FPGA的MCS51單片機(jī)的邏輯運(yùn)算模塊設(shè)計(jì)本科畢業(yè)設(shè)計(jì)1_第3頁(yè)
基于FPGA的MCS51單片機(jī)的邏輯運(yùn)算模塊設(shè)計(jì)本科畢業(yè)設(shè)計(jì)1_第4頁(yè)
基于FPGA的MCS51單片機(jī)的邏輯運(yùn)算模塊設(shè)計(jì)本科畢業(yè)設(shè)計(jì)1_第5頁(yè)
已閱讀5頁(yè),還剩28頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、基于fpga的mcs-51單片機(jī)的算術(shù)運(yùn)算模塊設(shè)計(jì)基于fpga的mcs-51單片機(jī)的邏輯運(yùn)算模塊設(shè)計(jì)摘要mcs-51是intel公司生產(chǎn)的其中一個(gè)單片機(jī)系列的名稱。該系列單片機(jī)誕生于1980年,功能強(qiáng)大、應(yīng)用方便,已成為單片機(jī)領(lǐng)域的實(shí)際標(biāo)準(zhǔn)。mcs-51單片機(jī)小巧靈活,成本低,易于產(chǎn)品化,方便地組成各種智能測(cè)試設(shè)備及各種智能儀器儀表。其指令系統(tǒng)有各種控制功能用指令,很容易構(gòu)成各種規(guī)模的應(yīng)用系統(tǒng),易擴(kuò)展,可以很方便地實(shí)現(xiàn)多機(jī)和分布式控制。而vhdl語(yǔ)言則是應(yīng)用廣泛的一種硬件描述語(yǔ)言,目前越來(lái)越多的廠商、科研機(jī)構(gòu)在使用vhdl語(yǔ)言進(jìn)行系統(tǒng)開(kāi)發(fā)。本文將采用具有學(xué)習(xí)能力強(qiáng)、兼容性能好及采用并行處理優(yōu)點(diǎn)

2、等的fpga/cpld為載體,應(yīng)用靈活高效的vhdl語(yǔ)言對(duì)mcs51兼容單片機(jī)進(jìn)行編程、以eda開(kāi)發(fā)軟件quartus ii 為設(shè)計(jì)平臺(tái),經(jīng)過(guò)編譯、調(diào)試、修改、仿真測(cè)試,實(shí)現(xiàn)mcs-51單片機(jī)的算術(shù)模塊功能。 關(guān)鍵詞:mcs-51單片機(jī),vhdl,eda,fpgaabstractmcs-51 is an among those that the intel company produce list slice the name of the machine series.should series list slice the machine was born in 1980, the fun

3、ction be strong, application convenience, have become list slice machine realm of actual standard.the mcs-51 list slice the machine be cleverly made and vivid, the cost be low, be easy to a product to turn and expediently constitute various intelligence to measure, equipments and various intelligenc

4、e instrument appearance.its instruction system have various control the function use instruction, very easy constitute various scale of application system, easy expand, can very expediently realization many machine and distribute type control.but vhdl language then application extensive of the descr

5、iption language of a kind of hardware, currently more and more of manufacturer, research organization at usage the vhdl language carry on system development.this text has study ability the adoption strong, and permit function good and adoption proceed together processing advantage etc. of fpga/cpld

6、in order to carry a body, application vivid efficiently of vhdl language to mcs 51 and permit list slice the machine carry on plait distance, with eda development software quartus ii is design terrace, has been editted and translate, adjusted to try, modification, imitate true test, realization mcs-

7、51 list slice the arithmetic mold of the machine piece function. keyword:the machine, vhdl, eda of the mcs-51 list slice, fpga目錄第一章 緒論11.1 課程設(shè)計(jì)背景知識(shí)11.1.1 單片機(jī)的概述11.1.2 單片機(jī)的發(fā)展歷程11.1.3 單片機(jī)的發(fā)展趨勢(shì)21.1.4 單片機(jī)的特點(diǎn)及應(yīng)用21.1.5 單片機(jī)面臨的問(wèn)題31.1.6 單片機(jī)與fpga/cpld的對(duì)比41.1.7 eda技術(shù)設(shè)計(jì)方法系統(tǒng)級(jí)設(shè)計(jì)5第二章 單片機(jī)的結(jié)構(gòu)原理82.1 單片機(jī)的內(nèi)部模塊功能82.2 mc

8、s-51單片機(jī)的指令系統(tǒng)的實(shí)現(xiàn)原理11第三章 alu的原理分析與實(shí)現(xiàn)工具123.1 alu的原理分析123.2 用fpga實(shí)現(xiàn)alu的設(shè)計(jì)123.3 alu的實(shí)現(xiàn)工具vhdl語(yǔ)言13第四章 mcs-51單片機(jī)的算術(shù)模塊設(shè)計(jì)144.1 加/減法器設(shè)計(jì)154.2 乘法器設(shè)計(jì)194.3 除法器設(shè)計(jì)214.4 十進(jìn)制調(diào)整器設(shè)計(jì)24第五章 總結(jié)與展望28致謝29參考文獻(xiàn)30iii 基于fpga的mcs-51單片機(jī)的算術(shù)運(yùn)算模塊設(shè)計(jì)第一章 緒論1.1 課程設(shè)計(jì)背景知識(shí)1.1.1 單片機(jī)的概述單片機(jī)是大規(guī)模集成電路技術(shù)發(fā)展的產(chǎn)物,它將中央處理器(cpu)、存儲(chǔ)器(rom/ram)、輸入輸出接口、定時(shí)器/計(jì)數(shù)

9、器等主要計(jì)算機(jī)部件集成在一片芯片上,因此單片機(jī)被稱為單片微型計(jì)算機(jī)(single chip microcomputer)。目前單片機(jī)是計(jì)算機(jī)家族中重要的一員。單片機(jī)配上適當(dāng)?shù)耐鈬O(shè)備和軟件,便可構(gòu)成一個(gè)單片機(jī)應(yīng)用系統(tǒng)。單片機(jī)具有功能強(qiáng)、體積小、價(jià)格低和抗干擾能力強(qiáng)等特點(diǎn),被廣泛應(yīng)用于工農(nóng)業(yè)生產(chǎn)、國(guó)防、科研及日常生活等各個(gè)領(lǐng)域。1.1.2 單片機(jī)的發(fā)展歷程單片機(jī)1974年,美國(guó)fairchild公司研制出世界上第一臺(tái)由兩塊集成電路芯片組成的單片微型計(jì)算機(jī)f8,從此單片機(jī)開(kāi)始迅速發(fā)展。從4位機(jī)和8位機(jī)到現(xiàn)在的16位機(jī)和32位機(jī),單片機(jī)的功能越來(lái)越強(qiáng)大,應(yīng)用范圍也越來(lái)越廣泛。單片機(jī)的發(fā)展歷程通常可以

10、分為以下幾個(gè)階段:(1) 第一代單片機(jī)(19741976年)這是單片機(jī)發(fā)展的起步階段。在這個(gè)時(shí)期生產(chǎn)的單片機(jī)屬4位機(jī)型,集成度低。典型的代表產(chǎn)品有intel公司的4004四位單片機(jī),主要應(yīng)用于家用電器領(lǐng)域中。(2) 第二代單片機(jī)(19761978年)這是單片機(jī)的發(fā)展階段。這個(gè)時(shí)代生產(chǎn)的單片機(jī)屬低、中檔8位機(jī)型,片內(nèi)集成有cpu、輸入輸出接口、定時(shí)器和rom等功能部件,是8位機(jī)的早期產(chǎn)品,存儲(chǔ)器容量小,性能低,目前已很少應(yīng)用。典型的產(chǎn)品有intel公司的mcs-48系列單片機(jī)。(3) 第三代單片機(jī)(19791982年)這一代單片機(jī)的存儲(chǔ)容量和尋址范圍都有擴(kuò)大,而且增加了中斷源、并行i/o和定時(shí)器

11、/計(jì)數(shù)器個(gè)數(shù),集成了全雙工串行通信接口電路。代表產(chǎn)品有intel公司的mcs-51系列機(jī)。(4) 第四代單片機(jī)(1982年以后)這是16位單片機(jī)和8位高性能單片機(jī)并行發(fā)展的時(shí)代。16位單片機(jī)的特點(diǎn)是工藝先進(jìn)、集成度高和內(nèi)部功能強(qiáng),代表產(chǎn)品有intel公司的mcs-96系列等。1.1.3 單片機(jī)的發(fā)展趨勢(shì)隨著大規(guī)模集成電路及超大規(guī)模集成電路的發(fā)展,單片機(jī)將向著更深層次發(fā)展,主要體現(xiàn)在以下幾個(gè)方面:(1) 高集成度一片單片機(jī)內(nèi)部集成的rom/ram容量增大,增加了電閃存儲(chǔ)器,具有掉電保護(hù)功能,并且集成了a/d、d/a轉(zhuǎn)換器、定時(shí)器/計(jì)數(shù)器、系統(tǒng)故障監(jiān)測(cè)和dma電路等。(2) 引腳多功能化,隨著芯片

12、內(nèi)部功能的增強(qiáng)和資源的豐富,一腳多用的設(shè)計(jì)方案日益顯示出其重要地位。(3) 高性能這是單片機(jī)發(fā)展所追求的一個(gè)目標(biāo),更高的性能將會(huì)使單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)變得更加簡(jiǎn)單、可靠。(4) 低功耗這將是未來(lái)單片機(jī)發(fā)展所追求的一個(gè)目標(biāo),隨著單片機(jī)集成度的不斷提高,由單片機(jī)構(gòu)成的系統(tǒng)體積越來(lái)越小,低功耗將是設(shè)計(jì)單片機(jī)產(chǎn)品時(shí)首先考慮的指標(biāo)。1.1.4 單片機(jī)的特點(diǎn)及應(yīng)用1. 單片機(jī)的特點(diǎn):(1) 可靠性高單片機(jī)采用三總線結(jié)構(gòu),抗干擾能力強(qiáng),可靠性高。(2) 功能強(qiáng)單片機(jī)具有判斷和處理能力,可以直接對(duì)i/o口進(jìn)行各種操作(輸入輸出、位操作以及算術(shù)邏輯操作等),運(yùn)算速度高,實(shí)時(shí)控制功能強(qiáng)。(3) 體積小、功耗低 由于

13、單片機(jī)包含了運(yùn)算器等基本功能部件,具有較高的集成度,因此由單片機(jī)組成的應(yīng)用系統(tǒng)結(jié)構(gòu)簡(jiǎn)單、體積小、功能全。電源單一,功耗低。(4) 使用方便 由于單片機(jī)內(nèi)部功能強(qiáng),系統(tǒng)擴(kuò)展方便,因此應(yīng)用系統(tǒng)的硬件設(shè)計(jì)非常簡(jiǎn)單。(5) 性能價(jià)格比較高,易于產(chǎn)品化 單片機(jī)具有功能強(qiáng)、價(jià)格便宜、體積小、插接件少、安裝調(diào)試簡(jiǎn)單等特點(diǎn),使單片機(jī)應(yīng)用系統(tǒng)的性能價(jià)格比較高。同時(shí)單片機(jī)開(kāi)發(fā)工具很多,這些開(kāi)發(fā)工具都具有很強(qiáng)的軟硬件調(diào)試功能,使單片機(jī)的應(yīng)用開(kāi)發(fā)極為方便,大大縮短了產(chǎn)品研制的周期,并使單片機(jī)應(yīng)用系統(tǒng)易于產(chǎn)品化。2. 單片機(jī)的應(yīng)用單片機(jī)的應(yīng)用概括起來(lái),主要有以下幾方面:(1) 單片機(jī)在智能儀表中的應(yīng)用單片機(jī)廣泛地應(yīng)用于

14、各種智能儀器儀表中,簡(jiǎn)化了儀器儀表的硬件結(jié)構(gòu),增強(qiáng)了控制功能,提高了測(cè)量速度和測(cè)量精度。(2) 單片機(jī)在機(jī)電一體化中的應(yīng)用機(jī)電一體化產(chǎn)品集機(jī)械技術(shù)、電子技術(shù)、自動(dòng)化技術(shù)和計(jì)算機(jī)技術(shù)于一身,是機(jī)械工業(yè)發(fā)展的方向。將單片機(jī)應(yīng)用于機(jī)械行業(yè),發(fā)揮它的體積小、可靠性高、功能強(qiáng)和安裝方便等優(yōu)點(diǎn),提高了機(jī)器的自動(dòng)化和智能化程度,促進(jìn)了機(jī)電一體化的發(fā)展。(3) 單片機(jī)在實(shí)時(shí)控制中的應(yīng)用單片機(jī)被廣泛地應(yīng)用于各種實(shí)時(shí)控制系統(tǒng)中。例如對(duì)工業(yè)生產(chǎn)過(guò)程中溫度、濕度、流量和壓力等參數(shù)的測(cè)量和控制等。(4) 單片機(jī)在分布式測(cè)控系統(tǒng)中的應(yīng)用分布式測(cè)控系統(tǒng)的主要特點(diǎn)是系統(tǒng)中有多個(gè)處理單元,各自完成特定的任務(wù),可通過(guò)網(wǎng)絡(luò)通信相互

15、聯(lián)系、協(xié)調(diào)工作,具有功能強(qiáng)、可靠性高的特點(diǎn)。單片機(jī)可作為一個(gè)處理單元應(yīng)用于分布式測(cè)控系統(tǒng)中。(5) 單片機(jī)在工業(yè)過(guò)程控制中的應(yīng)用單片機(jī)的i/o口線多,并具有位操作能力,特別適用于工業(yè)過(guò)程控制。(6) 單片機(jī)在日常生活中的應(yīng)用由于單片機(jī)價(jià)格低廉、體積小、邏輯判斷及控制功能強(qiáng),因此被廣泛地應(yīng)用于日常生活的各個(gè)方面,如洗衣機(jī)、電冰箱、電子玩具、立體聲音響和家用防盜系統(tǒng)等。1.1.5 單片機(jī)面臨的問(wèn)題(1)低速由于單片機(jī)的工作方式是通過(guò)內(nèi)部的cpu逐條執(zhí)行的軟件指令來(lái)完成各種運(yùn)算和邏輯功能的,因而無(wú)論多么高的工作時(shí)鐘頻率和多么好的指令時(shí)序方式,在串行指令執(zhí)行方式面前,其工作速度和效率必將大打折扣。因此

16、,單片機(jī)在實(shí)時(shí)仿真、高速工控或高速數(shù)據(jù)采樣等許多領(lǐng)域尤顯力不從心。(2)pc“跑飛”在強(qiáng)干擾或某種偶然的因素下,任何單片機(jī)的程序計(jì)數(shù)器都極可能超出正常的程序流程“跑飛”,事實(shí)證明,無(wú)論多么優(yōu)秀的單片機(jī),在強(qiáng)電磁干擾情況下,單片機(jī)都無(wú)法保證其仍能正常工作而不進(jìn)入不可挽回的“死機(jī)”狀態(tài)。(3)開(kāi)發(fā)周期長(zhǎng)單片機(jī)是執(zhí)行軟件指令的方式實(shí)現(xiàn)邏輯功能的,不同的單片機(jī)通常具有不同的匯編語(yǔ)言,使得程序的可移植性差,此外,在開(kāi)發(fā)單片機(jī)的軟件程序中需要隨時(shí)顧及特定的單片機(jī)的應(yīng)簡(jiǎn)潔共和外圍設(shè)備接口。所以這一切導(dǎo)致了單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)效率低,開(kāi)發(fā)周期時(shí)間長(zhǎng)。1.1.6 單片機(jī)與fpga/cpld的對(duì)比在傳統(tǒng)的控制系統(tǒng)中

17、,人們常常采用單片機(jī)作為控制核心。但這種方法硬件連線復(fù)雜,可靠性差,且單片機(jī)的端口數(shù)目,內(nèi)部定時(shí)器和中斷源的個(gè)數(shù)都有限,在實(shí)際應(yīng)用中往往需要外加擴(kuò)展芯片,這無(wú)疑對(duì)系統(tǒng)的設(shè)計(jì)帶來(lái)諸多不便,現(xiàn)在有很多系統(tǒng)采用可編程邏輯器件fpga/cpld(現(xiàn)場(chǎng)可編程門陣列/復(fù)雜可編程邏輯器件)作為控制核心,它與傳統(tǒng)設(shè)計(jì)相比較,不僅簡(jiǎn)化了接口和控制,提高了系統(tǒng)的整體性能及工作可靠性,也為系統(tǒng)集成創(chuàng)造了條件。下面我們來(lái)看單片機(jī)和fpga/cpld的對(duì)比:(1)單片機(jī)的學(xué)習(xí)效率較低。單片機(jī)直接面對(duì)硬件,大多數(shù)都使用匯編語(yǔ)言不同廠家生產(chǎn)的單片機(jī)其匯編語(yǔ)言也不同,并且,單片機(jī)編程還與硬件的連接方式有關(guān),而fpga/cpl

18、d可使用標(biāo)準(zhǔn)硬件描述語(yǔ)言vhdl(very high speed integrated circuit hardware deseription language)對(duì)所有型號(hào)的fpga/cpld編程。同時(shí),vhdl是一種行為描述語(yǔ)言,可以遠(yuǎn)離硬件編程,打破了軟硬件之間的屏障,使學(xué)習(xí)和設(shè)計(jì)的效率大大提高。(2)單片機(jī)本身的速度相對(duì)fpga/cpld來(lái)顯得太慢。單片機(jī)是用指令排隊(duì)形式來(lái)執(zhí)行指令的,影響了速度的提高。而fpga/cpld在實(shí)時(shí)處理時(shí)均為并行工作,速度快。(3)單片機(jī)各引腳的功能是確定的,而fpga/cpld可以根據(jù)需要用軟件改變各引腳的功能。與mcs-51單片機(jī)相比f(wàn)pga/cpld

19、的優(yōu)勢(shì)是多方面的,以下是他們的優(yōu)點(diǎn)與優(yōu)勢(shì)。(1)編程方式簡(jiǎn)便、先進(jìn)。fpga/cpld產(chǎn)品越來(lái)越多地采用了先進(jìn)的在系統(tǒng)配置編程方式。(2)高速。fpga/cpld的時(shí)鐘延遲可達(dá)納秒級(jí),結(jié)合其并行工作方式在超高速應(yīng)用領(lǐng)域和實(shí)時(shí)測(cè)控方面有非常廣闊的應(yīng)用前景。(3)高可靠性。除了不存在scm所特有的復(fù)位不可靠與pc可能跑飛等固有缺陷外,fpga/cpld的高可靠性還表現(xiàn)在幾乎可將整個(gè)系統(tǒng)下載于同一芯片中,從而大大縮小了體積,易于管理和屏蔽。(4)開(kāi)發(fā)工具和設(shè)計(jì)語(yǔ)言標(biāo)準(zhǔn)化,開(kāi)發(fā)周期短。由于開(kāi)發(fā)工具的通用性,設(shè)計(jì)語(yǔ)言的標(biāo)準(zhǔn)化以及設(shè)計(jì)過(guò)程幾乎與所用的fpga/cpld器件的硬件結(jié)構(gòu)沒(méi)有關(guān)系,使得設(shè)計(jì)成功的

20、各類邏輯功能塊有很好的兼容性和可移植性,它幾乎可用于任何型號(hào)的fpga/cpld從而使得片上系統(tǒng)的產(chǎn)品設(shè)計(jì)效率大幅度提高。(5)功能強(qiáng)大,應(yīng)用廣闊。目前fpga/cpld可供選擇范圍很大,可根據(jù)不同的應(yīng)用選用不同容量的芯片,利用它們可實(shí)現(xiàn)幾乎任何形式的數(shù)字電路或數(shù)字系統(tǒng)的設(shè)計(jì)。(6)易學(xué)易用,開(kāi)發(fā)便捷。fpga/cpld應(yīng)用的學(xué)習(xí)不需太多的預(yù)備知識(shí),只要具有通常的數(shù)字電路和計(jì)算機(jī)編程基礎(chǔ)知識(shí),就足以在短期內(nèi)掌握基本的設(shè)計(jì)方法和開(kāi)發(fā)技巧。1.1.7 eda技術(shù)設(shè)計(jì)方法系統(tǒng)級(jí)設(shè)計(jì)eda是一種高層次的電子設(shè)計(jì)方法,也即系統(tǒng)級(jí)設(shè)計(jì)方法。高層次設(shè)計(jì)是一種“概念驅(qū)動(dòng)式”設(shè)計(jì),設(shè)計(jì)人員無(wú)須通過(guò)門級(jí)原理圖描述

21、電路,而是針對(duì)設(shè)計(jì)目標(biāo)進(jìn)行功能描述,由于擺脫了電路細(xì)節(jié)的束縛,設(shè)計(jì)人員可以把精力集中于創(chuàng)造性的方案與概念構(gòu)思上,一旦這些概念構(gòu)思以高層次描述的形式輸入計(jì)算機(jī)后,eda系統(tǒng)就能以規(guī)則驅(qū)動(dòng)的方式自動(dòng)完成整個(gè)設(shè)計(jì)。這樣,新的概念得以迅速有效的成為產(chǎn)品,大大縮短了產(chǎn)品的研制周期。不僅如此,高層次設(shè)計(jì)只是定義系統(tǒng)的行為特性,可以不涉及實(shí)現(xiàn)工藝,在廠家綜合庫(kù)的支持下,利用綜合優(yōu)化工具可以將高層次描述轉(zhuǎn)換成針對(duì)某種工藝優(yōu)化的網(wǎng)表,工藝轉(zhuǎn)化變得輕松容易。具體的設(shè)計(jì)流程如圖1-1所示。系統(tǒng)劃分vhdl代碼或圖形方式輸入編譯器代碼級(jí)功能仿真綜合器適配前時(shí)序仿真適配器適配后仿真模型器件編輯文件適配報(bào)告適配后時(shí)序仿真

22、cpld/fpga實(shí)現(xiàn)asic實(shí)現(xiàn)廠家綜合庫(kù)圖1-1 eda設(shè)計(jì)流程圖fpgacpld是一種新興的高密度的可編程邏輯器件,它具有門陣列的高密度和pld器件的靈活性和易用性,目前已成為一類主要的可編程器件??删幊唐骷淖畲筇攸c(diǎn)是可通過(guò)軟件編程對(duì)其器件的結(jié)構(gòu)和工作方式進(jìn)行重構(gòu),能隨時(shí)進(jìn)行設(shè)計(jì)調(diào)整而滿足產(chǎn)品升級(jí)。使得硬件的設(shè)計(jì)可以如軟件設(shè)計(jì)一樣方便快捷,從而改變了傳統(tǒng)數(shù)字系統(tǒng)及用單片機(jī)構(gòu)成的數(shù)字系統(tǒng)的設(shè)計(jì)方法、設(shè)計(jì)過(guò)程及設(shè)計(jì)觀念,使電子設(shè)計(jì)的技術(shù)操作和系統(tǒng)構(gòu)成在整體上發(fā)生了質(zhì)的飛躍。采用fpgacpld可編程器件,可利用計(jì)算機(jī)軟件的方式對(duì)目標(biāo)器件進(jìn)行設(shè)計(jì),而以硬件的形式實(shí)現(xiàn)。既定的系統(tǒng)功能,在設(shè)計(jì)過(guò)

23、程中,可根據(jù)需要隨時(shí)改變器件的內(nèi)部邏輯功能和管腳的信號(hào)方式,借助于大規(guī)模集成的fpgacpld和高效的設(shè)計(jì)軟件,用戶不僅可通過(guò)直接對(duì)芯片結(jié)構(gòu)的設(shè)計(jì)實(shí)行多種數(shù)字邏輯系統(tǒng)功能,而且由于管腳定義的靈活性,大大減輕了電路圖設(shè)計(jì)和電路板設(shè)計(jì)的工作量的難度,同時(shí),這種基于可編程芯片的設(shè)計(jì)大大減少了系統(tǒng)芯片的數(shù)量,縮小了系統(tǒng)的體積,提高了系統(tǒng)的可靠性。eda技術(shù)就是以計(jì)算機(jī)為工具,在eda軟件平臺(tái)上,對(duì)以硬件描述語(yǔ)言hdl為系統(tǒng)邏輯描述手段,完成的設(shè)計(jì)文件自動(dòng)完成邏輯編譯、邏輯化簡(jiǎn)、邏輯綜合及優(yōu)化、邏輯仿真,直至對(duì)特定目標(biāo)芯片的適配編譯、邏輯映射和編程下載等工作。eda的仿真測(cè)試技術(shù)只需要通過(guò)計(jì)算機(jī)就能對(duì)所

24、設(shè)計(jì)的電子系統(tǒng)從各種不同層次的系統(tǒng)性能特點(diǎn)完成一系列準(zhǔn)確的測(cè)試與仿真操作,大大提高了大規(guī)模系統(tǒng)電子設(shè)計(jì)的自動(dòng)化程度。設(shè)計(jì)者的工作僅限于利用軟件方式,即利用硬件描述語(yǔ)言(如vhdl)來(lái)完成對(duì)系統(tǒng)硬件功能的描述,在eda工具的幫助下就可以得到最后的設(shè)計(jì)結(jié)果,這使得對(duì)整個(gè)硬件系統(tǒng)的設(shè)計(jì)和修改過(guò)程如同完成軟件設(shè)計(jì)一樣方便、高效。 第二章 單片機(jī)的結(jié)構(gòu)原理2.1 單片機(jī)的內(nèi)部模塊功能mcs-51的內(nèi)部結(jié)構(gòu)框圖如圖21所示,其內(nèi)部各部分的功能簡(jiǎn)述如下:圖2-1單片機(jī)的內(nèi)部結(jié)構(gòu)框圖1運(yùn)算器運(yùn)算器包括算術(shù)邏輯部件alu、位處理器、累加器a、寄存器b、暫存器、以及程序狀態(tài)寄存器psw等。該模塊的功能是實(shí)現(xiàn)數(shù)據(jù)的

25、算術(shù)運(yùn)算、邏輯運(yùn)算、位變量處理和數(shù)據(jù)傳送等操作。alu的功能十分強(qiáng)大,它不僅可以對(duì)8位變量進(jìn)行邏輯“與”、“或”、“非”、“異或”、移位和清零等基本操作,還可以進(jìn)行加、減、乘、除和十進(jìn)制調(diào)整等基本運(yùn)算。alu還具有一般微機(jī)的alu所不具備的功能,即位處理操作,它可以對(duì)位(bit)變量進(jìn)行處理,如置位、清零、測(cè)試轉(zhuǎn)移以及邏輯“與”、“或”、“非”等操作。由此可見(jiàn),alu在算術(shù)運(yùn)算以及控制處理方面的能力是很強(qiáng)的。累加器a是一個(gè)8位的累加器。從功能上看它與一般微機(jī)的累加器相比沒(méi)有什么特別之處,但需要說(shuō)明的是a的進(jìn)位標(biāo)志cy是特殊的,因?yàn)樗瑫r(shí)又是位處理器的一位累加器。寄存器b是為執(zhí)行乘法和除法操作設(shè)

26、置的,在不執(zhí)行乘、除法操作的一般情況下,可以把它當(dāng)一個(gè)普通的寄存器使用。程序狀態(tài)寄存器psw,是一個(gè)8位的可讀寫寄存器,它的不同位包含了程序狀態(tài)的不同信息。其中進(jìn)位標(biāo)志位cy輔助進(jìn)位標(biāo)志位ac)和ov在執(zhí)行算術(shù)和邏輯指令時(shí),可以由硬件或者軟件(cy可以有軟件置位或清零)改變,因此運(yùn)算器應(yīng)該有上述三位狀態(tài)改變的輸出信息。本課題設(shè)計(jì)的運(yùn)算器將完全以組合邏輯電路的形式出現(xiàn),其內(nèi)部將不包括累加器a、寄存器b、以及程序狀態(tài)字寄存器psw。它只是根據(jù)所接收的指令,將來(lái)自累加器、程序或者數(shù)據(jù)存儲(chǔ)器的數(shù)據(jù)進(jìn)行相應(yīng)的算術(shù)或者邏輯運(yùn)算,然后將運(yùn)算結(jié)果以及程序狀態(tài)字寄存器psw的相關(guān)位以結(jié)果的形式輸出。2控制器控制

27、部件是單片機(jī)的中樞神經(jīng),以主振頻率為基準(zhǔn),控制器控制cpu的時(shí)序,對(duì)指令進(jìn)行譯碼,然后發(fā)出各種控制信號(hào),將各個(gè)硬件環(huán)節(jié)組織在一起??刂破麟娐钒ǔ绦蛴?jì)數(shù)器pc、pc加1寄存器、指令寄存器、指令譯碼器、數(shù)據(jù)指針dptr、堆棧指針sp、緩沖器以及定時(shí)與控制電路等。控制電路完成指揮控制工作,協(xié)調(diào)單片機(jī)各部分正常工作。程序計(jì)數(shù)器pc用來(lái)存放即將要執(zhí)行的指令地址,它可以完成64k的外部存儲(chǔ)器尋址,執(zhí)行指令時(shí),pc內(nèi)容的高8位經(jīng)p2口輸出,低8位經(jīng)p0口輸出。數(shù)據(jù)指針dptr為16位數(shù)據(jù)指針,它可以對(duì)64k的外部數(shù)據(jù)存儲(chǔ)器和i/o口進(jìn)行尋址,它的低8位為dpl(地址82h),高8位為dph(地址為83h)

28、。堆棧指針sp在片內(nèi)ram(128字節(jié))中開(kāi)辟棧區(qū),并隨時(shí)跟蹤棧頂?shù)刂?,它按先進(jìn)后出的原則存取數(shù)據(jù),上電復(fù)位后,sp指向07h。3存儲(chǔ)器mcs51系列單片機(jī)的存儲(chǔ)器包括數(shù)據(jù)存儲(chǔ)器和程序存儲(chǔ)器,其主要特點(diǎn)是程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器的尋址空間是相互獨(dú)立的,物理結(jié)構(gòu)也不相同。對(duì)mcs51系列(8031除外)而言,有4個(gè)物理上相互獨(dú)立的存儲(chǔ)器空間:即內(nèi)、外程序存儲(chǔ)器和內(nèi)、外數(shù)據(jù)存儲(chǔ)器。對(duì)于8051其芯片中共有256個(gè)ram單元,其中后128個(gè)單元被專用寄存器占用,只有前128個(gè)單元供用戶使用。4定時(shí)器/計(jì)數(shù)器mcs51系列單片機(jī)有兩個(gè)可編程定時(shí)器/計(jì)數(shù)器,即定時(shí)器/計(jì)數(shù)器0和1。它們各具有兩種工作模式(

29、定時(shí)器模式和計(jì)數(shù)器模式)和4種工作方式(方式0,方式1、方式2、方式3)。4種工作方式中,前三種方式對(duì)兩個(gè)定時(shí)器/計(jì)數(shù)器都是一樣的,方式3對(duì)兩者時(shí)不同的,這一點(diǎn)在設(shè)計(jì)時(shí)要注意。特殊功能寄存器tmod(定時(shí)器/計(jì)數(shù)器方式控制寄存器)用于控制定時(shí)器/計(jì)數(shù)器的工作模式和過(guò)方式。另一個(gè)特殊功能寄存器tcon(定時(shí)器/計(jì)數(shù)器控制寄存器)用于t0和t1的啟動(dòng)和停止計(jì)數(shù),同時(shí)還包含了t0和t1的狀態(tài)。有關(guān)定時(shí)器/計(jì)數(shù)器的各個(gè)工作方式將在具體設(shè)計(jì)中詳細(xì)敘述。5串行口mcs51系列單片機(jī)內(nèi)部有一個(gè)功能很強(qiáng)的全雙工的串行口,該串行口有四種工作方式,波特率可以由軟件設(shè)置,由片內(nèi)的定時(shí)器/計(jì)數(shù)器產(chǎn)生。串行口有兩個(gè)物理

30、上獨(dú)立地接收、發(fā)送緩沖器sbuf,可以同時(shí)發(fā)送、接收數(shù)據(jù),發(fā)送緩沖器只能寫入不能讀出,接收緩沖器只能讀出不能寫入,兩個(gè)緩沖器公用一個(gè)字節(jié)地址(99h)。串行口的接收、發(fā)送數(shù)據(jù)均可觸發(fā)中斷系統(tǒng)。同時(shí),還有兩個(gè)控制寄存器來(lái)控制mcs51單片機(jī)地串行口,它們是特殊功能寄存器scon和pcon。6并行口mcs51單片機(jī)共有4個(gè)8位的i/o口(p0、p1、p2和p3),每一條i/o線都能獨(dú)立地用作輸入或輸出。p0口為三態(tài)雙向口,能帶8個(gè)ttl門電路,p1、p2和p3口為準(zhǔn)雙向口,負(fù)載能力為4個(gè)ttl門電路。7中斷控制系統(tǒng)mcs51單片機(jī)的中斷功能較強(qiáng),以滿足控制應(yīng)用的需要。8051共有5個(gè)中斷源,即外中

31、斷2個(gè),定時(shí)/計(jì)數(shù)中斷2個(gè),串行中斷1個(gè)。所有中斷分為高級(jí)和低級(jí)兩個(gè)中斷優(yōu)先級(jí)。8時(shí)鐘電路mcs51芯片內(nèi)部有時(shí)鐘電路,但晶體振蕩器和微調(diào)電容必須外接。時(shí)鐘電路為單片機(jī)產(chǎn)生時(shí)鐘脈沖序列,振蕩器的頻率范圍為1.2mhz12mhz,典型取值為6mhz。9總線以上所有組成部分都是通過(guò)總線連接起來(lái),從而構(gòu)成一個(gè)完整的單片機(jī)。系統(tǒng)的地址信號(hào)、數(shù)據(jù)信號(hào)和控制信號(hào)都是通過(guò)總線傳送的,總線結(jié)構(gòu)減少了單片機(jī)的連線和引腳,提高了集成度和可靠性。2.2 mcs-51單片機(jī)的指令系統(tǒng)的實(shí)現(xiàn)原理mcs51系列單片機(jī)的指令系統(tǒng)采用匯編語(yǔ)言,它的指令系統(tǒng)是一種簡(jiǎn)明高效的指令系統(tǒng),由42種助記符和7種尋址方式組合而成。其基本

32、指令共有111條,其中單字節(jié)指令49條,雙字節(jié)指令45條,三字節(jié)指令17條。如果按功能可以講這些指令分為五類:數(shù)據(jù)傳送類(29條)、算術(shù)操作類(24條)、邏輯操作類(24條)、控制轉(zhuǎn)移類(17條)以及位變量操作類(17條)。對(duì)于反向設(shè)計(jì)而言,我們關(guān)心的不是它的各種具體指令的多少而是指令的尋址方式。所謂的尋址方式就是尋找確定參與操作的數(shù)的真正地址。mcs51系列單片機(jī)的111條指令一共只采用了7種尋址方式。它們分別為:立即尋址、直接尋找、寄存器尋址、寄存器間接尋址、變址尋址、相對(duì)尋址、位尋址。第三章 alu的原理分析與實(shí)現(xiàn)工具3.1 alu的原理分析8051單片機(jī)的alu是一個(gè)性能極強(qiáng)的運(yùn)算器,

33、它的功能為:(1)加、減、乘、除四則運(yùn)算。(2)與、或、非、異或等邏輯運(yùn)算。(3)數(shù)據(jù)傳送、移位、判斷和程序轉(zhuǎn)移等功能。8051單片機(jī)的alu為用戶提供了豐富的指令系統(tǒng)和極快的指令執(zhí)行速度,大部分指令的執(zhí)行時(shí)間為1s,乘法指令可達(dá)4s。8051時(shí)鐘頻率可達(dá)12mhz。3.2 用fpga實(shí)現(xiàn)alu的設(shè)計(jì)在現(xiàn)代電子系統(tǒng)中,數(shù)字系統(tǒng)所占的比例越來(lái)越大?,F(xiàn)代電子系統(tǒng)發(fā)展的趨勢(shì)是數(shù)字化和集成化,cpld/fpga作為可編程asic器件,在數(shù)字系統(tǒng)設(shè)計(jì)中發(fā)揮著重要的作用。與傳統(tǒng)的可編程器件相比,fpga采用了類似門陣列的通用結(jié)構(gòu),規(guī)??梢宰龅妮^大,可實(shí)現(xiàn)的功能更強(qiáng),設(shè)計(jì)的靈活性更大。且fpga的容量越來(lái)越

34、大,它所提供的門數(shù)從幾百門到上百萬(wàn)門,可以滿足不同的需要。因此用fpga來(lái)實(shí)現(xiàn)alu的功能不會(huì)受到fpga門數(shù)的限制。用fpga實(shí)現(xiàn)的alu有很多優(yōu)點(diǎn):(1)編程方式簡(jiǎn)便先進(jìn)。(2)高速:fpga的時(shí)鐘延遲可達(dá)納秒級(jí),結(jié)合其并行工作方式在超高速應(yīng)用領(lǐng)域和實(shí)時(shí)測(cè)控方面有非常廣闊的應(yīng)用前景。(3)高可靠性:表現(xiàn)在幾乎可將整個(gè)系統(tǒng)下載于同一芯片中從而大大縮小了體積易于管理和屏蔽。(4)開(kāi)發(fā)工具和設(shè)計(jì)語(yǔ)言標(biāo)準(zhǔn)化開(kāi)發(fā)周期短。(5)功能強(qiáng)大應(yīng)用廣闊的 fpga可供選擇范圍很大,可根據(jù)不同的應(yīng)用選用不同容量的芯片。利用它們可實(shí)現(xiàn)幾乎任何形式的數(shù)字電路或數(shù)字系統(tǒng)的設(shè)計(jì)。(6)易學(xué)易用開(kāi)發(fā)便捷:fpga應(yīng)用的學(xué)

35、習(xí)不需太多的預(yù)備知識(shí),只要具有通常的數(shù)字電路和計(jì)算機(jī)編程基礎(chǔ)知識(shí),就足以在短期內(nèi)掌握基本的設(shè)計(jì)方法和開(kāi)發(fā)技巧。3.3 alu的實(shí)現(xiàn)工具vhdl語(yǔ)言vhdl語(yǔ)言的英文全名是very high speed integrated circuit hardware description language即超高速集成電路硬件描述語(yǔ)言,是一種用于設(shè)計(jì)硬件電子系統(tǒng)的計(jì)算機(jī)語(yǔ)言,它用軟件編程的方式來(lái)描述電子系統(tǒng)的邏輯功能、電路結(jié)合和連接形式。與傳統(tǒng)的門級(jí)描述方式相比,它更適合大規(guī)模系統(tǒng)的設(shè)計(jì)。vhdl的優(yōu)點(diǎn):(1)語(yǔ)言標(biāo)準(zhǔn)、規(guī)范、描述能力強(qiáng)。 (2)可讀性好,易于共享和復(fù)用。 (3)支持?jǐn)?shù)字電路的開(kāi)發(fā)環(huán)境,

36、設(shè)計(jì)技術(shù)齊全、方法靈活。 (4)可以與工藝無(wú)關(guān)編程。 (5)支持層次化(框圖)、出錯(cuò)處理和驗(yàn)證。 第四章 mcs-51單片機(jī)的算術(shù)模塊設(shè)計(jì)算術(shù)運(yùn)算模塊的功能是按照控制單元給出的指令,對(duì)來(lái)自數(shù)據(jù)存儲(chǔ)器、程序存儲(chǔ)器、累加器a以及程序狀態(tài)字的相關(guān)位的數(shù)據(jù),進(jìn)行相關(guān)的算術(shù)和邏輯運(yùn)算。本模塊只進(jìn)行字節(jié)運(yùn)算,而不象原始的mcs51那樣,在alu中還可以進(jìn)行位運(yùn)算(4位運(yùn)算將直接在控制器中處理)。這個(gè)模塊將用純組合邏輯電路來(lái)實(shí)現(xiàn)。alu模塊的實(shí)體結(jié)構(gòu)如圖41所示。圖4-1 alu模塊實(shí)體圖alu由6個(gè)模塊組成:分別是譯碼與控制分配模塊alumux、邏輯運(yùn)算模塊alucore、加減模塊addsub、乘法模塊m

37、ul、除法模塊div和二十進(jìn)制調(diào)整模塊adjust。alualumuxalucoreaddsubcormultiplcdivideradjustaddsub-cyaddsub-ov-cy圖4-2是alu模塊設(shè)計(jì)層次圖4.1 加/減法器設(shè)計(jì)addsub加減法模塊主要用來(lái)實(shí)現(xiàn)alu模塊算術(shù)運(yùn)算中的加減法運(yùn)算,由于減法運(yùn)算實(shí)現(xiàn)也可以轉(zhuǎn)化成加法運(yùn)算,因此addsub模塊的實(shí)現(xiàn)實(shí)質(zhì)就是加法器的設(shè)計(jì),實(shí)現(xiàn)后的實(shí)體圖如圖4-3所示。其中輸入端口18個(gè),兩個(gè)8位的操作數(shù)端口opa_i和opb_i,用于存放加數(shù)和被加數(shù);一個(gè)狀態(tài)位cy_i,即低位的進(jìn)位輸入;另一個(gè)輸入端為加減法選擇信號(hào)addsub_i,高電平時(shí)

38、為加法操作,低電平時(shí)為減法操作。輸出端口11個(gè),包括8位的運(yùn)算結(jié)果輸出端口rslt_o,兩位的進(jìn)位狀態(tài)標(biāo)志位cy_o和一位溢出狀態(tài)標(biāo)志位ov_o。設(shè)計(jì)采用組合邏輯設(shè)計(jì)方法,所以對(duì)于設(shè)計(jì)的關(guān)鍵部分,并行進(jìn)位的產(chǎn)生相應(yīng)的有一定的要求,即vhdl語(yǔ)言中的進(jìn)位信號(hào)的表示應(yīng)使用變量(variable),而不能使用信號(hào)量(signal)。因此在vhdl語(yǔ)言中,可直接按照公式的要求進(jìn)行編寫代碼,其結(jié)果將由信號(hào)rslt_o代出addsub模塊,返回到alumux中。 圖4-3 加/法器實(shí)體圖 加減法器模塊設(shè)計(jì)的vhdl程序如下:library ieee;use ieee.std_logic_1164.all;

39、entity addsub isport(opa_i:in std_logic_vector(7 downto 0);opb_i:in std_logic_vector(7 downto 0);cy_i:in std_logic;addsub_i:in std_logic;ov_o:out std_logic;rslt_o:out std_logic_vector(7 downto 0);cy_o:out std_logic_vector(1 downto 0);end addsub;architecture rtl of addsub isbegin process(opa_i,opb_i,

40、cy_i,addsub_i)variable s_c:std_logic_vector(7 downto 0);variable p:std_logic_vector(8 downto 1);variable g:std_logic_vector(8 downto 1);variable c:std_logic_vector(8 downto 0);beginif addsub_i=1then-adderp:=opa_i xor opb_i;g:=opa_i and opb_i;c(0):=cy_i;c(1):=g(1)or(p(1)and c(0);c(2):=g(2)or(p(2)and

41、g(1)or(p(2)and p(1)and c(0);c(3):=g(3)or(p(3)and g(2)or(p(3)and p(2)and g(1)or(p(3)and p(2)and p(1)and c(0);c(4):=g(4)or(p(4)and g(3)or(p(4)and p(3)and g(2)or(p(4)and p(3)and p(2)and g(1)or(p(4)and p(3)and p(2)and p(1)and c(0);c(5):=g(5)or(p(5)and g(4)or(p(5)and p(4)and g(3)or(p(5)and p(4)and p(3)an

42、d g(2)or(p(5)and p(4)and p(3)and p(2)and g(1)or(p(5)and p(4)and p(3)and p(2)and p(1)and c(0);c(6):=g(6)or(p(6)and g(5)or(p(6)and p(5)and g(4)or(p(6)and p(5)and p(4)and g(3)or(p(6)and p(5)and p(4)and p(3)and g(2)or(p(6)and p(5)and p(4)and p(3)and p(2)and g(1)or(p(6)and p(5)and p(4)and p(3)and p(2)and

43、 p(1)and c(0);c(7):=g(7)or(p(7)and g(6)or(p(7)and p(6)and g(5)or(p(7)and p(6)and p(5)and g(4)or(p(7)and p(6)and p(5)and p(4)and g(3)or(p(7)and p(6)and p(5)and p(4)and p(3)and g(2)or(p(7)and p(6)and p(5)and p(4)and p(3)and p(2)and g(1)or(p(7)and p(6)and p(5)and p(4)and p(3)and p(2)and p(1)and c(0);c(

44、8):=g(8)or(p(8)and g(7)or(p(8)and p(7)and g(6)or(p(8)and p(7)and p(6)and g(5)or(p(8)and p(7)and p(6)and p(5)and g(4)or(p(8)and p(7)and p(6)and p(5)and p(4)and g(3)or(p(8)and p(7)and p(6)and p(5)and p(4)and p(3)and g(2)or(p(8)and p(7)and p(6)and p(5)and p(4)and p(3)and p(2)and g(1)or(p(8)and p(7)and

45、p(6)and p(5)and p(4)and p(3)and p(2)and p(1)and c(0);ov_o=(c(8)xor c(7);cy_o=c(8)andc(4);s_c:=p xor c(7 downto 0);else p:=opa_i xor(not opb_i);-subtractorg:=opa_i and(not opb_i);c(0):=not cy_i;c(1):=g(1)or(p(1)and c(0);c(2):=g(2)or(p(2)and g(1)or(p(2)and p(1)and c(0);c(3):=g(3)or(p(3)and g(2)or(p(3)

46、and p(2)and g(1)or(p(3)and p(2)and p(1)and c(0);c(4):=g(4)or(p(4)and g(3)or(p(4)and p(3)and g(2)or(p(4)and p(3)and p(2)and g(1)or(p(4)and p(3)and p(2)and p(1)and c(0);c(5):=g(5)or(p(5)and g(4)or(p(5)and p(4)and g(3)or(p(5)and p(4)and p(3)and g(2)or(p(5)and p(4)and p(3)and p(2)and g(1)or(p(5)and p(4)

47、and p(3)and p(2)and p(1)and c(0);c(6):=g(6)or(p(6)and g(5)or(p(6)and p(5)and g(4)or(p(6)and p(5)and p(4)and g(3)or(p(6)and p(5)and p(4)and p(3)and g(2)or(p(6)and p(5)and p(4)and p(3)and p(2)and g(1)or(p(6)and p(5)and p(4)and p(3)and p(2)and p(1)and c(0);c(7):=g(7)or(p(7)and g(6)or(p(7)and p(6)and g(

48、5)or(p(7)and p(6)and p(5)and g(4)or(p(7)and p(6)and p(5)and p(4)and g(3)or(p(7)and p(6)and p(5)and p(4)and p(3)and g(2)or(p(7)and p(6)and p(5)and p(4)and p(3)and p(2)and g(1)or(p(7)and p(6)and p(5)and p(4)and p(3)and p(2)and p(1)and c(0);c(8):=g(8)or(p(8)and g(7)or(p(8)and p(7)and g(6)or(p(8)and p(7

49、)and p(6)and g(5)or(p(8)and p(7)and p(6)and p(5)and g(4)or(p(8)and p(7)and p(6)and p(5)and p(4)and g(3)or(p(8)and p(7)and p(6)and p(5)and p(4)and p(3)and g(2)or(p(8)and p(7)and p(6)and p(5)and p(4)and p(3)and p(2)and g(1)or(p(8)and p(7)and p(6)and p(5)and p(4)and p(3)and p(2)and p(1)and c(0);ov_o=(n

50、ot c(8)xor(not c(7);cy_o=(not c(8)and (not c(4);s_c:=p xor c(7 downto 0);end if;rslt_o=s_c;end process;end rtl; 圖4-4是對(duì)addsub加/減法器功能進(jìn)行軟件仿真的仿真結(jié)果,圖中可知,加/減法器計(jì)算結(jié)果以及標(biāo)志的輸出均正確。 圖4-4 addsub功能仿真圖4.2 乘法器設(shè)計(jì)mul模塊主要實(shí)現(xiàn)算術(shù)運(yùn)算中的乘法運(yùn)算,該模塊的設(shè)計(jì)非常簡(jiǎn)單,直接利用vhdl語(yǔ)言中的乘法運(yùn)算符編寫程序進(jìn)行設(shè)計(jì)即可,其實(shí)體圖如圖4-5所示。mul模塊的輸入為被乘數(shù)mula和乘數(shù)mulb,均為8位輸入,而輸出p

51、roduct_o為16位輸出。在vhdl的實(shí)現(xiàn)中,內(nèi)部運(yùn)算的實(shí)現(xiàn)仍然是通過(guò)變量的是用來(lái)實(shí)現(xiàn)的,因?yàn)閮?nèi)部的移位相加是通過(guò)for循環(huán)語(yǔ)句來(lái)實(shí)現(xiàn)的。因?yàn)槭?位的乘法器,所以要循環(huán)8次,且從乘數(shù)的最低位開(kāi)始循環(huán)至最高位。每次循環(huán)時(shí)都要對(duì)乘數(shù)的對(duì)應(yīng)位進(jìn)行判斷,若乘數(shù)的對(duì)應(yīng)位是1,則把被乘數(shù)與保存中間值的變量值相加,然后再存于變量v_d中;若乘數(shù)的對(duì)應(yīng)位是0,則直接把保存中間值的變量值送入變量v_d中。判斷結(jié)束后,循環(huán)中止前,都要把v_d中的值放到v_c中,并右移一位。依此循環(huán)8次,則可求出最終乘積, 而乘積的結(jié)果由信號(hào)product_o送回到alumux模塊。圖4-5 mul模塊實(shí)體圖mul乘法器模塊設(shè)計(jì)的vhdl程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity mul isport(mula:in std_logic_vector(7 downto 0);mulb:in std_logic_vector(7 downto 0);product_

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論