【正文】
業(yè)大學(xué)本科畢業(yè)設(shè)計(jì) 10 3 FPGA 內(nèi)部模塊詳細(xì)劃分 本章主要介紹 FPGA 內(nèi)部模塊的劃分 ,從 圖 中可以看出 FPGA 內(nèi)部主要有一下幾個(gè)模塊構(gòu)成: VGA,PS2,SARM,ROM。從而大大簡(jiǎn)化了硬件設(shè)計(jì)任務(wù),提高了設(shè)計(jì)效率和可靠性?,F(xiàn)在,VHDL 和 VERILOG 作為 IEEE 的工業(yè)標(biāo)準(zhǔn)描述語(yǔ)言,得到眾多 EDA 公司的支持,在電子工程領(lǐng)域已經(jīng)成為事實(shí)上的通用硬件描述語(yǔ)言。由于創(chuàng)建 VHDL 的最初目的是用語(yǔ)標(biāo)準(zhǔn)文檔的建立吉林農(nóng)業(yè)大學(xué)本科畢業(yè)設(shè)計(jì) 9 和電路功能模擬,其基本想法是在高層次上描述系統(tǒng)和文件的行為,但到了 20世紀(jì) 90 年代初,人們發(fā)現(xiàn) VHDL 不僅可以作為系統(tǒng)模擬建模工具,而且可以作為電路系統(tǒng)的設(shè)計(jì)工具,可以利用軟件工具將 VHDL 源碼自動(dòng)地轉(zhuǎn)化為文本方式表達(dá)的基本邏輯元件連接圖,即網(wǎng)表文件,這種方法顯然對(duì)于電路自己設(shè)計(jì)是一個(gè)極大的推動(dòng),很快,電子設(shè)計(jì)領(lǐng)域出現(xiàn)了第一個(gè)軟件設(shè)計(jì)工具,即 VHDL邏輯綜合器,它把標(biāo)準(zhǔn)的 VHDL 的部分語(yǔ)言描述轉(zhuǎn)化為具體電路實(shí)現(xiàn)的網(wǎng)表文件。從此 VHDL 在電子設(shè)計(jì)領(lǐng)域得到了廣泛應(yīng)用,并逐漸取代了原有的非標(biāo)準(zhǔn)硬件描述語(yǔ)言。 硬件描述語(yǔ)言 VHDL 硬件描述語(yǔ)言 HDL 是 EDA 技術(shù)的重要部分,常見(jiàn)的 HDL 有下列幾種: ? VHDL ? Verilog HDL ? System Verilog ? System C 其中 VHDL、 Verilog 在現(xiàn)在的 EDA 設(shè)計(jì)中使用最多,也擁有幾乎所有的主流 EDA 工具的支持,而 System Verilog、 System C 這兩種 HDL 語(yǔ)言還處于完 善過(guò)程中, VHDL 上電子設(shè)計(jì)主流硬件的描述語(yǔ)言之一 VHDL 的 英 文 全 名 是 VHSIC HARDWARE DESCRIPTION LANGUAGE,于 1983 年由美國(guó)國(guó)防部發(fā)起創(chuàng)建,由 IEEE 發(fā)布,從此, VHDL成為硬件描述語(yǔ)言的工業(yè)標(biāo)準(zhǔn)之一。在斷電后就丟失了,再次上電需要再次編程(配臵),因此需要專(zhuān)業(yè)器吉林農(nóng)業(yè)大學(xué)本科畢業(yè)設(shè)計(jì) 8 件在完成這類(lèi)配制操作,而前四種器件在編程后是不丟失編程信息的。即 SRAM 查找表結(jié)構(gòu)的器件大部分 FPGA 器件都采用此種編程工藝,如 XILINX 的 FPGA、 ALTERA 的部分 FPGA 器件。 4) EEPROM 型, 即電可擦寫(xiě)編程器件,現(xiàn)有的大部分 CPLD 及 GAL 器件采用此類(lèi)結(jié)構(gòu),它是對(duì) EPROM 的工藝改進(jìn),不需要紫外線擦除,而是直接用電擦除。無(wú)論是熔絲還是反熔絲結(jié)構(gòu),都只能編程一次,因而又被合稱(chēng)為 OTP 器件,即一次可編程器件。與反熔絲燒斷獲得開(kāi)路正好相反。 第三種分類(lèi)方法是從編程工藝上劃分: 1) 熔絲( FUSE)型器件,早期的 PROM 器件就是采用 結(jié)構(gòu)的,編程過(guò)程就是根據(jù)設(shè)計(jì)熔絲圖文件來(lái)燒斷對(duì)應(yīng)的熔絲,達(dá)到編程的目的。其基本結(jié)構(gòu)為 “ 與 — 或 ” 陣列的器件,大部分簡(jiǎn)單 PLD吉林農(nóng)業(yè)大學(xué)本科畢業(yè)設(shè)計(jì) 7 和 CPLD 都屬于這個(gè)范疇。 這種分類(lèi)方法比較粗糙,在具體區(qū)分時(shí),一般以 GAL22V10 作為對(duì)比,集成度大于 GAL22V10 的稱(chēng)為復(fù)雜 PLD,反之歸類(lèi)為簡(jiǎn)單 PLD。 可 編 程 邏 輯 器 件 ( P L D )簡(jiǎn) 單 P L D 復(fù) 雜 P L DR P O MP L A P A LG A L C P L D F P G A 圖 可編程邏輯器件分類(lèi) Fig. Category Programmable Logic Devices 另一類(lèi)是芯片集成度較高的。 如下圖所示,較常見(jiàn)的分類(lèi)是按照集成度來(lái)區(qū)分不同的 PLD 期間,一般可以分為以下兩大類(lèi)器件: 一類(lèi)是芯片集成度較低的。 (6)進(jìn)入 20 世紀(jì) 90 年代后,可編程邏輯集成電路技術(shù)進(jìn)入飛速發(fā)展時(shí)期,器件的可用邏輯門(mén)數(shù)超過(guò)百萬(wàn)門(mén),并出現(xiàn)了內(nèi)嵌復(fù)雜功能模塊(比如加法器、乘法器、吉林農(nóng)業(yè)大學(xué)本科畢業(yè)設(shè)計(jì) 6 RAM、 CPU 核、 DSP 核、 PLL 等)的 SoPC. 可編程邏輯器件的分類(lèi) 可編程邏輯器件的種類(lèi)很多,幾乎每個(gè)大的可編程邏輯器件供應(yīng)商都能提供具有自身結(jié)構(gòu)特點(diǎn)的 PLD 器件。 (4)20世紀(jì) 80年代中期, Xilinx 公司提出現(xiàn)場(chǎng)可編程概念,同時(shí)產(chǎn)生出了世界上第一片 FPGA 器件,同一時(shí)期, Altera 公司推出 EPLD 器件,較 GAL 器件有更高的集成度,可以用紫外線或電擦除。 (2)20 世紀(jì) 70 年代末,對(duì) PLA 進(jìn)行了改進(jìn), AMD 公司推出 PAL 器件。 歷史上,可編程邏輯器件經(jīng)歷了從 PROM( Programmable Read Only Menory)、 PLA(Programmable Logic Array)、 PAL( Programmable Array Logic)、可重 復(fù)編程的 GAL( Generic Array Logic),到采用大規(guī)模集成電路技術(shù)的 EPLD,直到 CPLD 和 FPGA 的發(fā)展過(guò)程,在結(jié)構(gòu)、工藝、集成度、功能、速度和靈活性方面都有很大的改進(jìn)和提高。 吉林農(nóng)業(yè)大學(xué)本科畢業(yè)設(shè)計(jì) 5 可編程邏輯器件的發(fā)展歷程 很早以前人們就曾經(jīng)設(shè)想設(shè)計(jì)一中可編程可再編程(重構(gòu))的器件,不過(guò)由于受到當(dāng)時(shí)集成電路工藝技術(shù)的限制,一直未能如愿。因此,F(xiàn)PGA 的使用非常靈活。當(dāng)需要修改 FPGA 功能時(shí),只需換一片 EPROM即可。掉電后, FPGA 恢復(fù)成白片,內(nèi)部邏輯關(guān)系消失,因此,F(xiàn)PGA 能夠反復(fù)使用。用戶(hù)可以根據(jù)不同的配臵模式,采用不同的編程方式。 目前 FPGA 的品種很多,有 XILINX 的 XC 系列、 TI 公司的 TPC 系列、ALTERA 公司的 FIEX 系列等。 FPGA 采用高速 CHMOS 工藝,功耗低,可以與 CMOS、 TTL 電平兼容。 FPGA 內(nèi)部有豐富的觸發(fā)器和 I/ O 引腳。 FPGA 的基本特點(diǎn)主要有: 吉林農(nóng)業(yè)大學(xué)本科畢業(yè)設(shè)計(jì) 4 采用 FPGA 設(shè)計(jì) ASIC 電路,用戶(hù)不需要投片生產(chǎn),就能得到合用的芯片。它是作為專(zhuān)用集成電路( ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門(mén)電路數(shù)有限的缺點(diǎn)。此后,人們又從ROM 工作原理、地址信號(hào)與輸入數(shù)據(jù)間的關(guān)系,以及 ASIC 的門(mén)陣列法中獲得啟發(fā),構(gòu)造出另外一種可編程的邏輯結(jié)構(gòu),那就是 SRAM 查找表的邏輯形成方式,它的邏輯函數(shù)發(fā)生采用 RAM“ 數(shù)據(jù) ” 查找的方式,并使用多個(gè)查表構(gòu)成了一個(gè)查表陣列,稱(chēng)為可編程門(mén)陣列( Programmable Gate Array)。同樣,任何是許電路都可以有組 合電路加上存儲(chǔ)元件(即鎖存器、觸發(fā)器、 RAM)構(gòu)成。人們發(fā)現(xiàn),不是所有的基本門(mén)都是必須的, 如用與非門(mén)單一基本門(mén)就可以構(gòu)成其他的基本門(mén)。 2 系統(tǒng)硬件設(shè)計(jì) 硬件的基本組成 XC3S500E SPARTAN3E FPGA、 VGA 顯示器、 PS2 鍵盤(pán)、 50M 晶震、 270Ω電阻、 硬件介紹 可編程邏輯芯片概述 不論是簡(jiǎn)單還是復(fù)雜的數(shù)字電路系統(tǒng)都是由基本門(mén)來(lái)構(gòu)成的,如與門(mén)、或門(mén)、非門(mén)、傳輸門(mén)等。編譯與下載部分主要介紹了下載軟件的發(fā)展歷史,以及安裝使用方法。硬件部分介紹,主要器件,可編程邏輯器件的發(fā)展歷程,可編程邏輯器件的分類(lèi),硬件描述語(yǔ)言 VHDL。理解 VHDL 的基本語(yǔ)法以及設(shè)計(jì)規(guī)則,這樣才能更好的利用 VHDL 語(yǔ)言來(lái)做有效吉林農(nóng)業(yè)大學(xué)本科畢業(yè)設(shè)計(jì) 2 的設(shè)計(jì)。 我做的畢業(yè)設(shè)計(jì)注重于對(duì) FPGA 和 VHDL 語(yǔ)言的理解,為自己奠 定基礎(chǔ) ,以便以后在 EDA 領(lǐng)域的開(kāi)發(fā)和研制打下基礎(chǔ),提高自己的設(shè)計(jì)能力,培養(yǎng)創(chuàng)新能力,豐富自己的知識(shí)理論,做到理論和實(shí)際結(jié)合。我的設(shè)計(jì)主要的部分是程序的編寫(xiě),幾乎耗費(fèi)了 3/4 的時(shí)間,因此程序部分比較復(fù)雜,但是我的設(shè)計(jì)對(duì)總體的模塊劃分比較嚴(yán)謹(jǐn),因此比較容易理解。在這個(gè)過(guò)程中需要選擇適當(dāng)?shù)脑侠淼碾娐穲D扎實(shí)的焊接技術(shù),基本的故障排除和糾正能力,會(huì)使用基本的儀器對(duì)硬件進(jìn)行調(diào)試,會(huì)熟練的運(yùn)用VHDL 開(kāi)發(fā)軟件編寫(xiě)程序,會(huì)運(yùn)用相關(guān)軟件對(duì)程序進(jìn)行防真,并下載到芯片中,兩個(gè)主要部分 PS2, VGA 之間時(shí)序關(guān)系要調(diào)節(jié)好,要耐心的反復(fù)檢 查,修改和調(diào)試,直到達(dá)到預(yù)期目的。吉林農(nóng)業(yè)大學(xué)本科畢業(yè)設(shè)計(jì) I 基于 VHDL 語(yǔ)言 的 VGA、 PS2 接口協(xié)議 吉林農(nóng)業(yè)大學(xué)本科畢業(yè)設(shè)計(jì) II 摘要 : 我寫(xiě)的論文題目是基于 VHDL 的 VGA、 PS2 接口協(xié)議,其大體思路是這樣的,在 FPGA 中,使用 VHDL 語(yǔ)言描述 VGA 以及 PS2 鍵盤(pán)的接口協(xié)議,并把 PS2 的按鍵信息顯示到 VGA 顯示器上,首先根據(jù) PS2 鍵盤(pán)的數(shù)據(jù)結(jié)構(gòu),掃描方式來(lái)來(lái)接收數(shù)據(jù),然后把接收到的數(shù)據(jù)做 ASICII 碼轉(zhuǎn)換,并且緩存到雙口RAM 中, VGA 模塊通過(guò)查表讀取 RAM 中的內(nèi)容,然后影射到 ROM 中,找出ASICII 碼對(duì)應(yīng)的顯示方式,最后通過(guò)并串轉(zhuǎn)換輸出數(shù)據(jù),從 而達(dá)到顯示字符的目的。 關(guān)鍵詞 : 現(xiàn)場(chǎng)可編程門(mén)陣列、陰極射線管顯示器 Based on VHDL VGA, PS2 interface protocol Name: Wang Yongshun Major: Electronics Information Science and Technology Tutor: Gong He Abstract: I wrote a thesis topic based on the VGA、 PS2 interface protocol of VHDL, the general survey of the subject is that, in FPGA, to descript the port agreement of PS2 keyboard and the VGA by VHDL language, and to make the PS2 information show on the VGA monitor .At the first, according to the data structure of PS2 keyboard and scanning way to receive the data, and then transfer the received data into ASICII code which to be cached in the dualport RAM. VGA module read the contents of RAM through consulting the table, and then Insinuate to the ROM, finding the corresponding way of diplaying for ASICII code. At last,outputing the data by module of paralleltoserial conversion to achieve the purpose of displaying characters. Keywords: FPGA、 CRT 吉林農(nóng)業(yè)大學(xué)本科畢業(yè)設(shè)計(jì) 1 1 前言 題目開(kāi)發(fā)的目的 我所做的基于 FPGA 的 VGA, PS2 接口協(xié)議主要 在實(shí)驗(yàn)室完成,參考有關(guān)的書(shū)籍,資料,數(shù)據(jù)手冊(cè),個(gè)人完成電路的設(shè)計(jì),焊接,檢查,調(diào)試,在根據(jù)自己的硬件和數(shù)據(jù)格式用 VHDL 語(yǔ)言編寫(xiě) PS2 鍵盤(pán)數(shù)據(jù)采集,雙口 RAM 緩存,ROM 查表以及 VGA 顯示,然后下載程序調(diào)試,最終達(dá)到能夠顯示 19, az 以及空格。 我的設(shè)計(jì)硬件部分比較簡(jiǎn)單,使用了 Xilinx 公司生產(chǎn)的 FPGA, VGA 顯示器, PS2 鍵盤(pán), 50MHZ 晶震和若干電阻組成。 畢業(yè)設(shè)計(jì)的目的是為了了解基本電路的設(shè)計(jì)流程,豐富自己的知識(shí)和理論,鞏固所學(xué)習(xí)的知識(shí),提高自己的動(dòng)手能力和實(shí)驗(yàn)?zāi)芰?,從而具備一定的設(shè)計(jì)能力。本課題的重要意義還在于能在進(jìn)一步的了解 FPGA 的工作原理,內(nèi)部結(jié)構(gòu)和工作狀態(tài),以及下載方式。 我的畢業(yè)設(shè)計(jì)分為三部分,硬件部分,程序設(shè)計(jì)部分,編譯與下載部分。介紹了 XC3S500E SPARTAN3E FPGA 的內(nèi)部結(jié)構(gòu) ,程序設(shè)計(jì)部分介紹了 FPGA 內(nèi)部各個(gè)模塊的介紹以及設(shè)計(jì)方法。 題目開(kāi)發(fā)的意義 我所設(shè)計(jì)的題目現(xiàn)在已經(jīng)是一個(gè)很成熟的技術(shù)了,目前已經(jīng)應(yīng)用到大部分 PC機(jī)中, 其作用是 可以跳過(guò) CPU 來(lái)顯示字符,圖片等,減少 CPU 的占用率,從而提高了 PC 機(jī) 處理數(shù)據(jù)的速度。由基本門(mén)可構(gòu)成兩類(lèi)數(shù)字電路,一類(lèi)是組合電路,在邏輯上輸出總是當(dāng)前輸入狀態(tài)的函數(shù);另一類(lèi)是時(shí)序電路,其輸出是當(dāng)前系統(tǒng)狀態(tài)與當(dāng)前輸入輸入狀態(tài)的函數(shù),它含有儲(chǔ)存元件。任何的組合邏輯函數(shù)都是可以化為吉林農(nóng)業(yè)大學(xué)本科畢業(yè)設(shè)計(jì) 3 “ 與 — 或 ” 表達(dá)式,既任何的組合電路(需要提供輸入信號(hào)的非信號(hào)),可以用