

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、.第一章 緒論1.1引 言隨著科學(xué)技術(shù)的迅猛發(fā)展,電子工業(yè)界經(jīng)歷了巨大的飛躍。集成電路的設(shè)計(jì)正朝著速度快、性能高、容量大、體積小和微功耗的方向發(fā)展。基于這種情況,可編程邏輯器件的出現(xiàn)和發(fā)展大大改變了傳統(tǒng)的系統(tǒng)設(shè)計(jì)方法。可編程邏輯器件和相應(yīng)的設(shè)計(jì)技術(shù)體現(xiàn)在三個(gè)主要方面:一是可編程邏輯器件的芯片技術(shù);二是適用于可邏輯編程器件的硬件編程技術(shù),三是可編程邏輯器件設(shè)計(jì)的EDA開發(fā)工具,它主要用來進(jìn)行可編程邏輯器件應(yīng)用的具體實(shí)現(xiàn)。在本實(shí)驗(yàn)中采用了集成度較高的FPGA 可編程邏輯器件, 選用了Verilog HDL硬件描述語言和Quartus開發(fā)軟件。VHDL硬件描述語言在電子設(shè)計(jì)自動(dòng)化( EDA)中扮演著
2、重要的角色。由于采用了具有多層次描述系統(tǒng)硬件功能的能力的“自頂向下”( Top - Down)和基于庫(L ibrary - Based)的全新設(shè)計(jì)方法,它使設(shè)計(jì)師們擺脫了大量的輔助設(shè)計(jì)工作,而把精力集中于創(chuàng)造性的方案與概念構(gòu)思上,用新的思路來發(fā)掘硬件設(shè)備的潛力,從而極大地提高了設(shè)計(jì)效率,縮短了產(chǎn)品的研制周期。Quartus是集成了編輯器、仿真工具、檢查/分析工具和優(yōu)化/綜合工具的這些所有開發(fā)工具的一種集成的開發(fā)環(huán)境,通過該開發(fā)環(huán)境能夠很方便的檢驗(yàn)設(shè)計(jì)的仿真結(jié)果以及建立起與可編程邏輯器件的管腳之間對(duì)應(yīng)的關(guān)系。第二章 技術(shù)概述2.1 EDA技術(shù)簡介2.1.1 EDA技術(shù)的發(fā)展概況EDA(Elec
3、tronic Design Automation),即電子設(shè)計(jì)自動(dòng)化,是指利用計(jì)算機(jī)完成電子系統(tǒng)的設(shè)計(jì)。EDA技術(shù)是以計(jì)算機(jī)和微電子技術(shù)為先導(dǎo)的,匯集了計(jì)算機(jī)圖形學(xué)、拓?fù)鋵W(xué)、邏輯學(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ì)人員只需要完成對(duì)系統(tǒng)功能的描述,就可以由計(jì)算機(jī)軟件進(jìn)行處理,得到設(shè)計(jì)結(jié)果,而且修改設(shè)計(jì)如同修改軟件一樣方便,可以極大地提高設(shè)計(jì)效率。從20世紀(jì)60年代中期開始,人們就不斷開發(fā)出各種計(jì)算機(jī)輔助設(shè)計(jì)工具來幫助設(shè)計(jì)人員進(jìn)行電子系統(tǒng)的設(shè)計(jì)。電路理論和半導(dǎo)體工藝水平的提高,
4、對(duì)EDA技術(shù)的發(fā)展起到了巨大的作用,使EDA作用范圍從PCB板設(shè)計(jì)延伸到電子線路和集成電路設(shè)計(jì),直至整個(gè)系統(tǒng)的設(shè)計(jì),也使IC芯片系統(tǒng)應(yīng)用、電路制作和整個(gè)電子生產(chǎn)過程都集成在一個(gè)環(huán)境之中。根據(jù)電子設(shè)計(jì)技術(shù)的發(fā)展特征,EDA技術(shù)發(fā)展大致分為三個(gè)階段。1. CAD階段第一階段的特點(diǎn)是一些單獨(dú)的工具軟件,主要有PCB布線設(shè)計(jì)、電路模擬、邏輯模擬、以及版圖的繪制等,通過計(jì)算機(jī)的使用,從而將設(shè)計(jì)人員從大量繁重重復(fù)的計(jì)算和繪圖工作中解脫出來。20世紀(jì)80年代,隨著集成電路規(guī)模的增大,EDA技術(shù)有了較快的發(fā)展。許多軟件公司等進(jìn)入市場(chǎng),開始供應(yīng)帶電路圖編輯工具和邏輯模擬工具的EDA軟件。這個(gè)時(shí)期的軟件產(chǎn)品主要針
5、對(duì)產(chǎn)品開發(fā),按照設(shè)計(jì)、分析、生產(chǎn)和測(cè)試等多個(gè)階段,不同階段分別使用不同的軟件包,每個(gè)軟件只能完成其中一項(xiàng)工作,通過順序循環(huán)使用這些軟件,可完成設(shè)計(jì)的全過程。2. CAE階段這個(gè)階段在集成電路與電子設(shè)計(jì)方法學(xué)以及設(shè)計(jì)工具集成化方面取得了許多成果。各種設(shè)計(jì)工具,如原理圖輸入、編譯與連接、邏輯模擬、測(cè)試碼生成、版圖自動(dòng)布局已齊全。由于采用了統(tǒng)一數(shù)據(jù)管理技術(shù),因而能夠?qū)⒏鱾€(gè)工具集成為一個(gè)CAE系統(tǒng)。按照設(shè)計(jì)方法學(xué)制定的設(shè)計(jì)流程,可以實(shí)現(xiàn)從設(shè)計(jì)輸入到版圖輸出的全程設(shè)計(jì)自動(dòng)化。這個(gè)階段主要采用基于單元庫的半定制設(shè)計(jì)方法,采用門陣列與標(biāo)準(zhǔn)單元設(shè)計(jì)的各種ASIC得到了極大的發(fā)展,將集成電路工業(yè)推入了ASIC時(shí)
6、代。3. EDA階段20世紀(jì)90年代以來,微電子技術(shù)以驚人的速度發(fā)展,其工藝水平達(dá)到了深亞微米級(jí),此階段主要出現(xiàn)了以高級(jí)語言描述、系統(tǒng)仿真和綜合技術(shù)為特征的第三代EDA技術(shù),不僅極大地提高了系統(tǒng)的設(shè)計(jì)效率,而且使設(shè)計(jì)人員擺脫了大量的輔助性及基礎(chǔ)性工作,將精力集中于創(chuàng)造性的方案與概念的構(gòu)思上。它的特征為:第一,高層綜合的理論與方法取得較大進(jìn)展,將EDA設(shè)計(jì)層次由RT級(jí)提高到了系統(tǒng)級(jí)(又稱行為級(jí)),并劃分為邏輯綜合和測(cè)試綜合。第二,采用硬件描述語言HDL來描述10萬門以上的設(shè)計(jì),并形成了VHDL和VerilogHDL兩種標(biāo)準(zhǔn)硬件描述語言。第三,采用平面規(guī)劃技術(shù)對(duì)邏輯綜合和物理版圖設(shè)計(jì)進(jìn)行聯(lián)合管理,
7、作到在邏輯綜合早期設(shè)計(jì)階段就考慮到物理設(shè)計(jì)信息的影響。第四,可測(cè)性設(shè)計(jì)。第五,為帶有嵌入IP模塊ASIC設(shè)計(jì)提供軟硬件協(xié)同系統(tǒng)設(shè)計(jì)工具。2.1.2 EDA技術(shù)的基本特征EDA技術(shù)代表了當(dāng)今電子設(shè)計(jì)技術(shù)的最新發(fā)展方向,它的基本特征是:設(shè)計(jì)人員按照“自頂向下”的設(shè)計(jì)方法,對(duì)整個(gè)系統(tǒng)進(jìn)行方案設(shè)計(jì)和功能劃分,系統(tǒng)的關(guān)鍵電路用一片或幾片專用集成電路(ASIC)實(shí)現(xiàn),然后采用硬件描述語言(HDL)完成系統(tǒng)行為級(jí)設(shè)計(jì),最后通過綜合器和適配器生成最終的目標(biāo)器件。這樣的設(shè)計(jì)方法被稱為高層次的電子設(shè)計(jì)方法。下面介紹與EDA基本特征有關(guān)的幾個(gè)概念。1. “自頂向下”的設(shè)計(jì)方法10年前,電子設(shè)計(jì)的基本思路還是選擇標(biāo)準(zhǔn)
8、集成電路“自底向上”(Bottom-Up)地構(gòu) 造出一個(gè)新的系統(tǒng),這樣的設(shè)計(jì)方法就如同一磚一瓦地建造金字塔,不僅效率低、成本高而且還容易出錯(cuò)。2. 高層次設(shè)計(jì)高層次設(shè)計(jì)提供了一種“自頂向下”(Top-Down)的全新的設(shè)計(jì)方法,這種設(shè)計(jì)方法首先從系統(tǒng)設(shè)計(jì)入手,在頂層進(jìn)行功能方框圖的劃分和結(jié)構(gòu)設(shè)計(jì)。在方框圖一級(jí)進(jìn)行仿真、糾錯(cuò),并用硬件描述語言對(duì)高層次的系統(tǒng)行為進(jìn)行描述,在系統(tǒng)一級(jí)進(jìn)行驗(yàn)證。然后用綜合優(yōu)化工具生成具體門電路的網(wǎng)表,其對(duì)應(yīng)的物理實(shí)現(xiàn)級(jí)可以是印刷電路板或?qū)S眉呻娐?。由于設(shè)計(jì)的主要仿真和調(diào)試過程是在高層次上完成的,這不僅有利于早期發(fā)現(xiàn)結(jié)構(gòu)設(shè)計(jì)上的錯(cuò)誤,避免設(shè)計(jì)工作的浪費(fèi),而且也減少了邏
9、輯功能仿真的工作量,提高了設(shè)計(jì)的一次成功率。2.2Verilog硬件描述語言Verilog HDL是目前應(yīng)用最為廣泛的硬件描述語言。Verilog HDL可以用來進(jìn)行各種層次的邏輯設(shè)計(jì),也可以進(jìn)行數(shù)字系統(tǒng)的邏輯綜合,仿真驗(yàn)證和時(shí)序分析等。 Verilog HDL適合算法級(jí),寄存器級(jí),邏輯級(jí),門級(jí)和版圖級(jí)等各個(gè)層次的設(shè)計(jì)和描述 Verilog HDL進(jìn)行設(shè)計(jì)最大的優(yōu)點(diǎn)是其工藝無關(guān)性這使得工程師在功能設(shè)計(jì),邏輯驗(yàn)證階段可以不必過多考慮門級(jí)及工藝實(shí)現(xiàn)的具體細(xì)節(jié),只需根據(jù)系統(tǒng)設(shè)計(jì)的要求施加不同的約束條件,即可設(shè)計(jì)出實(shí)際電路 Veri
10、log HDL是一種硬件描述語言(hardware description language),為了制作數(shù)字電路而用來描述ASICs和FPGA的設(shè)計(jì)之用。Verilog 的設(shè)計(jì)者想要以 C 編程語言為基礎(chǔ)設(shè)計(jì)一種語言,可以使工程師比較容易學(xué)習(xí)。 Verilog 是由en:Gateway Design Automation公司于大約1984年開始發(fā)展。Gateway Design Automation公司后來被 Cadence Design Sys
11、tems于1990年所購并?,F(xiàn)在 Cadence 對(duì)于 Gateway 公司的 Verilog 和 Verilog-XL 模擬器擁有全部的財(cái)產(chǎn)權(quán)。 2.3 QuartusII軟件介紹QuartusII軟件是開發(fā)AlteraPLD的軟件工具,可開發(fā)FPGA、CPLD和結(jié)構(gòu)化的ASIC,是MAX+plusII的升級(jí)版本。QuartusII提供了方便的設(shè)計(jì)輸入方式、快速的編譯和直接易懂的器件編程。能夠支持邏輯門數(shù)在百萬門以上的邏輯器件的開發(fā),并且為第三方工具提供了無縫接口。QuartusII提供了全面的邏輯設(shè)計(jì)
12、能力,包括電路圖、文本和波形的設(shè)計(jì)輸入以及編譯、邏輯綜合、仿真和定時(shí)分析以及器件編程等諸多功能。特別是在原理圖輸入等方面,QuartusII被公認(rèn)為是最容易使用、人機(jī)界面最友好的PLD開發(fā)軟件。2.3.1QuartusII軟件的特點(diǎn)1. 開放式的多平臺(tái)設(shè)計(jì)環(huán)境QuartusII提供了完整的多平臺(tái)設(shè)計(jì)環(huán)境,能滿足各種特定設(shè)計(jì)的需要,也是可編程片上系統(tǒng)(SOPC)設(shè)計(jì)的綜合性環(huán)境和SOPC開發(fā)的基本設(shè)計(jì)工具,并為Alrera DSP開發(fā)包進(jìn)行系統(tǒng)的模型設(shè)計(jì)提供了集成綜合環(huán)境。QuartusII設(shè)計(jì)工具完全支持VHDL、Verilog的設(shè)計(jì)流程,其內(nèi)部嵌有VHDL、Verilog邏輯綜合器。Quar
13、tusII也可以利用第三方綜合工具。同樣,QuartusII具備仿真功能,同時(shí)也支持第三方的仿真工具。2. 設(shè)計(jì)與結(jié)構(gòu)無關(guān)QuartusII支持Cyclone、Stratix、APEX20KE、FLEX10KA、FLEX6000、MAX7000B、MAX7000AE和MAX7000S等系列可編程邏輯器件,門數(shù)為6000250000門,提供了業(yè)界正真與結(jié)構(gòu)無關(guān)的可編程邏輯設(shè)計(jì)環(huán)境。QuartusII的編譯器還提供了強(qiáng)大的邏輯綜合與優(yōu)化功能以減輕用戶的設(shè)計(jì)負(fù)擔(dān)。3. 可在多種平臺(tái)運(yùn)行QuartusII軟件可基于PC的WindowsNT4.0、Windows98、Windows2000等操作系統(tǒng)下運(yùn)
14、行,也可在Sun SPARCstasions,HP9000 Series700/800等工作站上運(yùn)行。4. 層次化設(shè)計(jì)QuartusII支持層次化設(shè)計(jì),可以在一個(gè)新的編輯輸入環(huán)境中對(duì)使用不同輸入設(shè)計(jì)方式完成的模塊進(jìn)行調(diào)試,從而解決了原理圖與HDL混合輸入設(shè)計(jì)的問題。5. 模塊化工具設(shè)計(jì)者可以從各種設(shè)計(jì)輸入、編輯、校驗(yàn)及器件編程工具中做出選擇,形成用戶風(fēng)格的開發(fā)環(huán)境,必要時(shí)還可以在保留原始功能的基礎(chǔ)上添加新的功能。6. 支持硬件描述語言QuartusII軟件支持多種硬件描述語言的設(shè)計(jì)輸入,包括標(biāo)準(zhǔn)的VHDL、VerilogHDL及AHDL。7. 豐富的LPM模塊QuartusII含大量有用的LP
15、M模塊,它們是復(fù)雜或高級(jí)形同構(gòu)建的重要組成部分,在SOPC設(shè)計(jì)中被大量使用,也可以在QuartusII普通設(shè)計(jì)文件一起使用。Altera提供的LPM函數(shù)均基于Altera期間的結(jié)構(gòu)做了優(yōu)化設(shè)計(jì)。在許多實(shí)用情況中,必須使用宏功能模塊才可以使用一些Altera特定器件的硬件功能。2.3.2 QuartusII軟件設(shè)計(jì)流程作為第一款從FPGA至掩模器件的完整設(shè)計(jì)工具,Altera公司推出的四代可編程邏輯器件集成開發(fā)環(huán)境QuartusII提供了從設(shè)計(jì)輸入到器件變成的全部功能。QuartusII分為綜合工具、仿真工具、實(shí)現(xiàn)工具、輔助設(shè)計(jì)工具和其他工具等,強(qiáng)大,界面友好,易于掌握。利用QuartusII開
16、發(fā)工具進(jìn)行數(shù)字系統(tǒng)設(shè)計(jì),可以概括為以下幾個(gè)步驟:設(shè)計(jì)輸入、綜合、布局布線、時(shí)序分析、仿真、編程和配置等,如圖1所示圖1 QuartusII設(shè)計(jì)流程Fig. 1 QuartusII design processQuartusII利用Verilog HDL完成電路設(shè)計(jì),必須借助EDA工具的綜合器、適配器、時(shí)序仿真器和編譯器等工具進(jìn)行相應(yīng)的處理,才能最終在硬件上得以實(shí)現(xiàn)和測(cè)試。第三章 可編程多彩霓虹燈系統(tǒng)設(shè)計(jì)方案3.1 設(shè)計(jì)分析利用開發(fā)系統(tǒng)板,設(shè)計(jì)一個(gè)簡易的霓虹燈控制芯片。利用開發(fā)板上的8個(gè)發(fā)光二極管來模擬霓虹燈的燈泡,用按鍵來控制霓虹燈的顯示模式。設(shè)計(jì)一個(gè)可編程的多彩霓虹燈,實(shí)現(xiàn)霓虹燈的可編程多種
17、圖案的交替顯示。系統(tǒng)的輸入信號(hào)包括8個(gè)撥碼開關(guān)、一個(gè)按鍵開關(guān)和時(shí)鐘信號(hào),輸出信號(hào)有8個(gè)LED??删幊潭嗖誓藓鐭舻耐獠繒r(shí)鐘由晶振產(chǎn)生,該開發(fā)板系統(tǒng)示例中采用的晶振頻率為50MHz??删幊潭嗖誓藓鐭艄灿?個(gè)燈泡,定義這8個(gè)燈泡的亮暗組合為一幀圖案,每次顯示的圖案需要8bits數(shù)據(jù)。在本設(shè)計(jì)中,預(yù)定了8幀圖案,在正常情況下,可編程多彩霓虹燈以1幀/秒的速度變換顯示數(shù)據(jù)。同時(shí),在按鍵的控制下,8個(gè)撥碼開關(guān)用來輸入8個(gè)霓虹燈的圖案顯示數(shù)據(jù)。方法如下:首先撥好8個(gè)數(shù)碼開關(guān),表示一幀具體的圖案顯示數(shù)據(jù),其中,“開”代表響應(yīng)的霓虹燈點(diǎn)亮,“關(guān)”代表相應(yīng)的霓虹燈熄滅;然后按下按鍵,數(shù)據(jù)就存入了控制器電路的內(nèi)部存
18、儲(chǔ)器中;繼續(xù)用撥碼開關(guān)輸入下一幀的色彩數(shù)據(jù),再按下按鍵,數(shù)據(jù)就存入控制器電路內(nèi)部的下一組存儲(chǔ)器中;按照這種方法,可以預(yù)先存儲(chǔ)好8幀顯示圖案。當(dāng)8幀顯示圖案數(shù)據(jù)存滿了以后,可以繼續(xù)輸入數(shù)據(jù),心輸入的數(shù)據(jù)會(huì)覆蓋第一次輸入的數(shù)據(jù)。3.2 系統(tǒng)分析可編程多彩霓虹燈分為五個(gè)模塊,包括兩個(gè)分頻器模、RAM存儲(chǔ)器模塊、顯示模塊和按鍵控制模塊。 兩個(gè)分頻器模塊的作用是對(duì)系統(tǒng)時(shí)鐘進(jìn)行分頻。由于顯示部分需要每秒顯示一幀圖像,所以需要由系統(tǒng)高頻時(shí)鐘分頻得到一個(gè)1s的時(shí)鐘用于控制顯示模塊。另外一個(gè)分頻器輸出0.1s的時(shí)鐘,主要用于按鍵去抖動(dòng),并且能夠得到合理速度的按鍵控制信號(hào),同時(shí)這個(gè)時(shí)鐘也用于構(gòu)建RAM的工作時(shí)鐘。
19、 顯示模塊的主要作用是從RAM中讀出顯示數(shù)據(jù),并把這個(gè)數(shù)據(jù)顯示到LED上。顯示控制模塊需要每秒從RAM中讀數(shù)一次,每次讀出數(shù)據(jù)位8bits。 鍵盤、撥碼控制模塊的主要作用是檢測(cè)外部的按鍵信號(hào),如果按鍵信號(hào)失效,就把撥碼開關(guān)的數(shù)據(jù)輸入到當(dāng)前地址指針?biāo)傅腞AM地址中。 數(shù)據(jù)存儲(chǔ)RAM模塊是最復(fù)雜的核心模塊,負(fù)責(zé)數(shù)據(jù)的存入和讀出,該RAM需要處理來自鍵盤、撥碼開關(guān)的數(shù)據(jù)寫入信號(hào),也要處理LED顯示控制模塊的數(shù)據(jù)請(qǐng)求信號(hào),以及二者的沖突仲裁處理。3.3 模塊設(shè)計(jì)3.3.1.分頻器1模塊設(shè)計(jì)(1)模塊原理分析。分頻器是采用計(jì)數(shù)器實(shí)現(xiàn)的,其基本原理是計(jì)數(shù)n個(gè)原始時(shí)鐘脈沖后,把分頻產(chǎn)生的時(shí)鐘信號(hào)進(jìn)行一次翻
20、轉(zhuǎn),周而復(fù)始,產(chǎn)生不斷翻轉(zhuǎn)的分頻時(shí)鐘。 (2)模塊接口定義。分頻器1模塊接口定義如表1所示。表1 分頻器1模塊接口信號(hào)定義信 號(hào) 名I/O位寬含義 clkI 1bit系統(tǒng)50MHz時(shí)鐘輸入Clk_01sO 1bit分頻后周期為0.1s的時(shí)鐘輸出 (3)模塊Verilog代碼設(shè)計(jì),代碼如下:beginif(counter=22'b00000) /如果等于2500000 begin counter<=22'b0; /把counter恢復(fù)成0 clk_01s<=clk_01s; /把clk_01s翻轉(zhuǎn) endelse counter<=counter+1'b
21、1; /counter 繼續(xù)計(jì)數(shù)end3.3.2分頻器2模塊設(shè)計(jì)分頻器2模塊接口定義如表2所示。表2 分頻器2模塊接口定義信 號(hào) 名I/O位寬含義 clkI 1bit系統(tǒng)50MHz時(shí)鐘輸入Clk_01sO 1bit分頻后周期為1s的時(shí)鐘輸出模塊Verilog代碼設(shè)計(jì),代碼如下:beginif(counter=25'h17d7840) /如果等于25000000 begin counter<=25'b0; /把counter恢復(fù)成0 clk_1s<=clk_1s; /把clk_1s翻轉(zhuǎn) endelse /如果不等于25000000 counter<=counte
22、r+1'b1; /counter繼續(xù)計(jì)數(shù)end3.3.3顯示控制模塊設(shè)計(jì) (1)模塊原理分析。顯示控制模塊的功能是從RAM中讀取數(shù)據(jù),并把這個(gè)數(shù)據(jù)顯示到LED上。LED數(shù)據(jù)是8bits,所以需要8位數(shù)據(jù)總線從RAM讀出數(shù)據(jù),同時(shí)還需要8條數(shù)據(jù)總線來傳輸數(shù)據(jù)到LED燈上。此外,由于RAM數(shù)據(jù)有8組,所以還需要給RAM相應(yīng)的地址信號(hào)。 基于上述考慮,先顯示控制模塊里需要設(shè)計(jì)一個(gè)地址寄存器,由于只有8個(gè)存儲(chǔ)單元,所以可以只需要3bits的地址寄存器,地址寄存器需要自動(dòng)循環(huán)累加才能連續(xù)不斷地輸出地址給RAM。為了本設(shè)計(jì)模塊的簡潔化,減少使用其他接口控制信號(hào),定義RAM和控制模塊的讀出接口時(shí)序?yàn)?/p>
23、:只要控制模塊發(fā)送地址,RAM就自動(dòng)輸出相應(yīng)地址的數(shù)據(jù)。 (2)模塊接口定義。顯示控制模塊接口定義如表3所示。表3 顯示模塊接口定義信 號(hào) 名I/O位 寬含 義clk_1sI1bit分頻后周期為1s的時(shí)鐘輸出 ledO8bits輸出給LED燈的顯示數(shù)據(jù)disp_addO3bits輸出給RAM的地址disp_dataI8bits從RAM讀出的數(shù)據(jù) (3)模塊Verilog代碼設(shè)計(jì),代碼如下:input clk_1s;output7:0 led;input7:0 disp_data; /顯示數(shù)據(jù)output2:0 disp_add; /地址信號(hào)reg2:0 disp_add; /地址寄存器/自動(dòng)產(chǎn)
24、生地址always(posedge clk_1s) disp_add<=disp_add+1'b1;/輸出data給led燈assign led=disp_data;3.3.4按鍵控制模塊設(shè)計(jì) (1)模塊原理分析。按鍵控制模塊的功能是把外部撥碼開關(guān)的數(shù)據(jù)通過按鍵輸入給RAM,按鍵開關(guān)是控制信號(hào),每按下一次,可以把撥碼開關(guān)的狀態(tài)作為顯示數(shù)據(jù)輸入到RAM中,同時(shí)RAM地址指針增加1。按鍵控制模塊首先要處理的問題舊手機(jī)按鍵信號(hào)的去抖動(dòng),由于人在按下按鍵的時(shí)候一定會(huì)有抖動(dòng),所以需要用0.1s的時(shí)鐘對(duì)按鍵進(jìn)行去抖動(dòng)處理,然后對(duì)去抖了的按鍵信號(hào)做上升沿檢測(cè),這樣每次按下按鍵之后就會(huì)生成一個(gè)與
25、時(shí)鐘等寬的高電平信號(hào),可用于控制RAM的寫入。RAM收到這個(gè)控制信號(hào)后,就會(huì)把數(shù)據(jù)總線上的數(shù)據(jù)寫入地址總線對(duì)應(yīng)位置的RAM空間;同時(shí),地址寄存器收到這個(gè)信號(hào)以后,也會(huì)把地址指針加1,準(zhǔn)備好下一次寫入的地址。(2)模塊接口定義。按鍵控制模塊接口定義如表4所示。表4 按鍵控制模塊接口定義信 號(hào) 名I/O位 寬含 義clk_01sI1bit分頻后周期為0.1s的輸出keyI8bits外部的撥碼開關(guān)信號(hào)pressI1bit外部的按鍵信號(hào) wdataO8bits寫入RAM的數(shù)據(jù)總線key_addO3bits從按鍵控制模塊輸出給RAM的地址信號(hào)wrO1bit寫控制信號(hào),按鍵信號(hào)通過上升沿檢測(cè)電路后,生成一
26、個(gè)時(shí)鐘寬度的寫信號(hào) (3)模塊Verilog代碼設(shè)計(jì),代碼如下:input clk_01s; /輸入的0.1s時(shí)鐘input7:0 key; /外部的撥碼開關(guān)input press; /按鍵開關(guān)output7:0 wdata; /寫入RAM的數(shù)據(jù)output2:0 key_add; /寫入SRAM的地址output wr; /寫控制信號(hào)reg press1,press2,press3;always(posedge clk_01s) /去抖動(dòng)電路beginpress1<=press;press2<=press1;press3<=press2;end/上升沿產(chǎn)生電路assign
27、wr=press2&&(press3);3.3.5 RAM模塊設(shè)計(jì) (1)模塊原理分析。RAM本身是一個(gè)存取數(shù)據(jù)的元件。在本設(shè)計(jì)中采用64個(gè)D觸發(fā)器作為存儲(chǔ)單元,分為8組,每組有8bits。除了存儲(chǔ)單元以外,RAM還需要譯碼器和讀/寫控制器。這里,RAM不需要讀控制信號(hào),給地址信號(hào)就可以直接讀出;而寫入時(shí)一定需要控制信號(hào);由于采用了D觸發(fā)器作為存儲(chǔ)單元,所以不必?fù)?dān)心同時(shí)讀/寫的問題,D觸發(fā)器可以同時(shí)進(jìn)行讀/寫操作。而如果采用了SRAM結(jié)構(gòu),就需要專門的仲裁電路來處理同時(shí)讀/寫的矛盾。 RAM模塊包括三部分:寫入不分、D觸發(fā)器陣列和讀出部分。讀出部分包括一個(gè)譯碼器電路,可以把地址
28、譯碼器選中的D觸發(fā)器輸出端通過多路選擇器選通到最終的數(shù)據(jù)總線上;寫入部分,也通過一個(gè)地址譯碼器和一個(gè)多路選擇器最終把地址中的D觸發(fā)器寫入數(shù)據(jù)。 在本設(shè)計(jì)中,當(dāng)wr有效的時(shí)候,就寫入D觸發(fā)器。由于D觸發(fā)器的時(shí)鐘同步電路,所以需要外部的寫入信號(hào)也必須是同步于D觸發(fā)器時(shí)鐘的。這里寫入信號(hào)wr和D觸發(fā)器都同步時(shí)鐘clk_01s,所以符合設(shè)計(jì)的要求。 (2)模塊接口定義。RAM模塊接口定義如表5所示。表5 RAM模塊接口定義信 號(hào) 名I/O位寬含 義clk_01sI1bit分頻后周期為0.1s的時(shí)鐘輸出wdataI8bits寫入RAM的數(shù)據(jù)總線key_addI3bits從按鍵控制模塊輸入給RAM的地址信
29、號(hào)wrI1bit寫控制信號(hào),按鍵信號(hào)通過上升沿檢測(cè)電路后,生成的一個(gè)時(shí)鐘寬度的寫信號(hào)disp_addI3bits顯示控制模塊輸入給RAM的地址信號(hào)disp_dataO8bits顯示控制模塊從RAM讀出的數(shù)據(jù) (3)模塊Verilog代碼設(shè)計(jì),代碼如下:/讀出的地址譯碼和多路選擇器assign disp_data=disp_add=3'b000 " ram0: disp_add=3'b001 " ram1: disp_add=3'b010 " ram2: disp_add=3'b011 " ram3: disp_add=3&
30、#39;b100 " ram4: disp_add=3'b101 " ram5: disp_add=3'b110 " ram6: disp_add=3'b111 " ram7:8'bz;/寫入的譯碼和多路選擇器always(posedge clk_01s)begin if(wr=1'b1) /如果寫使能信號(hào)wr有效才寫入 begin if(key_add=3'b000) /如果寫入的地址為“000” ram0<=wdata; /把數(shù)據(jù)寫入ram0這個(gè)單元 else if(key_add=3'b
31、001) ram1<=wdata; else if(key_add=3'b010) ram2<=wdata; else if(key_add=3'b011) ram3<=wdata; else if(key_add=3'b100) ram4<=wdata; else if(key_add=3'b101) ram5<=wdata; else if(key_add=3'b110) ram6<=wdata; else if(key_add=3'b111) ram7<=wdata; endend3.3.6頂層連接
32、模塊設(shè)計(jì)前面設(shè)計(jì)了五個(gè)電路模塊,包括:兩個(gè)分頻器(clk_div1和clk_div2)、顯示控制模塊(disp_ctl)、按鍵控制模塊(key_ctl)和RAM模塊(ram)。在頂層鏈接模塊中,按照控制關(guān)系把這五個(gè)模塊鏈接起來。代碼如下:/實(shí)體化clk_div1模塊wire clk_01s;clk_div1 clk_div1_inst(.clk(clk),.clk_01s(clk_01s);/實(shí)體化clk_div2模塊wire clk_1s;clk_div2 clk_div2_inst(.clk(clk), /輸入時(shí)鐘.clk_1s(clk_1s) /輸出時(shí)鐘);/實(shí)體化disp_ctl模塊w
33、ire7:0 disp_data;wire2:0 disp_add;disp_ctl disp_ctl_inst(.clk_1s(clk_1s), /輸入時(shí)鐘.led(led),.disp_add(disp_add),.disp_data(disp_data);wire7:0 wdata;wire2:0 key_add;wire wr;key_ctl key_ctl_inst(.clk_01s(clk_01s), /輸入時(shí)鐘.key(key),.press(press),.wdata(wdata),.key_add(key_add),.wr(wr);/實(shí)體化ram模塊ram ram_inst(
34、.clk_01s(clk_01s), /輸入時(shí)鐘.wdata(wdata),.key_add(key_add),.wr(wr),.disp_add(disp_add),.disp_data(disp_data);3.4系統(tǒng)仿真3.4.1仿真需求分析 可編程多彩霓虹燈的仿真平臺(tái)結(jié)構(gòu),仿真平臺(tái)主要提供測(cè)試模塊需要的所有輸入信號(hào),以及對(duì)輸出信號(hào)的檢查比對(duì)功能。由于本設(shè)計(jì)比較簡單,輸出比對(duì)主要采用觀察波形的方法。 可編程多彩霓虹燈設(shè)計(jì)輸入有兩部分:一是50MHz的時(shí)鐘輸入,另外一個(gè)是外部按鍵和撥碼開關(guān)輸入;輸出的是8個(gè)LED燈的數(shù)據(jù)。所以整個(gè)仿真平臺(tái)需要設(shè)計(jì)一個(gè)50MHz的時(shí)鐘,并且設(shè)計(jì)一組或者多組按
35、鍵、撥碼開關(guān)的輸入,作為測(cè)試向量,觀察最終輸出的LED顯示數(shù)據(jù)是否正確。3.4.2仿真代碼設(shè)計(jì)代碼如下:/實(shí)體化DUT模塊ledled led(.clk(clk),.led(led),.key(key),.press(press);/建立一個(gè)仿真的時(shí)鐘initialclk=1'b0; /首先初始化時(shí)鐘的數(shù)值always*10 clk=clk; /每隔10ns翻轉(zhuǎn)一次,為50MHz時(shí)鐘/下面仿真輸入8個(gè)數(shù)據(jù)作為一組顯示色彩/為了保證仿真正確性,應(yīng)該多仿真幾組這樣的色彩數(shù)據(jù)initialbeginpress=1'b0;led. disp_ctl. disp_add=3'b0
36、;led. key_ctl.key_add=3'b0;/輸入第一組顯示色彩數(shù)據(jù)8'b00000001;*150 key=8'b00000001;*150 press=1'b1;*150 press=1'b0;/輸入第二種數(shù)據(jù)*150 key=8'b01001001;*150 press=1'b1;*150 press=1'b0;/輸入第三組數(shù)據(jù)*150 key=8'b11000111;*150 press=1'b1;*150 press=1'b0;/輸入第四組數(shù)據(jù)*150 key=8'b101001
37、01;*150 press=1'b1;*150 press=1'b0;/輸入第五組數(shù)據(jù)*150 key=8'b10100101;*150 press=1'b1;*150 press=1'b0;/輸入第六組數(shù)據(jù)*150 key=8'b01000110;*150 press=1'b1;*150 press=1'b0;/輸入第七組數(shù)據(jù)*150 key=8'b01100101;*150 press=1'b1;*150 press=1'b0;/輸入第八組數(shù)據(jù)*150 key=8'b10010001;*150
38、press=1'b1;*150 press=1'b0;end3.4.3 仿真結(jié)果分頻器1仿真結(jié)果,圖2圖2 分頻器1仿真結(jié)果分頻器2仿真結(jié)果,圖3圖3 分頻器2仿真結(jié)果顯示控制模塊仿真結(jié)果,圖4圖4 顯示控制模塊仿真結(jié)果結(jié) 語畢業(yè)論文的撰寫過程是對(duì)所學(xué)的電子技術(shù)基本理論知識(shí)的綜合運(yùn)用,對(duì)三年專業(yè)知識(shí)的一次綜合應(yīng)用、擴(kuò)充和深化,也是對(duì)我們理論運(yùn)用于實(shí)際設(shè)計(jì)的一次鍛煉。通過畢業(yè)論文的撰寫過程,我不僅溫習(xí)了以前在課堂上學(xué)習(xí)的專業(yè)知識(shí),同時(shí)我也得到了老師和同學(xué)的幫助,學(xué)習(xí)和體會(huì)到了電子與單片機(jī)技術(shù)的基本技能和思想。從開始接到論文題目到論文文章的完成,每走一步對(duì)我來說都是新的嘗試與挑戰(zhàn)。
39、在這段時(shí)間里,我學(xué)到了很多知識(shí)也有很多感受。當(dāng)然在做的過程中也遇到過很多的麻煩,需要自己去書籍、網(wǎng)上搜索,會(huì)有一些錯(cuò)誤,自己很難改正,只得求助老師,最后得以解決。這次畢業(yè)設(shè)計(jì)使我開始了自主的學(xué)習(xí)和試驗(yàn),查看相關(guān)的資料和書籍,讓自己頭腦中模糊的概念逐漸清晰,使自己非常稚嫩作品一步步完善起來,每一次改進(jìn)都是我學(xué)習(xí)的收獲,每一次的成功都會(huì)讓我興奮好一段時(shí)間。此次設(shè)計(jì)過程中,我都是隨著設(shè)計(jì)的不斷深入而不斷熟悉并學(xué)會(huì)應(yīng)用的。和老師的溝通交流更使我對(duì)設(shè)計(jì)有了新的認(rèn)識(shí)也對(duì)自己提出了新的要求。課題設(shè)計(jì)過程中我不怕失敗,在失敗中總結(jié)經(jīng)驗(yàn),為成功積累素材;學(xué)著自我超越,敢于嘗試,在嘗試中進(jìn)步,這對(duì)我能力的提高大有
40、好處。設(shè)計(jì)中有太多的不懂和陌生,但是我會(huì)多看、多想、多問、多學(xué),認(rèn)真的對(duì)待每一次老師交代的任務(wù),每一個(gè)任務(wù)都是一個(gè)鍛煉的機(jī)會(huì)和成長的過程,我在規(guī)定的時(shí)間盡善盡美的完成,把自己的能力發(fā)揮到最大限度。這些本是我工作后才會(huì)意識(shí)到的問題,通過這次畢業(yè)設(shè)計(jì)讓我提前了解了這些知識(shí),這是很珍貴的。這個(gè)課題設(shè)計(jì)的過程讓我學(xué)習(xí)、工作的思路有了更為明朗的認(rèn)識(shí):它是站在一定高度上去工作的,眼界要放寬,思路要開闊,內(nèi)容要飽滿。我曾經(jīng)也做過不少課程設(shè)計(jì),但都是局限在課本中,而這次實(shí)驗(yàn)設(shè)計(jì),能夠讓我走出來,仿佛推開門看見外面的世界是如此之大,如同井底之蛙跳上井沿過程中要有很好的團(tuán)結(jié)合作意識(shí)和責(zé)任感,積極的參與到實(shí)驗(yàn)設(shè)計(jì)的
41、討論中去,學(xué)習(xí)和聽取別人的意見,我也主動(dòng)的發(fā)表意見,用一個(gè)積極上進(jìn)、激情樂觀的態(tài)度面對(duì)每一天的實(shí)驗(yàn)設(shè)計(jì)生活,讓我的學(xué)習(xí)生活豐富多彩。致 非常感謝學(xué)院能給我們提供這樣的一個(gè)可以自己動(dòng)腦、動(dòng)手進(jìn)行設(shè)計(jì)的機(jī)會(huì),同時(shí)也大大加強(qiáng)了同學(xué)之間的溝通,以及學(xué)生與老師之間的交流,這是一個(gè)放飛自我的平臺(tái),也是我們理想與實(shí)際結(jié)合的升華,我想學(xué)院給我們提供的這些,教會(huì)我們的這些不僅僅在現(xiàn)在有用,對(duì)于我們今后步入社會(huì)也是同樣有用的。目前我已經(jīng)在一家公司實(shí)習(xí)了,我明顯感到在社會(huì)上更加需要團(tuán)體合作,以及自身的嚴(yán)謹(jǐn)作風(fēng)。我在工作中不怕失敗,在失敗中總結(jié)經(jīng)驗(yàn),為成功積累素材;學(xué)著自我超越,敢于嘗試,在嘗試中進(jìn)步,這對(duì)我能力的提
42、高大有好處。這次做論文的經(jīng)歷也會(huì)使我終身受益,我感受到做論文是要真真正正用心去做的一件事情,是真正的自己學(xué)習(xí)的過程和研究的過程,沒有學(xué)習(xí)就不可能有研究的能力,沒有自己的研究,就不會(huì)有所突破,那也就不叫論文了。希望這次的經(jīng)歷能讓我在以后工作中激勵(lì)我繼續(xù)進(jìn)步。離開學(xué)校完成論文,是一個(gè)終點(diǎn),又是另外一個(gè)起點(diǎn)!喝水不忘挖井人,我將銘記大家對(duì)我的幫助,以后更好的為人民為社會(huì)服務(wù)!在這個(gè)競(jìng)爭激烈、物欲浮躁的社會(huì),懷著一顆認(rèn)真、平和的心,踏實(shí)的走好每一步,我相信我的未來就一定不是夢(mèng),也堅(jiān)信這次課程設(shè)計(jì)將成為我一輩子的財(cái)富,其所折射出的光芒將照亮我的前程,成為我人生中的一道亮麗風(fēng)景。畢業(yè)設(shè)計(jì),也許是我大學(xué)生涯
43、交上的最后一個(gè)作業(yè)了。想借次機(jī)會(huì)感謝三年以來給我?guī)椭乃欣蠋煛⑼瑢W(xué),你們的友誼是我人生的財(cái)富,是我生命中不可或缺的一部分。感謝熊力維老師對(duì)我的教育培養(yǎng),細(xì)心指導(dǎo)我們學(xué)習(xí),在此,我要向老師深深地鞠上一躬。參考文獻(xiàn)1.FPGA/CPLD應(yīng)用技術(shù)(Verilog語言版)王靜霞 主編第六章數(shù)字系統(tǒng)設(shè)計(jì)實(shí)踐任務(wù)20可編程多彩霓虹燈設(shè)計(jì) 電子工業(yè)出版社2.姜雪松,吳鈺淳,王鷹1VHDL 設(shè)計(jì)實(shí)例與仿真M 1北京:機(jī)械工業(yè)出版社3.潘松,黃繼業(yè). EDA技術(shù)實(shí)用教程M. 科學(xué)出版社4.張霞. VHDL在現(xiàn)代EDA中的應(yīng)用J. 現(xiàn)代電子技術(shù)附 錄1. 分頻器1模塊設(shè)計(jì)代碼如下:module clk_div1
44、(clk, /輸出時(shí)鐘clk_01s /輸入時(shí)鐘);input clk;output clk_01s;reg21:0 counter; /定義計(jì)數(shù)器來計(jì)數(shù)時(shí)鐘,計(jì)數(shù)2500000,需要用 /22位計(jì)數(shù)器reg clk_01s;always(posedge clk)beginif(counter=22'b00000) /如果等于2500000 begin counter<=22'b0; /把counter恢復(fù)成0 clk_01s<=clk_01s; /把clk_01s翻轉(zhuǎn) endelse counter<=counter+1'b1; /counter 繼
45、續(xù)計(jì)數(shù)endendmodule2. 分頻器2模塊設(shè)計(jì)代碼如下:module clk_div2(clk, /輸入時(shí)鐘clk_1s /輸出時(shí)鐘);input clk;output clk_1s;reg24:0 counter; /定義計(jì)數(shù)器來計(jì)數(shù)時(shí)鐘,計(jì)數(shù)25000000,需要用 25 /位計(jì)數(shù)器reg clk_1s;always(posedge clk)beginif(counter=25'h17d7840) /如果等于25000000 begin counter<=25'b0; /把counter恢復(fù)成0 clk_1s<=clk_1s; /把clk_1s翻轉(zhuǎn) end
46、else /如果不等于25000000 counter<=counter+1'b1; /counter繼續(xù)計(jì)數(shù)endendmodule3.顯示控制模塊設(shè)計(jì)代碼如下module disp_ctl(clk_1s, /輸入時(shí)鐘led,disp_add,disp_data);input clk_1s;output7:0 led;input7:0 disp_data; /顯示數(shù)據(jù)output2:0 disp_add; /地址信號(hào)reg2:0 disp_add; /地址寄存器/自動(dòng)產(chǎn)生地址always(posedge clk_1s) disp_add<=disp_add+1'b
47、1;/輸出data給led燈 assign led=disp_data;endmodule4.按鍵控制模塊設(shè)計(jì)代碼如下:module key_ctl(clk_01s, /輸入時(shí)鐘key,press,wdata,key_add,wr);input clk_01s; /輸入的0.1s時(shí)鐘input7:0 key; /外部的撥碼開關(guān)input press; /按鍵開關(guān)output7:0 wdata; /寫入RAM的數(shù)據(jù)output2:0 key_add; /寫入SRAM的地址output wr; /寫控制信號(hào)reg press1,press2,press3;always(posedge clk_01
48、s) /去抖動(dòng)電路beginpress1<=press;press2<=press1;press3<=press2;end/上升沿產(chǎn)生電路assign wr=press2&&(press3);endmodule5.RAM模塊設(shè)計(jì)代碼如下:module ram(clk_01s, /輸入時(shí)鐘wdata,key_add,wr,disp_add,disp_data);input clk_01s; /0.1s的系統(tǒng)時(shí)鐘input7:0 wdata; /從撥碼開關(guān)寫入數(shù)據(jù)input2:0 key_add; /寫入的地址input wr; /寫入使能信號(hào)input2:0di
49、sp_add; /讀出地址output7:0 disp_data; /讀出數(shù)據(jù)/定義D觸發(fā)器陣列reg7:0 ram0,ram1,ram2,ram3,ram4,ram5,ram6,ram7;/讀出的地址譯碼和多路選擇器assign disp_data=disp_add=3'b000 " ram0: disp_add=3'b001 " ram1: disp_add=3'b010 " ram2: disp_add=3'b011 " ram3: disp_add=3'b100 " ram4: disp_add=
50、3'b101 " ram5: disp_add=3'b110 " ram6: disp_add=3'b111 " ram7:8'bz;/寫入的譯碼和多路選擇器 always(posedge clk_01s)begin if(wr=1'b1) /如果寫使能信號(hào)wr有效才寫入 begin if(key_add=3'b000) /如果寫入的地址為“000” ram0<=wdata; /把數(shù)據(jù)寫入ram0這個(gè)單元 else if(key_add=3'b001) ram1<=wdata; else if(key_add=3'b010) ram2<=wdata; else if(key_add=3'b011) ram3<=wdata; else if(key_add=3'b100) ram4<=wdata; else if(key_add=3'b101) ram5<=wdata; else if(key_add=3'b110) ram6<=wdata;
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 文具企業(yè)競(jìng)爭力分析與提升策略考核試卷
- 搬家行業(yè)節(jié)能減排與綠色物流考核試卷
- 期貨市場(chǎng)交易風(fēng)險(xiǎn)監(jiān)測(cè)與預(yù)警考核試卷
- 小學(xué)生抗旱主題班會(huì)課件
- 客廳家具批發(fā)考核試卷
- 工業(yè)氣體批發(fā)考核試卷
- 2023視頻監(jiān)控及火災(zāi)報(bào)警系統(tǒng)施工作業(yè)指導(dǎo)書
- 上海建房合同范本
- 空調(diào)技術(shù)入股合同范本
- 汽修門頭合作合同范本
- 中石化YC分公司易捷便利店市場(chǎng)營銷策略研究
- 2023年江蘇省泰州市高職單招數(shù)學(xué)摸底卷五(含答案)
- 醫(yī)院護(hù)理培訓(xùn)課件:《病區(qū)環(huán)境管理查房》
- 《小羊和蝴蝶》繪本故事
- 鋼筋工理論考試題庫及答案
- 歷史文獻(xiàn)學(xué)之文獻(xiàn)校勘給09歷史開第二章
- 大數(shù)據(jù)技術(shù)基礎(chǔ)及應(yīng)用教程(Linux+Hadoop+Spark) 習(xí)題答案
- 鑄造廠重要危險(xiǎn)源清單
- 旅游法概述課件
- 高等數(shù)學(xué)(新標(biāo)準(zhǔn)教材)高職PPT完整全套教學(xué)課件
- 人教A版選擇性6.2.1排列6.2.2排列數(shù)課件(20張)
評(píng)論
0/150
提交評(píng)論