數(shù)字電路88點(diǎn)陣顯示器設(shè)計(jì)_第1頁(yè)
數(shù)字電路88點(diǎn)陣顯示器設(shè)計(jì)_第2頁(yè)
數(shù)字電路88點(diǎn)陣顯示器設(shè)計(jì)_第3頁(yè)
數(shù)字電路88點(diǎn)陣顯示器設(shè)計(jì)_第4頁(yè)
數(shù)字電路88點(diǎn)陣顯示器設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩16頁(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、精選優(yōu)質(zhì)文檔-傾情為你奉上 JIANGSU TEACHERS UNIVERSITY OF TECHNOLOGY 數(shù)字電路課程設(shè)計(jì)報(bào)告基于FPGA的點(diǎn)陣顯示控制器的設(shè)計(jì) 學(xué) 院 名 稱: 電氣信息工程學(xué)院 專 業(yè): 測(cè)控技術(shù)與儀器 班 級(jí): 08測(cè)控1W 姓 名: 顧曉艷 學(xué) 號(hào): 合作者姓名: 袁佳 指導(dǎo)教師姓名: 翟麗芳、樊寅逸 2010 年 12 月 目 錄序言 2第1章 課題要求 21.1 技術(shù)要求 21.1.1 EDA技術(shù) 21.1.2 VHDL語(yǔ)言 31.1.3 層次化設(shè)計(jì) 41.2功能要求. 51.3本人的工作. 5 第2章 設(shè)計(jì)方案 6第3章 單元電路設(shè)計(jì)和仿真結(jié)果分析 6第4章

2、 頂層電路設(shè)計(jì) 14(第三、四章借鑒袁佳)第5章 硬件電路設(shè)計(jì)與安裝圖 15第6章 硬件電路安裝與調(diào)試 18第7章 調(diào)試結(jié)果 19第8章 收獲與體會(huì) 20參考文獻(xiàn) 21序言隨著我國(guó)經(jīng)濟(jì)的高速發(fā)展,對(duì)公共場(chǎng)合發(fā)布信息的需求日益增長(zhǎng),利用LED點(diǎn)陣顯示漢字的出現(xiàn)正好適應(yīng)了這一市場(chǎng)需求,已經(jīng)成為信息傳播的一種重要的手段。采用傳統(tǒng)方式設(shè)計(jì)的漢字顯示器,通常需要使用單片機(jī)、存儲(chǔ)器和制約邏輯電路來(lái)進(jìn)行PCB半的系統(tǒng)集成。盡管這種方案有單片機(jī)軟件的支持較為靈活,但是由于受硬件資源的限制,未來(lái)對(duì)設(shè)計(jì)的變更和升級(jí),總是難以避免要付出較多的研發(fā)經(jīng)費(fèi)和較長(zhǎng)投放市場(chǎng)周期的代價(jià)。隨著電子設(shè)計(jì)自動(dòng)化(EDA)技術(shù)的進(jìn)展,

3、基于可編程FPGA器件進(jìn)行系統(tǒng)芯片集成的新設(shè)計(jì)方法,也正在快速地取代基于PCB板的傳統(tǒng)設(shè)計(jì)方式。因此,本文闡述了基于FPGA和VHDL語(yǔ)言實(shí)現(xiàn)在8*8點(diǎn)陣上顯示漢字的問(wèn)題。第一章 課題要求1.1 技術(shù)要求1.1.1 EDA技術(shù)20世紀(jì)90年代,國(guó)際上電子和計(jì)算機(jī)技術(shù)較先進(jìn)的國(guó)家,一直在積極探索新的電子電路設(shè)計(jì)方法,并在設(shè)計(jì)方法、工具等方面進(jìn)行了徹底的變革,取得了巨大成功。在電子技術(shù)設(shè)計(jì)領(lǐng)域,可編程邏輯器件(如、)的應(yīng)用,已得到廣泛的普及,這些器件為數(shù)字系統(tǒng)的設(shè)計(jì)帶來(lái)了極大的靈活性。這些器件可以通過(guò)軟件編程而對(duì)其硬件結(jié)構(gòu)和工作方式進(jìn)行重構(gòu),從而使得硬件的設(shè)計(jì)可以如同軟件設(shè)計(jì)那樣方便快捷。這一切極

4、大地改變了傳統(tǒng)的數(shù)字系統(tǒng)設(shè)計(jì)方法、設(shè)計(jì)過(guò)程和設(shè)計(jì)觀念,促進(jìn)了EDA技術(shù)的迅速發(fā)展。 EDA技術(shù)就是以計(jì)算機(jī)為工具,設(shè)計(jì)者在EDA軟件平臺(tái)上,用硬件描述語(yǔ)言HDL完成設(shè)計(jì)文件,然后由計(jì)算機(jī)自動(dòng)地完成邏輯編譯、化簡(jiǎn)、分割、綜合、優(yōu)化、布局、布線和仿真,直至對(duì)于特定目標(biāo)芯片的適配編譯、邏輯映射和編程下載等工作。EDA技術(shù)的出現(xiàn),極大地提高了電路設(shè)計(jì)的效率和可操作性,減輕了設(shè)計(jì)者的勞動(dòng)強(qiáng)度。 利用EDA工具,電子設(shè)計(jì)師可以從概念、算法、協(xié)議等開(kāi)始設(shè)計(jì)電子系統(tǒng),大量工作可以通過(guò)計(jì)算機(jī)完成,并可以將電子產(chǎn)品從電路設(shè)計(jì)、性能分析到設(shè)計(jì)出IC版圖或PCB版圖的整個(gè)過(guò)程的計(jì)算機(jī)上自動(dòng)處理完成。 現(xiàn)在對(duì)EDA的概

5、念或范疇用得很寬。包括在機(jī)械、電子、通信、航空航天、化工、礦產(chǎn)、生物、醫(yī)學(xué)、軍事等各個(gè)領(lǐng)域,都有EDA的應(yīng)用。目前EDA技術(shù)已在各大公司、企事業(yè)單位和科研教學(xué)部門(mén)廣泛使用。例如在飛機(jī)制造過(guò)程中,從設(shè)計(jì)、性能測(cè)試及特性分析直到飛行模擬,都可能涉及到EDA技術(shù)。EDA在教學(xué)、科研、產(chǎn)品設(shè)計(jì)與制造等各方面都發(fā)揮著巨大的作用。在教學(xué)方面,幾乎所有理工科(特別是電子信息)類的高校都開(kāi)設(shè)了EDA課程。主要是讓學(xué)生了解EDA的基本概念和基本原理、掌握用HDL語(yǔ)言編寫(xiě)規(guī)范、掌握邏輯綜合的理論和算法、使用EDA工具進(jìn)行電子電路課程的實(shí)驗(yàn)驗(yàn)證并從事簡(jiǎn)單系統(tǒng)的設(shè)計(jì)。一般學(xué)習(xí)電路仿真工具(如multiSIM、PSPI

6、CE)和PLD開(kāi)發(fā)工具(如Altera/Xilinx的器件結(jié)構(gòu)及開(kāi)發(fā)系統(tǒng)),為今后工作打下基礎(chǔ)。 科研方面主要利用電路仿真工具(multiSIM或PSPICE)進(jìn)行電路設(shè)計(jì)與仿真;利用虛擬儀器進(jìn)行產(chǎn)品測(cè)試;將CPLD/FPGA器件實(shí)際應(yīng)用到儀器設(shè)備中;從事PCB設(shè)計(jì)和ASIC設(shè)計(jì)等。 在產(chǎn)品設(shè)計(jì)與制造方面,包括計(jì)算機(jī)仿真,產(chǎn)品開(kāi)發(fā)中的EDA工具應(yīng)用、系統(tǒng)級(jí)模擬及測(cè)試環(huán)境的仿真,生產(chǎn)流水線的EDA技術(shù)應(yīng)用、產(chǎn)品測(cè)試等各個(gè)環(huán)節(jié)。如PCB的制作、電子設(shè)備的研制與生產(chǎn)、電路板的焊接、ASIC的制作過(guò)程等。 從應(yīng)用領(lǐng)域來(lái)看,EDA技術(shù)已經(jīng)滲透到各行各業(yè),如上文所說(shuō),包括在機(jī)械、電子、通信、航空航航天、化

7、工、礦產(chǎn)、生物、醫(yī)學(xué)、軍事等各個(gè)領(lǐng)域,都有EDA應(yīng)用。另外,EDA軟件的功能日益強(qiáng)大,原來(lái)功能比較單一的軟件,現(xiàn)在增加了很多新用途。如AutoCAD軟件可用于機(jī)械及建筑設(shè)計(jì),也擴(kuò)展到建筑裝璜及各類效果圖、汽車和飛機(jī)的模型、電影特技等領(lǐng)域。1.1.2 VHDL語(yǔ)言VHDL 的英文全名是 Very-High-Speed Integrated Circuit Hardware Description Language,誕生于 1982 年。1987 年底,VHDL被 IEEE 和美國(guó)國(guó)防部確認(rèn)為標(biāo)準(zhǔn)硬件描述語(yǔ)言。 VHDL主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu),行為,功能和接口。除了含有許多具有硬件特征的語(yǔ)句外

8、,VHDL的語(yǔ)言形式和描述風(fēng)格與句法是十分類似于一般的計(jì)算機(jī)高級(jí)語(yǔ)言。VHDL的程序結(jié)構(gòu)特點(diǎn)是將一項(xiàng)工程設(shè)計(jì),或稱設(shè)計(jì)實(shí)體(可以是一個(gè)元件,一個(gè)電路模塊或一個(gè)系統(tǒng))分成外部(或稱可視部分,及端口)和內(nèi)部(或稱不可視部分),既涉及實(shí)體的內(nèi)部功能和算法完成部分。在對(duì)一個(gè)設(shè)計(jì)實(shí)體定義了外部界面后,一旦其內(nèi)部開(kāi)發(fā)完成后,其他的設(shè)計(jì)就可以直接調(diào)用這個(gè)實(shí)體。這種將設(shè)計(jì)實(shí)體分成內(nèi)外部分的概念是VHDL系統(tǒng)設(shè)計(jì)的基本點(diǎn)。VHDL 語(yǔ)言能夠成為標(biāo)準(zhǔn)化的硬件描述語(yǔ)言并獲得廣泛應(yīng)用 , 它自身必然具有很多其他硬件描述語(yǔ)言所不具備的優(yōu)點(diǎn)。歸納起來(lái) ,VHDL 語(yǔ)言主要具有以下優(yōu)點(diǎn): (1) VHDL 語(yǔ)言功能強(qiáng)大 ,

9、 設(shè)計(jì)方式多樣 VHDL 語(yǔ)言具有強(qiáng)大的語(yǔ)言結(jié)構(gòu), 只需采用簡(jiǎn)單明確的VHDL語(yǔ)言程序就可以描述十分復(fù)雜的硬件電路。同時(shí), 它還具有多層次的電路設(shè)計(jì)描述功能。此外 ,VHDL 語(yǔ)言能夠同時(shí)支持同步電路、異步電路和隨機(jī)電路的設(shè)計(jì)實(shí)現(xiàn), 這是其他硬件描述語(yǔ)言所不能比擬的。VHDL 語(yǔ)言設(shè)計(jì)方法靈活多樣 , 既支持自頂向下的設(shè)計(jì)方式, 也支持自底向上的設(shè)計(jì)方法; 既支持模塊化設(shè)計(jì)方法, 也支持層次化設(shè)計(jì)方法。 (2) VHDL 語(yǔ)言具有強(qiáng)大的硬件描述能力 VHDL 語(yǔ)言具有多層次的電路設(shè)計(jì)描述功能,既可描述系統(tǒng)級(jí)電路 , 也可以描述門(mén)級(jí)電路;描述方式既可以采用行為描述、寄存器傳輸描述或者結(jié)構(gòu)描述,也

10、可以采用三者的混合描述方式。同時(shí),VHDL 語(yǔ)言也支持慣性延遲和傳輸延遲,這樣可以準(zhǔn)確地建立硬件電路的模型。VHDL 語(yǔ)言的強(qiáng)大描述能力還體現(xiàn)在它具有豐富的數(shù)據(jù)類型。VHDL 語(yǔ)言既支持標(biāo)準(zhǔn)定義的數(shù)據(jù)類型,也支持用戶定義的數(shù)據(jù)類型,這樣便會(huì)給硬件描述帶來(lái)較大的自由度。 (3) VHDL 語(yǔ)言具有很強(qiáng)的移植能力 VHDL 語(yǔ)言很強(qiáng)的移植能力主要體現(xiàn)在: 對(duì)于同一個(gè)硬件電路的 VHDL 語(yǔ)言描述 , 它可以從一個(gè)模擬器移植到另一個(gè)模擬器上、從一個(gè)綜合器移植到另一個(gè)綜合器上或者從一個(gè)工作平臺(tái)移植到另一個(gè)工作平臺(tái)上去執(zhí)行。 (4) VHDL 語(yǔ)言的設(shè)計(jì)描述與器件無(wú)關(guān) 采用 VHDL 語(yǔ)言描述硬件電路時(shí)

11、, 設(shè)計(jì)人員并不需要首先考慮選擇進(jìn)行設(shè)計(jì)的器件。這樣做的好處是可以使設(shè)計(jì)人員集中精力進(jìn)行電路設(shè)計(jì)的優(yōu)化, 而不需要考慮其他的問(wèn)題。當(dāng)硬件電路的設(shè)計(jì)描述完成以后 ,VHDL 語(yǔ)言允許采用多種不同的器件結(jié)構(gòu)來(lái)實(shí)現(xiàn)。 (5) VHDL 語(yǔ)言程序易于共享和復(fù)用 VHDL 語(yǔ)言采用基于庫(kù) ( library) 的設(shè)計(jì)方法。在設(shè)計(jì)過(guò)程中 , 設(shè)計(jì)人員可以建立各種可再次利用的模塊 , 一個(gè)大規(guī)模的硬件電路的設(shè)計(jì)不可能從門(mén)級(jí)電路開(kāi)始一步步地進(jìn)行設(shè)計(jì) , 而是一些模塊的累加。這些模塊可以預(yù)先設(shè)計(jì)或者使用以前設(shè)計(jì)中的存檔模塊, 將這些模塊存放在庫(kù)中 , 就可以在以后的設(shè)計(jì)中進(jìn)行復(fù)用。 由于 VHDL 語(yǔ)言是一種描

12、述、模擬、綜合、優(yōu)化和布線的標(biāo)準(zhǔn)硬件描述語(yǔ)言 , 因此它可以使設(shè)計(jì)成果在設(shè)計(jì)人員之間方便地進(jìn)行交流和共享, 從而減小硬件電路設(shè)計(jì)的工作量, 縮短開(kāi)發(fā)周期。1.1.3 層次化設(shè)計(jì)我們?cè)谠O(shè)計(jì)時(shí)為了提高最后結(jié)果的正確性和修改的方便性,往往采用層次化的設(shè)計(jì),硬件描述語(yǔ)言設(shè)計(jì)可以描述(合成)為一個(gè)大的模塊,或多個(gè)小的模塊。每種方法都有其優(yōu)點(diǎn)和不利之處。隨著更高密度的FPGA器件的產(chǎn)生,使得層次化設(shè)計(jì)的優(yōu)點(diǎn)遠(yuǎn)超過(guò)其不利之處。下面是分層設(shè)計(jì)的一些優(yōu)點(diǎn):(1)提供更簡(jiǎn)單快捷的驗(yàn)證與仿真(2)允許多個(gè)工程師同時(shí)進(jìn)行設(shè)計(jì)(3)加快設(shè)計(jì)編輯(4)產(chǎn)品設(shè)計(jì)更易于理解(5)高效的管理設(shè)計(jì)流程分層設(shè)計(jì)也有其一定的缺點(diǎn):通

13、過(guò)分層約束,F(xiàn)PGA中的映射設(shè)計(jì)可能不是最佳,這可能會(huì)降低設(shè)備利用率和設(shè)計(jì)性能。對(duì)此加強(qiáng)注意,可使影響減少到最小。 1.2 功能要求(1)基本功能基于FPGA設(shè)計(jì)一個(gè)8*8的點(diǎn)陣顯示控制器,基本要求為能夠靜態(tài)顯示一個(gè)漢字。(2)擴(kuò)展功能但在此基礎(chǔ)上,我們組做了一定的擴(kuò)展功能,點(diǎn)陣顯示可顯示一個(gè)靜態(tài)的“王”字,一屏一屏的“亞運(yùn)會(huì)”,和一個(gè)滾動(dòng)的“王”字,顯示方式可由開(kāi)關(guān)K1,K2,K3控制,K1為靜態(tài)的“王”字,K2為顯示一屏一屏的“亞運(yùn)會(huì)”,K3為顯示一個(gè)滾動(dòng)的“王“字,滾動(dòng)的方向?yàn)橄蜃蟆?.3 本人的工作本人負(fù)責(zé)硬件的設(shè)計(jì),安裝和調(diào)試,主要進(jìn)行如下工作:(1)根據(jù)模塊化的思想進(jìn)行設(shè)計(jì),畫(huà)出設(shè)

14、計(jì)原理圖(2)確定每個(gè)元器件的參數(shù)(3)按照設(shè)計(jì)的硬件原理圖進(jìn)行排版布局(4)焊接元器件(5)進(jìn)行硬件的調(diào)試(6)與下載好程序的FPGA板連接,與軟件結(jié)合后進(jìn)行再一次的調(diào)試第二章 設(shè)計(jì)方案本文設(shè)計(jì)的LED點(diǎn)陣模塊,共由8*8=64個(gè)LED發(fā)光二極管組成。如何在該點(diǎn)陣模塊上顯示漢字是本文設(shè)計(jì)的關(guān)鍵技術(shù)。本文的系統(tǒng)設(shè)計(jì)是采用一種動(dòng)態(tài)分時(shí)掃描技術(shù)來(lái)實(shí)現(xiàn)的。由于顯示器為行共陽(yáng)、列用陰的結(jié)構(gòu),因此不可能在同一時(shí)刻顯示整個(gè)漢字。為了顯示出整個(gè)漢字,首先分布好漢字排列,以行給漢字信息;然后以1Hz頻率的時(shí)序逐一點(diǎn)亮每一列,即每列逐一加高電平,同時(shí)行給漢字信息,根據(jù)人眼的視覺(jué)殘留特性,使之形成整個(gè)漢字的顯示。

15、本次設(shè)計(jì)采用模塊化的設(shè)計(jì)方式,原理如圖:列控制掃描電路分頻電路時(shí)鐘輸入8*8矩陣顯示屏行控制掃描電路第三章 單元電路設(shè)計(jì)(參照袁佳)下面的程序是實(shí)現(xiàn)靜態(tài)顯示“王”字。library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_Unsigned.all;use ieee.std_logic_ARITH.all;ENTITY peng isport(clk,en:in std_logic; lie:out std_logic_vector(7 downto 0); -列 com:out std_logic_vector(7 downto

16、0);-行End peng;Architecture a of peng issignal st1:std_logic_vector(7 downto 0);signal osc:std_logic;signal osd:std_logic;signal d_ff:std_logic_vector(27 downto 0);signal data:std_logic_vector(7 downto 0);signal d0,d1,d2,d3,d4,d5,d6,d7:std_logic_vector(7 downto 0);signal lie0:std_logic_vector(6 downt

17、o 0);Begincom<=data;lie<=st1;d0<=""d1<=""d2<=""d3<=""d4<=""d5<=""d6<=""d7<=""-字庫(kù) 王First:processbeginwait until clk='1'-分頻if(d_ff(27 downto 0)>=2e8)then d_ff(27 downto 0)<="

18、;"else d_ff(27 downto 0)<=d_ff+1;end if;osc<=not d_ff(10);end process first;second:process(osc)begin if(osc='1' and osc'event and en='0')then if st1(7 downto 0)=""or st1(7 downto 0)=""then st1(7 downto 0)<=""data<=d0;-逐列掃描方式 elsif st

19、1(7 downto 0)=""then st1(7 downto 0)<=""data<=d1; elsif st1(7 downto 0)=""then st1(7 downto 0)<=""data<=d2; elsif st1(7 downto 0)=""then st1(7 downto 0)<=""data<=d3; elsif st1(7 downto 0)=""then st1(7 downto 0)&l

20、t;=""data<=d4; elsif st1(7 downto 0)=""then st1(7 downto 0)<=""data<=d5; elsif st1(7 downto 0)=""then st1(7 downto 0)<=""data<=d6; elsif st1(7 downto 0)=""then st1(7 downto 0)<=""data<=d7; end if;end if;end pr

21、ocess second;end a;以下程序是實(shí)現(xiàn)一屏一屏顯示“亞運(yùn)會(huì)”Library ieee;Use ieee.std_logic_1164.all;Use ieee.std_logic_unsigned.all;Use ieee.std_logic_arith.all;Entity weng isPort( Clk,en:in std_logic; lie:out std_logic_vector(7 downto 0);-列 Com:out std_logic_vector(7 downto 0);-行End weng;Architecture a of weng issignal

22、st1:std_logic_vector(7 downto 0);signal osc:std_logic;signal osd:std_logic;signal d_ff:std_logic_vector(27 downto 0);signal data:std_logic_vector(7 downto 0);signal d0,d1,d2,d3,d4,d5,d6,d7:std_logic_vector(7 downto 0);signal lie0:std_logic_vector(6 downto 0);begincom<=data;lie<=st1;D0<=&quo

23、t;"when lie0(6 downto 0)=""else""when lie0(6 downto 0)=""else""when lie0(6 downto 0)=""else""D1<=""when lie0(6 downto 0)=""else""when lie0(6 downto 0)=""else""when lie0(6 downto 0)=&

24、quot;"else""D2<=""when lie0(6 downto 0)=""else""when lie0(6 downto 0)=""else""when lie0(6 downto 0)=""else""D3<=""when lie0(6 downto 0)=""else""when lie0(6 downto 0)=""e

25、lse""when lie0(6 downto 0)=""else""D4<=""when lie0(6 downto 0)=""else""when lie0(6 downto 0)=""else""when lie0(6 downto 0)=""else""D5<=""when lie0(6 downto 0)=""else"&qu

26、ot;when lie0(6 downto 0)=""else""when lie0(6 downto 0)=""else""D6<=""when lie0(6 downto 0)=""else""when lie0(6 downto 0)=""else""when lie0(6 downto 0)=""else""D7<=""when lie0

27、(6 downto 0)=""else""when lie0(6 downto 0)=""else""when lie0(6 downto 0)=""else""-以上為字庫(kù)“亞運(yùn)會(huì)”first:processbeginwait until clk='1'if(d_ff(27 downto 0)>=2e8)thend_ff(27 downto 0)<=""elsed_ff(27 downto 0)<=d_ff+1;end

28、if;osc<=not d_ff(10);osd<=not d_ff(26);end process first;second:process(osc)beginif(osc='1' and osc'event)then if st1(7 downto 0)=""or st1(7 downto 0)=""then st1(7 downto 0)<=""data<=d0; -逐列掃描方式 elsif st1(7 downto 0)=""then st1(7 downto

29、 0)<=""data<=d1; elsif st1(7 downto 0)=""then st1(7 downto 0)<=""data<=d2; elsif st1(7 downto 0)=""then st1(7 downto 0)<=""data<=d3; elsif st1(7 downto 0)=""then st1(7 downto 0)<=""data<=d4; elsif st1(7 dow

30、nto 0)=""then st1(7 downto 0)<=""data<=d5; elsif st1(7 downto 0)=""then st1(7 downto 0)<=""data<=d6; elsif st1(7 downto 0)=""then st1(7 downto 0)<=""data<=d7; end if;end if;end process second;third:process(osd)beginif(osd=

31、'1' and osd'event and en='0')thenif lie0(6 downto 0)=""then lie0(6 downto 0)<=""else lie0(6 downto 0)<=lie0+1;end if;end if;end process third;end a;以下程序?qū)崿F(xiàn)滾動(dòng)顯示“王”LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_A

32、RITH.ALL;entity gun isPORT( clk,en:IN STD_LOGIC; lie:out STD_LOGIC_VECTOR(7 DOWNTO 0);-列 com:out STD_LOGIC_VECTOR(7 DOWNTO 0);-行END gun;ARCHITECTURE a OF gun ISSIGNAL st1,st2:STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL osc:STD_LOGIC;SIGNAL osd:STD_LOGIC;SIGNAL d_ff:STD_LOGIC_VECTOR(27 DOWNTO 0);SIGNAL data:

33、STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL d0,d1,d2,d3,d4,d5,d6,d7:STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL lie0,lie1,lie2,lie3,lie4,lie5,lie6,lie7:STD_LOGIC_VECTOR(6 DOWNTO 0);BeginCom<=data;lie<=st1;D0<= ""when lie0=""else-王字第0列 ""when lie0=""else-王字第1列 "&

34、quot;when lie0=""else-王字第2列 ""when lie0=""else-王字第3列 ""when lie0=""else-王字第4列 ""when lie0=""else-王字第5列 ""when lie0=""else-王字第6列 ""when lie0=""else-王字第7列 "" -以上為字庫(kù)0 D1<="&qu

35、ot;when lie0=""else-王字第1列""when lie0=""else-王字第2列""when lie0=""else-王字第3列""when lie0=""else-王字第4列""when lie0=""else-王字第5列""when lie0=""else-王字第6列""when lie0=""else-王字第7列&

36、quot;"when lie0=""else-王字第0列""-以上為字庫(kù)1D2<=""when lie0=""else-王字第2列""when lie0=""else-王字第3列""when lie0=""else-王字第4列""when lie0=""else-王字第5列""when lie0=""else-王字第6列""

37、;when lie0=""else-王字第7列""when lie0=""else-王字第0列""when lie0=""else-王字第1列""-以上為字庫(kù)2D3<=""when lie0=""else-王字第3列""when lie0=""else-王字第4列""when lie0=""else-王字第5列""when lie0

38、=""else-王字第6列""when lie0=""else-王字第7列""when lie0=""else-王字第0列""when lie0=""else-王字第1列""when lie0=""else-王字第2列""-以上為字庫(kù)3D4<=""when lie0=""else-王字第4列""when lie0="&qu

39、ot;else-王字第5列""when lie0=""else-王字第6列""when lie0=""else-王字第7列""when lie0=""else-王字第0列""when lie0=""else-王字第1列""when lie0=""else-王字第2列""when lie0=""else-王字第3列""-以上為字庫(kù)4D5&l

40、t;=""when lie0=""else-王字第5列""when lie0=""else-王字第6列""when lie0=""else-王字第7列""when lie0=""else-王字第0列""when lie0=""else-王字第1列""when lie0=""else-王字第2列""when lie0=""

41、;else-王字第3列""when lie0=""else-王字第4列""-以上是字庫(kù)5D6<=""when lie0=""else-王字第6列""when lie0=""else-王字第7列""when lie0=""else-王字第0列""when lie0=""else-王字第1列""when lie0=""else-王字第2

42、列""when lie0=""else-王字第3列""when lie0=""else-王字第4列""when lie0=""else-王字第5列""-以上是字庫(kù)6D7<= ""when lie0=""else-王字第7列""when lie0=""else-王字第0列""when lie0=""else-王字第1列"&q

43、uot;when lie0=""else-王字第2列""when lie0=""else-王字第3列""when lie0=""else-王字第4列""when lie0=""else-王字第5列""when lie0=""else-王字第6列""-以上為字庫(kù)7First:processbeginwait until clk='1' If d_ff(27 downto 0)>

44、=2e8 thend_ff(27 downto 0)<=""elsed_ff(27 downto 0)<=d_ff+1;end if;osc<=not d_ff(10);osd<=not d_ff(26);end process first;second:process(osc)begin if(osc='1'and osc'event)then if st1(7 downto 0)=""or st1(7 downto 0)=""then st1(7 downto 0)<=&quo

45、t;"data<=d0; -逐列掃描方式 elsif st1(7 downto 0)=""then st1(7 downto 0)<=""data<=d1; elsif st1(7 downto 0)=""then st1(7 downto 0)<=""data<=d2; elsif st1(7 downto 0)=""then st1(7 downto 0)<=""data<=d3; elsif st1(7 downto

46、0)=""then st1(7 downto 0)<=""data<=d4; elsif st1(7 downto 0)=""then st1(7 downto 0)<=""data<=d5; elsif st1(7 downto 0)=""then st1(7 downto 0)<=""data<=d6; elsif st1(7 downto 0)=""then st1(7 downto 0)<="&q

47、uot;data<=d7; end if;end if;end process second;third:process(osd)beginif(osd='1' and osd'event and en='0')then if lie0(6 downto 0)=""then lie0(6 downto 0)<="" else lie0<=lie0+1; end if;end if;end process third;end a;第四章 頂層電路設(shè)計(jì)(參照袁佳)頂層文件如下:library ieee

48、;use ieee.std_logic_1164.all;use ieee.std_logic_Unsigned.all;use ieee.std_logic_ARITH.all;entity zong is port( a:in std_logic_vector(2 downto 0); clk:in std_logic; hang:out std_logic_vector(7 downto 0); lie:out std_logic_vector(7 downto 0);end entity zong;architecture one of zong iscomponent peng is

49、 -以下為三個(gè)申明;port(clk,en:in std_logic; lie:out std_logic_vector(7 downto 0); -列 com:out std_logic_vector(7 downto 0);end component;component weng isPort( Clk,en:in std_logic; lie:out std_logic_vector(7 downto 0);-列 Com:out std_logic_vector(7 downto 0);-行end component;component gun isPORT( clk,en:IN STD_LOGIC; lie:out STD_LOGIC_VECTOR(7 DOWNTO 0);-列 com:out STD_LOGIC_VECTOR(7 DOWNTO 0);-行end component;signal h1,h2,h3:std_logic_vector(7 downto 0);sign

溫馨提示

  • 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)論