基于FPGA的多功能數(shù)字鐘設(shè)計(jì)_第1頁
基于FPGA的多功能數(shù)字鐘設(shè)計(jì)_第2頁
基于FPGA的多功能數(shù)字鐘設(shè)計(jì)_第3頁
基于FPGA的多功能數(shù)字鐘設(shè)計(jì)_第4頁
基于FPGA的多功能數(shù)字鐘設(shè)計(jì)_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、目 錄第一章 緒論11.1 選題背景21.1.1 課題相關(guān)技術(shù)的發(fā)展21.1.2 課題研究的必要性21.2 課題研究的內(nèi)容3第二章 FPGA簡介42.1 FPGA概述42.2 FPGA基本結(jié)構(gòu)42.3 FPGA系統(tǒng)設(shè)計(jì)流程62.4 FPGA開發(fā)編程原理82.5 QuartusII設(shè)計(jì)平臺82.5.1 軟件開發(fā)環(huán)境及基本流程82.5.2 具體設(shè)計(jì)流程10第三章 數(shù)字鐘總體設(shè)計(jì)方案133.1 數(shù)字鐘的構(gòu)成133.2 數(shù)字鐘的工作原理133.3 數(shù)字鐘硬件電路設(shè)計(jì)13第四章 單元電路設(shè)計(jì)164.1 分頻模塊電路設(shè)計(jì)164.2 校時(shí)控制模塊電路設(shè)計(jì)174.2.1 按鍵消抖174.2.2 按鍵控制模塊1

2、84.3 計(jì)數(shù)模塊214.4 譯碼顯示模塊274.5 譯碼顯示強(qiáng)制轉(zhuǎn)換模塊294.6 整點(diǎn)報(bào)時(shí)模塊29結(jié)果與展望31結(jié)果31展望31致謝32主要參考文獻(xiàn)33第一章 緒論現(xiàn)代社會的標(biāo)志之一就是信息產(chǎn)品的廣泛使用,而且是產(chǎn)品的性能越來越強(qiáng),復(fù)雜程度越來越高,更新步伐越來越快。支撐信息電子產(chǎn)品高速發(fā)展的基礎(chǔ)就是微電子制造工藝水平的提高和電子產(chǎn)品設(shè)計(jì)開發(fā)技術(shù)的發(fā)展。前者以微細(xì)加工技術(shù)為代表,而后者的代表就是電子設(shè)計(jì)自動化(electronic design automatic, EDA)技術(shù)。本設(shè)計(jì)采用的VHDL是一種全方位的硬件描述語言,具有極強(qiáng)的描述能力,能支持系統(tǒng)行為級、寄存器傳輸級和邏輯門級這

3、三個(gè)不同層次的設(shè)計(jì);支持結(jié)構(gòu)、數(shù)據(jù)流、行為三種描述形式的混合描述,覆蓋面廣,抽象能力強(qiáng),因此在實(shí)際應(yīng)用中越來越廣泛。ASIC是專用的系統(tǒng)集成電路,是一種帶有邏輯處理的加速處理器;而FPGA是特殊的ASIC芯片,與其它的ASIC芯片相比,它具有設(shè)計(jì)開發(fā)周期短、設(shè)計(jì)制造成本低、開發(fā)工具先進(jìn)、標(biāo)準(zhǔn)產(chǎn)品無需測試、質(zhì)量穩(wěn)定以及可實(shí)時(shí)在線檢測等優(yōu)點(diǎn)。在控制系統(tǒng)中,鍵盤是常用的人機(jī)交換接口,當(dāng)所設(shè)置的功能鍵或數(shù)字鍵按下的時(shí)候,系統(tǒng)應(yīng)該完成該鍵所對應(yīng)的功能。因此,按鍵信息輸入是與軟件結(jié)構(gòu)密切相關(guān)的過程。根據(jù)鍵盤結(jié)構(gòu)的不同,采用不同的編碼方法,但無論有無編碼以及采用什么樣的編碼,最后都要轉(zhuǎn)換成為相應(yīng)的鍵值,以實(shí)

4、現(xiàn)按鍵功能程序的轉(zhuǎn)移。1鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便,而且大大地?cái)U(kuò)展了鐘表原先的報(bào)時(shí)功能。諸如定時(shí)自動報(bào)警、定時(shí)啟閉電路、定時(shí)開關(guān)烘箱、通斷動力設(shè)備,甚至各種定時(shí)電氣的自動啟用等,所有這些都是以鐘表數(shù)字化為基礎(chǔ)的。因此研究數(shù)字鐘以及擴(kuò)大其應(yīng)用有著非?,F(xiàn)實(shí)的意義。1.1 選題背景本節(jié)將從FPGA嵌入式應(yīng)用開發(fā)技術(shù)與數(shù)字鐘技術(shù)發(fā)展的客觀實(shí)際出發(fā),通過對該技術(shù)發(fā)展?fàn)顩r的了解及課題本身的需要,指出研究基于FPGA的芯片系統(tǒng)與設(shè)計(jì)數(shù)字鐘的設(shè)計(jì)與實(shí)現(xiàn)的必要性。1.1.1 課題相關(guān)技術(shù)的發(fā)展當(dāng)今電子產(chǎn)品正向功能多元化,體積最小化,功耗最低化的方向發(fā)展。它與傳統(tǒng)的電子產(chǎn)品在設(shè)計(jì)上的顯著區(qū)別是大量

5、使用大規(guī)??删幊踢壿嬈骷?,使產(chǎn)品的性能提高,體積縮小,功耗降低,同時(shí)廣泛運(yùn)用現(xiàn)代計(jì)算機(jī)技術(shù),提高產(chǎn)品的自動化程度和競爭力,縮短研發(fā)周期。EDA技術(shù)正是為了適應(yīng)現(xiàn)代電子技術(shù)的要求,吸收眾多學(xué)科最新科技成果而形成的一門新技術(shù)。美國ALTERA公司的可編程邏輯器件采用全新的結(jié)構(gòu)和先進(jìn)的技術(shù),加上Quartus開發(fā)環(huán)境,使得其更具有高性能,開發(fā)周期短等特點(diǎn),十分方便進(jìn)行電子產(chǎn)品的開發(fā)和設(shè)計(jì)。2EDA技術(shù)以大規(guī)??删幊踢壿嬈骷樵O(shè)計(jì)載體,以硬件描述語言為系統(tǒng)邏輯描述主要表達(dá)方式,以計(jì)算機(jī)和大規(guī)??删幊踢壿嬈骷拈_發(fā)軟件及實(shí)驗(yàn)開發(fā)系統(tǒng)為設(shè)計(jì)工具,自動完成用軟件的方式設(shè)計(jì)的電子系統(tǒng)到硬件系統(tǒng)的邏輯編譯、邏輯

6、化簡、邏輯分割、邏輯映射、編程下載等工作,最終形成集成電子系統(tǒng)或?qū)S眉尚酒囊婚T新技術(shù)。本設(shè)計(jì)是利用VHDL硬件描述語言結(jié)合可編程邏輯器件進(jìn)行的,并通過數(shù)碼管靜態(tài)顯示走時(shí)結(jié)果。數(shù)字鐘可以由各種技術(shù)實(shí)現(xiàn),如單片機(jī)等。利用可編程邏輯器件具有其它方式?jīng)]有的特點(diǎn),它具有易學(xué)、方便、新穎、有趣、直觀,設(shè)計(jì)與實(shí)驗(yàn)成功率高、理論與實(shí)踐結(jié)合緊密、積小、量大、/O口豐富、編程和加密等特點(diǎn),并且它還具有開放的界面、豐富的設(shè)計(jì)庫、模塊化的工具以及LPM定制等優(yōu)良性能,應(yīng)用非常方便。因此,本設(shè)計(jì)采用可編程邏輯器件實(shí)現(xiàn)。1.1.2 課題研究的必要性現(xiàn)在是一個(gè)知識爆炸的新時(shí)代。新產(chǎn)品、新技術(shù)層出不窮,電子技術(shù)的發(fā)展更是

7、日新月異??梢院敛豢鋸埖恼f,電子技術(shù)的應(yīng)用無處不在,電子技術(shù)正在不斷地改變著我們的生活,改變著我們的世界。在這快速發(fā)展的年代,時(shí)間對人們來說是越來越寶貴,在快節(jié)奏的生活時(shí),人們往往忘記了時(shí)間,一旦遇到重要的事情而忘記了時(shí)間,這將會帶來很大的損失,因此我們需要一個(gè)定時(shí)系統(tǒng)來提醒這些忙碌的人。數(shù)字化的鐘表給人們帶來了極大的方便。近些年,隨著科技的發(fā)展和社會的進(jìn)步,人們對數(shù)字鐘的要求也越來越高,傳統(tǒng)的時(shí)鐘已不能滿足人們的需求,多功能數(shù)字鐘不管在性能還是在樣式上都發(fā)生了質(zhì)的變化,有電子鬧鐘、數(shù)字鬧鐘等等。1.2 課題研究的內(nèi)容本設(shè)計(jì)主要研究基于FPGA的數(shù)字鐘,要求時(shí)間以24小時(shí)為一個(gè)周期,顯示時(shí)、分

8、。具有校時(shí)以及整點(diǎn)報(bào)時(shí)功能,可以對時(shí)、分進(jìn)行單獨(dú)校對,使其校正到標(biāo)準(zhǔn)時(shí)間。校對時(shí)間由1×5矩形鍵盤進(jìn)行控制,為了保證計(jì)時(shí)的穩(wěn)定及準(zhǔn)確須由晶體振蕩器提供時(shí)間基準(zhǔn)信號。第二章 FPGA簡介2.1 FPGA概述FPGA是現(xiàn)場可編程門陣列(Field Programmable Gate Array)的簡稱,與之相應(yīng)的CPLD是復(fù)雜可編程邏輯器件(Complex Programmable Logic Device)的簡稱,兩者的功能基本相同,只是實(shí)現(xiàn)原理略有不同,有時(shí)可以忽略這兩者的區(qū)別,統(tǒng)稱為可編程邏輯器件或CPLD/PGFA。CPLD/PGFA幾乎能完成任何數(shù)字器件的功能,上至高性能CPU

9、,下至簡單的74電路。它如同一張白紙或是一堆積木,工程師可以通過傳統(tǒng)的原理圖輸入或硬件描述語言自由的設(shè)計(jì)一個(gè)數(shù)字系統(tǒng)。通過軟件仿真可以事先驗(yàn)證設(shè)計(jì)的正確性,在PCB完成以后,利用CPLD/FPGA的在線修改功能,隨時(shí)修改設(shè)計(jì)而不必改動硬件電路。使用CPLD/FPGA開發(fā)數(shù)字電路,可以大大縮短設(shè)計(jì)時(shí)間,減少PCB面積,提高系統(tǒng)的可靠性。這些優(yōu)點(diǎn)使得CPLD/FPGA技術(shù)在20世紀(jì)90年代以后得到飛速的發(fā)展,同時(shí)也大大推動了EDA軟件和硬件描述語言HDL的進(jìn)步。32.2 FPGA基本結(jié)構(gòu)FPGA具有掩膜可編程門陣列的通用結(jié)構(gòu),它由邏輯功能塊排成陣列,并由可編程的互連資源連接這些邏輯功能塊來實(shí)現(xiàn)不同

10、的設(shè)計(jì)。FPGA一般由3種可編程電路和一個(gè)用于存放編程數(shù)據(jù)的靜態(tài)存儲器SRAM組成。這3種可編程電路是:可編程邏輯模塊(CLB-Configurable Logic Block)、輸入/輸出模塊(IOB-I/O Block)和互連資源(IRInterconnect Resource)??删幊踢壿嬆KCLB是實(shí)現(xiàn)邏輯功能的基本單元,它們通常規(guī)則的排列成一個(gè)陣列,散布于整個(gè)芯片;可編程輸入/輸出模塊(IOB)主要完成芯片上的邏輯與外部封裝腳的接口,它通常排列在芯片的四周;可編程互連資源包括各種長度的連接線段和一些可編程連接開關(guān),它們將各個(gè)CLB之間或CLB、IOB之間以及IOB之間連接起來,構(gòu)成特

11、定功能的電路。41.CLB是FPGA的主要組成部分。圖2.1是CLB基本結(jié)構(gòu)框圖,它主要由邏輯函數(shù)發(fā)生器、觸發(fā)器、數(shù)據(jù)選擇器等電路組成。CLB中3個(gè)邏輯函數(shù)發(fā)生器分別是G、F和H,相應(yīng)的輸出是G、F和H。G有4個(gè)輸入變量G1、G2、G3和G4;F也有4個(gè)輸入變量F1、F2、F3和F4。這兩個(gè)函數(shù)發(fā)生器是完全獨(dú)立的,均可以實(shí)現(xiàn)4輸入變量的任意組合邏輯函數(shù)。邏輯函數(shù)發(fā)生器H有3個(gè)輸入信號;前兩個(gè)是函數(shù)發(fā)生器的輸出G和F,而另一個(gè)輸入信號是來自信號變換電路的輸出H1。這個(gè)函數(shù)發(fā)生器能實(shí)現(xiàn)3輸入變量的各種組合函數(shù)。這3個(gè)函數(shù)發(fā)生器結(jié)合起來,可實(shí)現(xiàn)多達(dá)9變量的邏輯函數(shù)。CLB中有許多不同規(guī)格的數(shù)據(jù)選擇器

12、(四選一、二選一等),通過對CLB內(nèi)部數(shù)據(jù)選擇器的編程,邏輯函數(shù)發(fā)生器G、F和H的輸出可以連接到CLB輸出端X或Y,并用來選擇觸發(fā)器的激勵(lì)輸入信號、時(shí)鐘有效邊沿、時(shí)鐘使能信號以及輸出信號。這些數(shù)據(jù)選擇器的地址控制信號均由編程信息提供,從而實(shí)現(xiàn)所需的電路結(jié)構(gòu)。CLB中的邏輯函數(shù)發(fā)生器F和G均為查找表結(jié)構(gòu),其工作原理類似于ROM。F和G的輸入等效于ROM的地址碼,通過查找ROM中的地址表可以得到相應(yīng)的組合邏輯函數(shù)輸出。另外,邏輯函數(shù)發(fā)生器F和G還可以作為器件內(nèi)高速RAM或小的可讀寫存儲器使用,它由信號變換電路控制。2.輸入/輸出模塊IOB。IOB提供了器件引腳和內(nèi)部邏輯陣列之間的連接。它主要由輸入

13、觸發(fā)器、輸入緩沖器和輸出觸發(fā)/鎖存器、輸出緩沖器組成。每個(gè)IOB控制一個(gè)引腳,它們可被配置為輸入、輸出或雙向I/O功能。當(dāng)IOB控制的引腳被定義為輸入時(shí),通過該引腳的輸入信號先送入輸入緩沖器。緩沖器的輸出分成兩路:一路可以直接送到MUX,另一路延時(shí)幾個(gè)納秒(或者沒有延時(shí))后送到輸入通路D觸發(fā)器,再送到數(shù)據(jù)選擇器。通過編程給數(shù)據(jù)選擇器不同的控制信息,確定送至CLB陣列的I1和I2是來自輸入緩沖器,還是來自觸發(fā)器。當(dāng)IOB控制的引腳被定義為輸出時(shí),CLB陣列的輸出信號OUT也可以有兩條傳輸途徑:一條是直接經(jīng)MUX送至輸出緩沖器,另一條是先存入輸出通路D觸發(fā)器,再送至輸出緩沖器。IOB輸出端配有兩只

14、MOS管,它們的柵極均可編程,使MOS管導(dǎo)通或截止,分別經(jīng)上拉電阻接通VCC、地線或者不接通,用以改善輸出波形和負(fù)載能力。3.可編程互連資源IR。可編程互連資源IR可以將FPGA內(nèi)部的CLB和CLB之間、CLB和IOB之間連接起來,構(gòu)成各種具有復(fù)雜功能的系統(tǒng)。IR主要由許多金屬線段構(gòu)成,這些金屬線段帶有可編程開關(guān),通過自動布線實(shí)現(xiàn)各種電路的連接??删幊涕_關(guān)矩CLBCLBCLBCLBCLBBCLBCLBCLBCLB矩CLBCLBCLB塊CLBCLBBCLBCLBCLBCLBCLBCLB 輸入輸出模塊互連資源 圖2.1 CLB基本結(jié)構(gòu)2.3 FPGA系統(tǒng)設(shè)計(jì)流程一般說來,一個(gè)比較大的完整的項(xiàng)目應(yīng)該

15、采用層次化的描述方法:分為幾個(gè)較大的模塊,定義好各功能模塊之間的接口,然后各個(gè)模塊再細(xì)分去具體實(shí)現(xiàn),這就是自頂向下的設(shè)計(jì)方法。目前這種高層次的設(shè)計(jì)方法已被廣泛采用。高層次設(shè)計(jì)只是定義系統(tǒng)的行為特征,可以不涉及實(shí)現(xiàn)工藝,因此還可以在廠家綜合庫的支持下,利用綜合優(yōu)化工具將高層次描述轉(zhuǎn)換為針對某種工藝優(yōu)化的網(wǎng)絡(luò)表,使工藝轉(zhuǎn)化變得輕而易舉。CPLD/FPGA系統(tǒng)設(shè)計(jì)的工作流程如圖2.2所示。流程說明:1.工程師按照“自頂向下”的設(shè)計(jì)方法進(jìn)行系統(tǒng)劃分。2.輸入VHDL代碼,這是設(shè)計(jì)中最為普遍的輸入方式。此外,還可以采用圖形輸入方式,這種輸入方式具有直觀、容易理解的優(yōu)點(diǎn)。3.將以上的設(shè)計(jì)輸入編譯成標(biāo)準(zhǔn)的V

16、HDL文件。4.進(jìn)行代碼級的功能仿真,主要是檢驗(yàn)系統(tǒng)功能設(shè)計(jì)的正確性。這一步驟適用于大型設(shè)計(jì),因?yàn)閷τ诖笮驮O(shè)計(jì)來說,在綜合前對源代碼仿真,就可以大大減少設(shè)計(jì)重復(fù)的次數(shù)和時(shí)間。一般情況下,這一仿真步驟可略去。5.利用綜合器對VHDL源代碼進(jìn)行綜合優(yōu)化處理,生成門級描述的網(wǎng)絡(luò)表文件,這是將高層次描述轉(zhuǎn)化為硬件電路的關(guān)鍵步驟。綜合優(yōu)化是針對ASIC芯片供應(yīng)商的某一產(chǎn)品系列進(jìn)行的,所以綜合的過程要在相應(yīng)的廠家綜合庫的支持下才能完成。6.利用產(chǎn)生的網(wǎng)絡(luò)表文件進(jìn)行適配前的時(shí)序仿真,仿真過程不涉及具體器件的硬件特性,是較為粗略的。一般的設(shè)計(jì),也可略去這一步驟。7.利用適配器將綜合后的網(wǎng)絡(luò)表文件針對某一具體的

17、目標(biāo)器件進(jìn)行邏輯映射操作,包括底層器件配置、邏輯分割、邏輯優(yōu)化和布局布線。8.在適配完成后,產(chǎn)生多項(xiàng)設(shè)計(jì)結(jié)果:a.適配報(bào)告,包括芯片內(nèi)部資源利用情況,設(shè)計(jì)的布爾方程描述情況等;b.適配后的仿真模型;c.器件編程文件。根據(jù)適配后的仿真模型,可以進(jìn)行適配后時(shí)序仿真,因?yàn)橐呀?jīng)得到器件的實(shí)際硬件特性(如時(shí)延特性),所以仿真結(jié)果能比較精確的預(yù)期未來芯片的實(shí)際性能。如果仿真結(jié)果達(dá)不到設(shè)計(jì)要求,就修改VHDL源代碼或選擇不同速度和品質(zhì)的器件,直至滿足設(shè)計(jì)要求。最后將適配器產(chǎn)生的器件編程文件通過編程器或下載電纜載入到目標(biāo)芯片CPLD/FPGA中。5 系統(tǒng)劃分編譯器代碼級功能仿真綜合器適配前時(shí)序仿真適配器CPL

18、D/FPGA實(shí)現(xiàn)適配后仿真模型適配后時(shí)序仿真適配報(bào)告ASIC實(shí)現(xiàn)VHDL代碼或圖形方式輸入仿真綜合庫器件編程文件 圖2.2 CPLD/FPGA系統(tǒng)設(shè)計(jì)流程2.4 FPGA開發(fā)編程原理硬件設(shè)計(jì)需要根據(jù)各種性能指標(biāo)、成本、開發(fā)周期等因素,確定最佳的實(shí)現(xiàn)方案,畫出系統(tǒng)框圖,選擇芯片,設(shè)計(jì)PCB并最終形成樣機(jī)。CPLD/FPGA軟件設(shè)計(jì)可分為兩大塊:編程語言和編程工具。編程語言主要有VHDL和Verilog兩種硬件描述語言;編程工具主要是兩大廠家Altera和Xilinx的集成綜合EDA軟件QuartusII以及第三方工具。具體的設(shè)計(jì)輸入方式有以下幾種:1.HDL語言方式。HDL既可以描述底層設(shè)計(jì),也

19、可以描述頂層的設(shè)計(jì),但它不容易做到較高的工作速度和芯片利用率。用這種方式描述的項(xiàng)目最后所能達(dá)到的性能與設(shè)計(jì)人員的水平、經(jīng)驗(yàn)以及綜合軟件有很大的關(guān)系。2.圖形方式??梢苑譃殡娐吩韴D描述,狀態(tài)機(jī)描述和波形描述3種形式。電路原理圖方式描述比較直觀和高效,對綜合軟件的要求不高。一般大都使用成熟的IP核和中小規(guī)模集成電路所搭成的現(xiàn)成電路,整體放到一片可編程邏輯器件的內(nèi)部去,其硬件工作速度和芯片利用率很高,但是當(dāng)項(xiàng)目很大時(shí),該方法就顯得有些繁瑣;狀態(tài)機(jī)描述主要用來設(shè)計(jì)基于狀態(tài)機(jī)思想的時(shí)序電路。在圖形的方式下定義好各個(gè)工作狀態(tài),然后在各個(gè)狀態(tài)上輸入轉(zhuǎn)換條件以及相應(yīng)的輸入輸出,最后生成HDL語言描述,送去綜

20、合軟件綜合到可編程邏輯器件的內(nèi)部。由于狀態(tài)機(jī)到HDL語言有一種標(biāo)準(zhǔn)的對應(yīng)描述方式,所以這種輸入方式最后所能達(dá)到的工作速度和芯片利用率主要取決于綜合軟件;波形描述方式是基于真值表的一種圖形輸入方式,直接描述輸入與輸出的波形關(guān)系。2.5 QuartusII設(shè)計(jì)平臺2.5.1 軟件開發(fā)環(huán)境及基本流程本設(shè)計(jì)所用軟件主要是QuartusII,在此對它做一些介紹。QuartusII是Altera提供的FPGA/CPLD開發(fā)集成環(huán)境,Altera是世界上最大的可編程邏輯器件供應(yīng)商之一。QuartusII提供了一種與結(jié)構(gòu)無關(guān)的設(shè)計(jì)環(huán)境,使設(shè)計(jì)者能方便地進(jìn)行設(shè)計(jì)輸入、快速處理和器件編程。Altera公司的Qua

21、rtusII 開發(fā)工具人機(jī)界面友好、易于使用、性能優(yōu)良,并自帶編譯、仿真功能。QuartusII軟件完全支持VHDL設(shè)計(jì)流程,其內(nèi)部嵌有VHDL邏輯綜合器。QuartusII 也可以利用第三方的綜合工具,如FPGA Compiler II,并能直接調(diào)用這些工具。同樣,QuartusII具備仿真功能,同時(shí)也支持第三方的仿真工具。此外,QuartusII與MATLAB和DSP Builder結(jié)合,可以進(jìn)行基于FPGA的DSP系統(tǒng)開發(fā),是DSP硬件系統(tǒng)實(shí)現(xiàn)的關(guān)鍵EDA技術(shù)。QuartusII包括模塊化的編譯器。編譯器包括的功能模塊有分析/綜合器、適配器、裝配器、時(shí)序分析器、設(shè)計(jì)輔助模塊、EDA網(wǎng)表文

22、件生成器、編輯數(shù)據(jù)接口等??梢酝ㄟ^選擇Start Compilation來運(yùn)行所有的編譯器模塊,也可以通過選擇Start單獨(dú)運(yùn)行各個(gè)模塊。在Compiler Tool窗口中,可以打開該模塊的設(shè)置文件或報(bào)告文件,或者打開其它相關(guān)窗口。圖2.3上排所示的是QuartusII編譯設(shè)計(jì)主控界面,它顯示了QuartusII自動設(shè)計(jì)的各主要處理環(huán)節(jié)和設(shè)計(jì)流程,包括設(shè)計(jì)輸入編輯、設(shè)計(jì)分析與綜合、適配、編程文件匯編、時(shí)序參數(shù)提取以及編程下載幾個(gè)步驟。圖2.3下排的流程框圖是與上面的QuartusII設(shè)計(jì)流程相對照的標(biāo)準(zhǔn)的EDA開發(fā)流程。圖2.3 QuartusII設(shè)計(jì)流程在設(shè)計(jì)輸入之后,QuartusII的編

23、譯器將給出設(shè)計(jì)輸入的錯(cuò)誤報(bào)告。QuartusII擁有性能良好的設(shè)計(jì)錯(cuò)誤定位器,用于確定文本或圖形設(shè)計(jì)中的錯(cuò)誤。在進(jìn)行編譯后,可對設(shè)計(jì)進(jìn)行時(shí)序仿真。在仿真前,需要利用波形編輯器編輯一個(gè)波形激勵(lì)文件。編譯和仿真檢測無誤后,便可將下載信息通過QuartusII提供的編程器下載入目標(biāo)器件中了。6QuartusII圖形用戶界面的基本設(shè)計(jì)流程如下:1.使用New Project Wizard(File菜單)建立新工程并指定目標(biāo)器件或器件系列。2.使用Text Editor(文本編輯器)建立 Verilog HDL、VHDL或Altera硬件描述語言(AHDL)設(shè)計(jì)??梢允褂肂lock Editor(原理圖

24、編輯器)建立流程圖或原理圖。流程圖中可以包含代表其它設(shè)計(jì)文件的符號;還可以使用MegaWizard Plug-In Manager生成宏功能模塊和IP內(nèi)核的自定義變量,在設(shè)計(jì)中將它們實(shí)例化。3.(可選)使用 Assignment Editor、Settings 對話框(Assignments 菜單)、Floorplan Editor或LogicLock功能指定初始設(shè)計(jì)的約束條件。4.(可選)使用SOPC Builder或DSP Builder建立系統(tǒng)級設(shè)計(jì)。5.(可選)使用Software Builder為Excalibur器件處理器或Nios嵌入式處理器建立軟件和編程文件。6.使用Analy

25、sis & Synthesis對設(shè)計(jì)進(jìn)行綜合。7.(可選)使用仿真器對設(shè)計(jì)執(zhí)行功能仿真。8.使用Fitter對設(shè)計(jì)執(zhí)行布局布線。在對源代碼進(jìn)行少量更改之后,還可以使用增量布局布線。9.使用Timing Analyzer對設(shè)計(jì)進(jìn)行時(shí)序分析。10.使用仿真器對設(shè)計(jì)進(jìn)行時(shí)序仿真。 11.(可選)使用物理綜合、時(shí)序底層布局圖、LogicLock功能、Settings對話框和 Assignment Editor進(jìn)行設(shè)計(jì)優(yōu)化,實(shí)現(xiàn)時(shí)序關(guān)閉。12.使用Assembler為設(shè)計(jì)建立編程文件。 13.使用編程文件、Programmer 和Altera硬件編程器對器件進(jìn)行編程;或?qū)⒕幊涛募D(zhuǎn)換為其它文件格

26、式以供嵌入式處理器等其它系統(tǒng)使用。14.(可選)使用SignalTap II Logic Analyzer、SignalProbe功能或Chip Editor對設(shè)計(jì)進(jìn)行調(diào)試。15.(可選)使用Chip Editor、Resource Property Editor和Change Manager進(jìn)行工程更改管理。2.5.2 具體設(shè)計(jì)流程1.建立工作庫文件夾和編輯設(shè)計(jì)文件首先建立工作庫目錄,以便存儲工程項(xiàng)目設(shè)計(jì)文件。任何一項(xiàng)設(shè)計(jì)都是一項(xiàng)工程(Project),都必須首先為此工程建立一個(gè)放置與此工程相關(guān)的所有設(shè)計(jì)文件的文件夾。此文件夾將被EDA軟件默認(rèn)為工作庫。一般來說,不同的設(shè)計(jì)項(xiàng)目最好放在不同的

27、文件夾中,而同一工程的所有文件都必須放在同一文件夾中。2.創(chuàng)建工程使用New Project Wizard可以為工程指定工作目錄、分配工程名稱以及指定最高層設(shè)計(jì)實(shí)體的名稱,還可以指定要在工程中使用的設(shè)計(jì)文件、其它源文件、用戶庫和EDA工具,以及目標(biāo)器件系列和具體器件等。3.編譯前設(shè)置在對工程進(jìn)行編譯處理前,必須做好必要的設(shè)置。步驟如下:a.選擇FPGA目標(biāo)芯片b.選擇配置器件的工作方式c.選擇配置器件和編程方式d.選擇輸出設(shè)置e.選擇目標(biāo)器件閑置引腳的狀態(tài)4.全程編譯QuartusII編譯器是由一系列處理模塊構(gòu)成的,這些模塊負(fù)責(zé)對設(shè)計(jì)項(xiàng)目的檢錯(cuò)、邏輯綜合、結(jié)構(gòu)綜合、輸出結(jié)果的編輯配置,以及時(shí)序

28、分析。在這一過程中,將設(shè)計(jì)項(xiàng)目適配到FPGA目標(biāo)器中,同時(shí)產(chǎn)生多種用途的輸出文件。編譯器首先檢查出工程設(shè)計(jì)文件中可能的錯(cuò)誤信息,供設(shè)計(jì)者排除。然后產(chǎn)生一個(gè)結(jié)構(gòu)化的以網(wǎng)表文件表達(dá)的電路原理圖文件。圖2.4 全編譯后出現(xiàn)報(bào)錯(cuò)信息如果編譯成功,可以見到如圖2.4所示的工程管理窗口左上角顯示了工程(例如工程div)的層次結(jié)構(gòu)和其中結(jié)構(gòu)模塊耗用的邏輯宏單元數(shù);在此欄下是編譯處理流程,包括數(shù)據(jù)網(wǎng)表建立、邏輯綜合、適配、配置文件裝配和時(shí)序分析等;最下欄是編譯處理信息;中欄式編譯報(bào)告項(xiàng)目選擇菜單,單擊其中各項(xiàng)可以詳細(xì)了解編譯與分析結(jié)果。5.時(shí)序仿真工程編譯通過后,必須建立VWF文件對其功能和時(shí)序性質(zhì)進(jìn)行仿真測

29、試,以了解設(shè)計(jì)結(jié)果是否滿足原設(shè)計(jì)要求。7第三章 數(shù)字鐘總體設(shè)計(jì)方案3.1 數(shù)字鐘的構(gòu)成數(shù)字鐘實(shí)際上是一個(gè)對標(biāo)準(zhǔn)頻率(1HZ)進(jìn)行計(jì)數(shù)的計(jì)數(shù)電路。由于計(jì)數(shù)的起始時(shí)間不可能與標(biāo)準(zhǔn)時(shí)間(如北京時(shí)間)一致,故需要在電路上加一個(gè)校時(shí)電路,同時(shí)標(biāo)準(zhǔn)的1HZ時(shí)間信號必須做到準(zhǔn)確穩(wěn)定,通常使用石英晶體振蕩器電路構(gòu)成數(shù)字鐘。本設(shè)計(jì)總體框架見附圖。3.2 數(shù)字鐘的工作原理振蕩器產(chǎn)生穩(wěn)定的高頻脈沖信號,作為數(shù)字鐘的時(shí)間基準(zhǔn),然后經(jīng)過分頻器輸出標(biāo)準(zhǔn)秒脈沖。秒計(jì)數(shù)器滿60后向分計(jì)數(shù)器進(jìn)位,分計(jì)數(shù)器滿60后向小時(shí)計(jì)數(shù)器進(jìn)位,小時(shí)計(jì)數(shù)器按照“24翻1”規(guī)律計(jì)數(shù)。計(jì)數(shù)滿后各計(jì)數(shù)器清零,重新計(jì)數(shù)。計(jì)數(shù)器的輸出分別經(jīng)譯碼器送數(shù)碼

30、管顯示。計(jì)時(shí)出現(xiàn)誤差時(shí),可以用校時(shí)電路校時(shí)、校分??刂菩盘栍?×5矩形鍵盤輸入。時(shí)基電路可以由石英晶體振蕩電路構(gòu)成,假設(shè)晶振頻率1MHz,經(jīng)過6次十分頻就可以得到秒脈沖信號。譯碼顯示電路由八段譯碼器完成。3.3 數(shù)字鐘硬件電路設(shè)計(jì)1.系統(tǒng)芯片的選取本系統(tǒng)擬采用Altera公司Cyclone系列的EP1C3T144芯片。選用該款芯片的原因是: Altera公司的Quartus II開發(fā)環(huán)境非常友好、直觀,為整個(gè)系統(tǒng)的開發(fā)提供了極大的方便; 該FPGA片內(nèi)邏輯資源、IO端口數(shù)和RAM容量都足夠用,并且價(jià)格相對來說比較便宜,速度快,可以滿足要求,且有很大的升級空間。EP1C3T144是Al

31、tera公司生產(chǎn)的Cyclone I代、基于1.5V(內(nèi)核),3.3V(I/O),0.13um和SRAM的FPGA,容量為2910個(gè)LE,擁有13個(gè) M4KRAM(4K位+奇偶校驗(yàn))塊;除此之外,還集成了許多復(fù)雜的功能,提供了全功能的鎖相環(huán)(PLL),用于板級的時(shí)鐘網(wǎng)絡(luò)管理和專用I/O口,這些接口用于連接業(yè)界標(biāo)準(zhǔn)的外部存儲器器件,具有成本低和使用方便的特點(diǎn),具有以下特性: 新的可編程架構(gòu)通過設(shè)計(jì)實(shí)現(xiàn)低成本; 嵌入式存儲資源支持各種存儲器應(yīng)用和數(shù)字信號處理器(DSP); 采用新的串行置器件如EPCS1的低成本配置方案; 支持LVTTL、LVCMOS、SSTL-2以及SSTL-3 I/O標(biāo)準(zhǔn); 支

32、持66MHZ,32位PCI標(biāo)準(zhǔn); 支持低速(311Mbps)LVDS I/O; 支持串行總線和網(wǎng)絡(luò)接口及各種通信協(xié)議; 使用PLL管理片內(nèi)和片外系統(tǒng)時(shí)序; 支持外部存儲器,包括 DDR SDRAM(133MHZ),F(xiàn)CRAM以及 SDR SDRAM; 支持多種IP,包括Altera公司的MegaCore以及其合伙組織的IP,支持最新推出的Nios II嵌入式處理器,具有超凡的性能、低成本和最完整的一套軟件開發(fā)工具。7EP1C3T144引腳圖如圖3.1所示。圖3.1 EP1C3T144引腳圖2.顯示電路設(shè)計(jì)顯示電路所選用4個(gè)數(shù)碼管以靜態(tài)顯示驅(qū)動方式完成時(shí)、分顯示。靜態(tài)驅(qū)動是指每個(gè)數(shù)碼管的每一個(gè)段

33、碼都由一個(gè)I/O端口進(jìn)行驅(qū)動,其優(yōu)點(diǎn)是編程簡單,顯示亮度高,缺點(diǎn)是占用I/O端口多。顯示電路原理圖如圖3.2所示。圖3.2 LED靜態(tài)驅(qū)動顯示原理圖第四章 單元電路設(shè)計(jì)4.1 分頻模塊電路設(shè)計(jì)晶體振蕩器是構(gòu)成數(shù)字式時(shí)鐘的核心,振蕩器的穩(wěn)定度及頻率的精度決定了數(shù)字鐘計(jì)時(shí)的準(zhǔn)確程度,它保證了時(shí)鐘的走時(shí)準(zhǔn)確及穩(wěn)定。石英晶體的選頻特性非常好,只有某一頻率點(diǎn)的信號可以通過它,其它頻率段的信號均會被它所衰減,而且,振蕩信號的頻率與振蕩電路中的R、C組件的數(shù)值無關(guān)。因此這種振蕩電路輸出的是準(zhǔn)確度極高的信號。然后再利用分頻電路,將其輸出信號轉(zhuǎn)變?yōu)槊胄盘?,其組成框圖如圖4.1。石英晶體振蕩電路秒信號分頻電路圖4

34、.1 秒信號產(chǎn)生電路框圖本系統(tǒng)使用的晶體振蕩器電路給數(shù)字鐘提供了一個(gè)頻率穩(wěn)定準(zhǔn)確的20MHZ的方波信號,其輸出至分頻電路。分頻電路的邏輯框圖如圖4.2所示。圖4.2 分頻電路模塊經(jīng)分頻后輸出1HZ的標(biāo)準(zhǔn)秒信號oclk1s、500HZ的按鍵消去抖信號。該模塊的時(shí)序仿真圖如圖4.3所示,滿足設(shè)計(jì)要求。圖4.3 分頻模塊仿真圖4.2 校時(shí)控制模塊電路設(shè)計(jì) 按鍵消抖本模塊用于當(dāng)有按鍵按下時(shí),采用軟件的辦法去除按鍵抖動。模塊的實(shí)現(xiàn)方法是先判斷是否有按鍵按下,如有按鍵按下則延時(shí)一段時(shí)間,待抖動過去之后再讀行線狀態(tài),如果仍有低電平行線,則確定有按鍵按下,然后產(chǎn)生一個(gè)有按鍵按下的信號。該模塊有一個(gè)時(shí)鐘輸入端口

35、,輸入時(shí)鐘信號是分頻出來的500HZ的時(shí)鐘;有一個(gè)輸入端口與行線相連,用于輸入行線狀態(tài);一個(gè)輸出端口,用于輸出有按鍵按下的信號。該模塊的邏輯框圖如圖4.4所示。圖4.4 消抖邏輯框圖該模塊在這里實(shí)現(xiàn)的比較簡單,原理是當(dāng)有按鍵按下的時(shí)候,inkey會變成低電平,如果此時(shí)count不為30時(shí),內(nèi)部計(jì)數(shù)器計(jì)數(shù),從0直到30,當(dāng)計(jì)數(shù)到30時(shí),okey輸出底電平,同時(shí)給計(jì)數(shù)器賦值為30。由于計(jì)數(shù)脈沖為500HZ,故從有按鍵按下到輸入信號產(chǎn)生大概需要60ms。而按鍵產(chǎn)生抖動的時(shí)間大約2ms到10ms,所以一旦計(jì)數(shù)完成,抖動已經(jīng)過去,不會發(fā)生重鍵現(xiàn)象了,這樣就去除了抖動。該模塊的仿真波形如圖4.5所示。圖4

36、.5 按鍵消抖模塊波形仿真 按鍵控制模塊按鍵控制模塊的框圖如圖4.6所示。 a b圖4.6 按鍵控制模塊圖4.6中a圖是控制分的高位,低位以及小時(shí)的高位的模塊,b圖是控制小時(shí)的低位的模塊。inkey是由消抖模塊輸出的有鍵按下的信號,這個(gè)信號引發(fā)按鍵控制模塊內(nèi)部信號的變化。oaddr3.0作為輸出信號,用于控制時(shí)間的調(diào)整。b圖中的flag是判斷小時(shí)高位是1還是2的信號,若為1,則flag信號為低電平;若為2,則flag信號為高電平。1.分低位按鍵控制核心程序如下:ENTITY addram ISPORT(inkey : IN STD_LOGIC;oaddr : OUT STD_LOGIC_VEC

37、TOR(3 downto 0);END addram;ARCHITECTURE addram_architecture OF addram ISsignal count:std_logic_vector(3 downto 0);BEGINoaddr<=count;k1:process(inkey)beginif rising_edge(inkey) thencount<=count+1;if count=9 thencount<="0000"end if;end if;end process k1;END addram_architecture;說明:每按

38、鍵一次,即每當(dāng)inkey的上升沿到來時(shí),count加一,當(dāng)count等于9的時(shí)候,作為分的低位,將0賦值于count,在此過程中,隨時(shí)將十進(jìn)制數(shù)的count的值的8421碼作為oaddr的信號。對于分的高位,僅將程序中的count=9改成count=5即可;對于小時(shí)的高位,僅將程序中的count=9改成count=2即可。該模塊的仿真波形如圖4.7所示。圖4.7分低位按鍵控制模塊波形仿真2.小時(shí)低位按鍵控制核心程序如下:ENTITY addram3 ISPORT(inkey : IN STD_LOGIC;flag : IN STD_LOGIC;oaddr : OUT STD_LOGIC_VEC

39、TOR(3 downto 0);END addram3;ARCHITECTURE addram3_architecture OF addram3 ISsignal count:std_logic_vector(3 downto 0);BEGINoaddr<=count;k1:process(inkey,flag)beginif rising_edge(inkey) thenif flag='1' thenif count=3 thencount<="0000"elsecount<=count+1;end if;elsecount<=c

40、ount+1;if count=9 thencount<="0000"end if;end if;end if;end process k1;END addram3_architecture;說明:當(dāng)flag為高電平時(shí),即小時(shí)高位為2,小時(shí)低位只能在0到3之間變動;當(dāng)flag為低電平時(shí),即小時(shí)高位為1,小時(shí)低位可以在0到9之間變動。該模塊的仿真波形如圖4.8所示。圖4.8小時(shí)低位按鍵控制模塊波形仿真4.3 計(jì)數(shù)模塊1.秒計(jì)數(shù)模塊該模塊框圖如圖4.9所示。模塊主要完成秒向分的進(jìn)位,產(chǎn)生脈沖信號。圖4.9 秒模塊邏輯框圖核心程序如下:ENTITY second ISPOR

41、T(clk_1s : IN STD_LOGIC;os : OUT STD_LOGIC);END second;ARCHITECTURE sec_architecture OF second ISBEGINk1:process(clk_1s)variable count:integer range 0 to 100:=0;beginif rising_edge(clk_1s) thenif count=59 thenos<='1'count:=0;elseos<='0'count:=count+1;end if;end if;end process k

42、1;該模塊的仿真波形如圖4.10所示。圖4.10 秒計(jì)數(shù)模塊波形仿真2.分低位計(jì)數(shù)器該模塊框圖如圖4.11所示。主要完成分低位向高位的進(jìn)位,產(chǎn)生脈沖信號。圖4.11分低位邏輯框圖核心程序如下:ENTITY ml ISPORT(clk_1s : IN STD_LOGIC;iset : IN STD_LOGIC;iset_addr : IN STD_LOGIC_VECTOR(3 DOWNTO 0);addr_1s : OUT STD_LOGIC_vector(3 downto 0);os : OUT STD_LOGIC);END ml;ARCHITECTURE ml_architecture OF

43、 ml ISBEGINk1:process(clk_1s,iset)variable count:integer range 0 to 10:=0;beginif iset='0' thencount:=CONV_INTEGER(iset_addr);addr_1s<=iset_addr;elsif rising_edge(clk_1s) thenif count=9 thenos<='1'count:=0;addr_1s<=CONV_STD_LOGIC_VECTOR(count,4);elseos<='0'count:=

44、count+1;addr_1s<=CONV_STD_LOGIC_VECTOR(count,4);end if;end if;end process k1;END ml_architecture;說明:對于分高位計(jì)數(shù)模塊的程序,只需將上面程序中的count=9改成count=6即可。3.小時(shí)低位計(jì)數(shù)模塊該模塊框圖如圖4.12所示。主要完成小時(shí)低位向高位的進(jìn)位,產(chǎn)生脈沖信號,同時(shí)根據(jù)flag信號的不同判斷出小時(shí)高位時(shí)1還是2。圖4.12小時(shí)低位計(jì)數(shù)模塊組件圖核心程序如下:ENTITY hl ISPORT(clk_1s : IN STD_LOGIC;iset : IN STD_LOGIC;fl

45、ag : IN STD_LOGIC;iset_addr : IN STD_LOGIC_VECTOR(3 DOWNTO 0);addr_1s : OUT STD_LOGIC_vector(3 downto 0);os : OUT STD_LOGIC);END hl;ARCHITECTURE hl_architecture OF hl ISBEGINk1:process(clk_1s,iset)variable count:integer range 0 to 10:=0;beginif iset='0' thencount:=CONV_INTEGER(iset_addr);add

46、r_1s<=iset_addr;elsif rising_edge(clk_1s) thenif flag='1' thenif count=3 thenos<='1'count:=0;addr_1s<=CONV_STD_LOGIC_VECTOR(count,4);elseos<='0'count:=count+1;addr_1s<=CONV_STD_LOGIC_VECTOR(count,4);end if;elseif count=9 thenos<='1'count:=0;addr_1s&l

47、t;=CONV_STD_LOGIC_VECTOR(count,4);elseos<='0'count:=count+1;addr_1s<=CONV_STD_LOGIC_VECTOR(count,4);end if;end if;end if;end process k1;END hl_architecture;4.小時(shí)高位計(jì)數(shù)模塊該模塊框圖如圖4.13所示,主要完成小時(shí)高位1和2之間的變換,同時(shí)當(dāng)小時(shí)高位為2時(shí), flag為高電平,當(dāng)為1時(shí),flag為低電平。圖4.13小時(shí)高位計(jì)數(shù)模塊組件核心程序如下:ENTITY hh ISPORT(clk_1s : IN STD

48、_LOGIC;iset : IN STD_LOGIC;iset_addr : IN STD_LOGIC_VECTOR(3 DOWNTO 0);addr_1s : OUT STD_LOGIC_vector(3 downto 0);flag: OUT STD_LOGIC);END hh;ARCHITECTURE hh_architecture OF hh ISBEGINk1:process(clk_1s,iset)variable count:integer range 0 to 2:=0;beginif iset='0' thencount:=CONV_INTEGER(iset_

49、addr);addr_1s<=iset_addr;if count=2 thenflag<='1'else flag<='0'end if;elsif rising_edge(clk_1s) thenif count=2 thenflag<='0'count:=0;addr_1s<=CONV_STD_LOGIC_VECTOR(count,4);elsif count=1 thenflag<='1'count:=count+1;addr_1s<=CONV_STD_LOGIC_VECTOR(c

50、ount,4);elseflag<='0'count:=count+1;addr_1s<=CONV_STD_LOGIC_VECTOR(count,4);end if;end if;end process k1;END hh_architecture;4.4 譯碼顯示模塊該模塊完成對計(jì)數(shù)器編碼信息的譯碼工作,驅(qū)動數(shù)碼管則顯示相應(yīng)的數(shù)字。模塊組件如4.14所示。圖4.14譯碼顯示模塊組件核心程序如下:ENTITY drive IS PORT (clk:in std_logic;addr : IN STD_LOGIC_vector(3 downto 0); led : O

51、UT STD_LOGIC_vector(7 downto 0); END drive; ARCHITECTURE behave OF drive IS SIGNAL sel:STD_LOGIC_vector(3 downto 0); BEGIN process(clk)begin sel<=addr; case sel is when "0000"=>led<="11000000" when "0001"=>led<="11111001" when "0010"=&

52、gt;led<="10100100" when "0011"=>led<="10110000" when "0100"=>led<="10011001" when "0101"=>led<="10010010" when "0110"=>led<="10000010" when "0111"=>led<="11111000

53、" when "1000"=>led<="10000000" when "1001"=>led<="10010000" when others=>led<="10111111" end case; end process; end behave;該模塊的仿真波形如圖4.15所示。圖4.15 譯碼顯示波形仿真4.5 譯碼顯示強(qiáng)制轉(zhuǎn)換模塊由于系統(tǒng)只能顯示時(shí)、分,故在此將時(shí)低位的數(shù)碼管的“小數(shù)點(diǎn)”作為秒顯示,以1HZ的頻率閃爍。模塊組件如圖4.16所示。圖

54、4.16 譯碼顯示強(qiáng)制轉(zhuǎn)換模塊組件4.6 整點(diǎn)報(bào)時(shí)模塊該模塊能夠完成整點(diǎn)時(shí)的報(bào)時(shí)功能。即將至整點(diǎn)時(shí),前四秒低音,最后一秒高音。該模塊在十二點(diǎn)三十分的時(shí)候,蜂鳴器響起音樂,持續(xù)一分鐘。模塊組件如圖4.17所示。圖4.17 整點(diǎn)報(bào)時(shí)模塊組件1.整點(diǎn)報(bào)時(shí)核心程序如下:if rising_edge(clk05s) thenif cnt=119 thencnt:=0;elsecnt:=cnt+1;end if;if mh="0101" and ml="1001" and(cnt=117 or cnt=115 or cnt=113 or cnt=111) then c<='0'el

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論