freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于cpld和單片機的多功能信號發(fā)生器(編輯修改稿)

2024-12-14 06:27 本頁面
 

【文章內(nèi)容簡介】 系列外,還推出可重復(fù)擦除的ProASIC3 系列 (針對汽車、工業(yè)控制、軍事航空行業(yè) )。 該公司 致力通過運河南理工大學(xué)畢業(yè)設(shè)計 (論文 )說明書 10 用業(yè)界最低功耗的 FPGA 系列,以及獨有的混合信號 FPGA,在芯片及系統(tǒng)級上進行功耗管理,為系統(tǒng)設(shè)計人員提高競爭優(yōu)勢。 這就好比單片機中的 PIC 系列,雖然資源不多,但是穩(wěn)定性可靠,廣泛應(yīng)用于工業(yè)領(lǐng)域。 在亞太地區(qū)用 Altera 人多,在歐洲用 Xilinx 的人多,在美國則是平分秋色。全球 PLD/FPGA 產(chǎn)品的 60%以上 是 Altera 和 Xilinx 提供的??梢哉f,Altera 和 Xilinx 共同決定了 PLD 技術(shù)的發(fā)展方向。當(dāng)然還有許多其他類型的器件,如: Lattice、 Vantis、 Actel、 Quicklogic、 Lucent 等。 開發(fā)語言和開發(fā)環(huán)境 的選擇 硬件描述語言( Hardware Description Language, HDL)是描述硬件電路的功能。常用的硬件描述語言有 VHDL、 Verilog HDL 和 ABEL。本次畢業(yè)設(shè)計針對 CPLD的開發(fā)有兩種語言可以選擇, VHDL 語言和 Verilog HDL語言,以 下是對兩種語言的介紹: VHDL語言簡介 VHDL 英文全名 VHSIC(超高速集成電路硬件描述語言)。它誕生于1982 年美國國防部提出的超高速集成電路計劃,其目的是 在各個承擔(dān)國防部訂貨的集成電路廠商之間建立一個統(tǒng)一的設(shè)計數(shù)據(jù)和文檔交換格式。1987 年被 IEEE( Institute of Electrical and Electronics Engineers,美國電氣和電子工程師協(xié)會 )和美國國防部確認(rèn)為標(biāo)準(zhǔn)硬件描述語言。自從 IEEE 公布了 VHDL 的標(biāo)準(zhǔn)版( IEEE 1076)以后,各 EDA( Electronic Design Automation,電子設(shè)計自動化)公司相繼推出 VHDL 設(shè)計環(huán)境,或宣布自己的設(shè)計工具可以和 VHDL 接口。此后, VHDL 在電子設(shè)計領(lǐng)域得到了廣泛的認(rèn)可,并逐步取代了原有的非標(biāo)準(zhǔn)硬件描述語言。 1995 年,我國國家技術(shù)監(jiān)督局制定規(guī)范推薦 VHDL 作為我國電子設(shè)計自動化硬件語言的國家規(guī)范?,F(xiàn)在, VHDL 和 Verilog 作為 IEEE 的工業(yè)標(biāo)準(zhǔn)硬件描述語言,得到了眾多 EDA 公司的支持,在電子工程領(lǐng)域,已成為事實上的通用語言標(biāo)準(zhǔn)。 河南理工大學(xué)畢業(yè)設(shè)計 (論文 )說明書 11 VHDL 語言描述能力非常強,它比其它 HDL 語言有更高層次 的描述。甚至有時在描述過程中只有算法的描述,而無硬件的形跡。因此 ,VHDL 語言在 CPLD/FPGA 的應(yīng)用方面較為廣泛,一個復(fù)雜的問題, VHDL 語言可以用比較少的篇幅描述清楚。同時 VHDL 語言指令代碼多,數(shù)據(jù)類型豐富,既有用于仿真系統(tǒng)的指令 ,又有可用于綜合的語句。因此 VHDL 語言使用起來非常靈活 ,可以說在幾種硬件描述語言中 ,VHDL 語言是描述能力最強的一種語言。但同時由于其較強的靈活性 ,繁多的指令碼和較強的數(shù)據(jù)類型 ,因此 VHDL 語言反而成為學(xué)習(xí)使用的難點。 VHDL 語言還有很多特點,具體可以參考相關(guān)的 VHDL 書籍 或上網(wǎng) ,非常容易找到。 Verilog HDL語言簡介 Verilog HDL 是一種硬件描述語言,為了制作數(shù)字電路而用來描述ASIC( Application Specific Integrated Circuit, 為專門目的而設(shè)計的集成電路 ) 和 FPGA 的設(shè)計之用。是目前應(yīng)用最為廣泛的硬件描述語言 。它是由Gateway Design Automation 公司 ( 后被 Cadence Design Systems 于 1990 年所購并 ) 于大約 1984 年開始發(fā)展 。 Verilog HDL 可以用來進行各 種層次的邏輯設(shè)計,也可以進行 數(shù)字系統(tǒng) 的邏輯綜合,仿真驗證和時序分析等。 Verilog HDL 適合算法級,寄存器級,邏輯級,門級和版圖級等各個層次的設(shè)計和描述 。 Verilog HDL 進行設(shè)計最大的優(yōu)點是其工藝無關(guān)性.這使得工程師在功能設(shè)計,邏輯驗證階段可以不必過多考慮門級及工藝實現(xiàn)的具體細節(jié),只需根據(jù)系統(tǒng)設(shè)計的要求施加不同的約束條件,即可設(shè)計出實際電路 。 Verilog 的設(shè)計者想要以 C 編程語言為基礎(chǔ)設(shè)計一種語言,可以使工程師比較容易學(xué)習(xí)。 河南理工大學(xué)畢業(yè)設(shè)計 (論文 )說明書 12 開發(fā)語言 及開發(fā)環(huán)境 的 選擇 其實兩 種語言的差別并不大, 它們 的描述能力也是類似的。掌握其中一種語言以后,可以通過短期的學(xué)習(xí),較快的學(xué)會另一種語言 。 剛開始學(xué)習(xí)的時候是從 Verilog HDL 開始的,從代碼量來看實現(xiàn)一個相同的功能, VHDL代碼量比較大,所以選擇代碼量少一點的 Verilog HDL,而且它是以 C 語言為基礎(chǔ)的,實際中學(xué)習(xí)上手還是非常快的,簡單的了解一下語法知識就可以看懂一些程序。但是隨著對畢業(yè)設(shè)計的逐步了解,需要查閱大量的資料,而這些資料絕大部分還是以 VHDL 語言為基礎(chǔ)的,而且身邊的人好多還是用 VHDL,為了獲得更多的資料和能與別 人更好的溝通,所以又轉(zhuǎn)向 VHDL 語言的學(xué)習(xí)。相對于 Verilog HDL 語言來說, VHDL語言更加嚴(yán)謹(jǐn),更加規(guī)范,缺點就是代碼量比較大,其實兩者各有優(yōu)缺點,視具體情況而定。 至于開發(fā)環(huán)境, 開發(fā) Altera 的 CPLD 的開發(fā)環(huán)境有 Max+pluxII 和Quartus II。剛開始學(xué)習(xí)時由于 Max+plux II 的安裝程序比較小,界面簡潔,入門容易,所以使用了 Max+plux II,可是等到后來接觸了 Quartus II,由于后者的功能更加強大,界面更加人性化,而且現(xiàn)在絕大多數(shù)人使用的是Quartus II,為了 便于以后 FPGA 的學(xué)習(xí),因為 FPGA 也是使用相同的環(huán)境,所以選擇 Quartus II。 VHDL語言與 C語言的聯(lián)系與區(qū)別 ( 1) VHDL 語言在形式上與 C 語言有許多相似之處: ① VHDL 語句與 C 語言中語句類似。 VHDL 中的大部分語句如變量賦值語句、 IF 語句、 CASE 語句、 LOOP 語句、 NEXT 語句和過程調(diào)用語句等,在 C 語言中均有類似的含義和語法形式。 ② VHDL 結(jié)構(gòu)上也與 C 語言類似。 VHDL 和 C 語言一樣,有庫、說明和語句部分,也有函數(shù)、 程序及其參數(shù)、調(diào)用方式等內(nèi)容。這些內(nèi)容在概念上和 C 語言基本是一樣的。 河南理工大學(xué)畢業(yè)設(shè)計 (論文 )說明書 13 ③ VHDL 在諸多語言要素上也與 C 語言類似。 VHDL 與 C 語言一樣,在常量、變量、數(shù)據(jù)對象、數(shù)據(jù)類型,以及數(shù)據(jù)對象的說明方式、數(shù)據(jù)對象的作用范圍等諸多語言要素上和 C 語言基本一致。 ( 2) VHDL 語言在和 C 語言的差異: ① VHDL 和 C 語言在語句方面的差異。計算機高級語言中有說明語句和可執(zhí)行語句兩種性質(zhì)的語句,可執(zhí)行語句按邏輯順序(不一定與書寫的順序相同,但與書寫順序有關(guān))依次被 CPU譯 碼執(zhí)行,最后得到數(shù)值計算或數(shù)據(jù)處理的結(jié)果。無論 CPU譯碼處理多強大、計算機速度多塊,執(zhí)行一個語句或一個程序段需要一定的時 間 ,更大的程序代碼往往也意味著消耗更長的時間。而說明語句只用于為編譯器提供必要的的信息(分配存儲器、連接不同的代碼等需要的參數(shù)),便于把源程序代碼轉(zhuǎn)換為可執(zhí)行的二進制代碼。 VHDL 中也有說明語句,其作用也只是為綜合器綜合電路(模擬器仿真)提供所需要的信息,本身不被綜合成任何電路模型(或生成仿真波形),這個意義上基本是一致的。除說明語句外, VHDL 還可以根據(jù)執(zhí)行方式分為順序語句和并發(fā)語句兩種 語句。并發(fā)性主要體現(xiàn)在它的執(zhí)行次序上與所有的并行語句同時執(zhí)行的,與書寫順序無關(guān),如同一電路系統(tǒng)中所有模塊同時工作一樣。順序語句在執(zhí)行方式上和 C 語言類似,其語句效果與語句的書寫次序有關(guān)。另外,無論并行語句還是順序語句,程序代碼長度的增加和它的執(zhí)行時間無關(guān),但最后生成的電路規(guī)模會增大。事實上, VHDL 的程序代碼沒有執(zhí)行時間這一概念。這里所說的執(zhí)行過程,只是綜合器對代碼分析的過程或模擬器仿真的過程。 ② 兩者的本質(zhì)不同。應(yīng)當(dāng)注意, VHDL 語言使用來描述電路功能(或仿真電路)的,而 C 語言 是用來描述數(shù)據(jù)處理流程的,二者具有本質(zhì)的區(qū)別,這一點在學(xué)習(xí)中要特別注意。例如,同一條語句, A=A+B( VHDL 語言中書為 A=A+B) ,C 語言只表示一次加法運算,在 CPU執(zhí)行后會得到固定的運算結(jié)果;在 VHDL 語言中卻要表示要生成一個累加器,而不是一次具體的運算。由于這種差別,在學(xué)習(xí)時要注意電路設(shè)計的合理性。對于A=A+B 語句來說,在 C 語言程序中基本不存在任何困難,但是 VHDL 語河南理工大學(xué)畢業(yè)設(shè)計 (論文 )說明書 14 言中必須有限定條件,否則會引起錯誤的用法。 ③ VHDL 語言中具有許多與數(shù)字電路結(jié)構(gòu)直接相關(guān)的概念。 VHDL 語言中除常量和變量之外,引入了一種“信號”的數(shù)據(jù)對象來描述電路,還有表示信號上升沿和下降沿等電路特征的信號屬性,同時在數(shù)據(jù)類型中還增加了表示時間信息的物理類型、表示電路邏輯狀態(tài)的數(shù)據(jù)類型等。另外,VHDL 語言中的“元件”時數(shù)字電路硬件結(jié)構(gòu) — “黒盒”或稱“模塊”的抽象。 VHDL 利用“元件”概念實現(xiàn)電路系統(tǒng)的層次設(shè)計,在一個電路中對同一個元件可以多次應(yīng)用。 VHDL 中元件的定義和普通電路的定義時完全一樣的,它有實體和結(jié)構(gòu)體兩部分組成,其中實體描述的是數(shù)字電路輸入 /輸出端口,結(jié)構(gòu)體描述的時數(shù)字電路輸入 /輸出的行 為與功能。 編程及開發(fā)環(huán)境之我見 對于編程,我認(rèn)為它是一個實踐的過程。無論你 C 語言多么優(yōu)秀,但是要你直接在 KEIL 里面編 51 單片機程序,還是有難度的,因為 C51 和 C語言還是有些地方不同的,不過它可以加速你的學(xué)習(xí)過程。還有看懂程序不等于你會編寫程序,在編寫 VHDL 程序前,自己看過了很多簡單的程序,還都能理解大概想實現(xiàn)什么功能,感覺已經(jīng)學(xué)得差不多了??墒钱?dāng)自己編寫時,遇到了很多困難,發(fā)現(xiàn)沒法下手,照著 C 語言的思想寫了幾個很簡單的程序,編譯出來錯誤很多。然后又對 VHDL 語法又過了兩遍,才逐漸理解剛開始編程 的錯誤,更加深刻的理解 了 VHDL。所以要想掌握一門語言,必須實踐實踐再 實踐。 無論是 C 語言還是硬件語言,都要注重模塊化,方便團隊開發(fā)。以前寫 51 程序都是不管多長,都是放在一個文件里,不方便閱讀也不方便移植,此次針對畢設(shè)我注重于模塊化編程,比如將液晶屏的驅(qū)動程序?qū)懙揭粋€文件里,自己寫專門的頭文件,等到 再 要用時,直接 Include 包括一下相應(yīng)的頭文件 就可以,下次用時很輕松便移植到別的程序里,我想這大概就是 API 的由來吧,具體程序見附錄 B。 硬件語言和 C 語言也有很多相似之處,更加注重模塊化。對于有些模河南理工大學(xué)畢業(yè)設(shè)計 (論文 )說明書 15 塊已經(jīng)被申請 知識產(chǎn)權(quán)保護,即所謂的 IP( Intellectual Property Core)內(nèi)核。使用時直接調(diào)用其模塊即可,可以加速產(chǎn)品的開發(fā)?,F(xiàn)在很多復(fù)雜的數(shù)字系統(tǒng),都是團隊合作,每人負(fù)責(zé)其中的小部分,組合起來就是復(fù)雜的系統(tǒng)。 值得一提的是我認(rèn)為編程就是對事物的認(rèn)知程度,剛開始編寫一個程序往往是先編寫一個簡單的框架,然后根據(jù)自己的思路一點點豐富,而思路不同,編出來的程序就會不同,相應(yīng)的代碼量就會不同,效率也會不同。比如課程設(shè)計我設(shè)計的是數(shù)字溫度計,但是由于編程思想的不同,我編寫出來的程序代碼量是另一個同學(xué)編寫程序代 碼量的 2 倍,甚至更多,但是實現(xiàn)的功能大同小異,很顯然在單片機中運行我的程序運行效率肯定很低。這就啟示對于編程而言,不但要注重實踐,而且要注重編程思想的培養(yǎng),加深對事物的理解。 其實有些時候我認(rèn)為自己編程會更簡單,思路都是自己的,只要花費時間一點一點豐富即可,看別人的程序還得順著別人的思路,很累。但是可以先模仿別人的編程思路和風(fēng)格,剛開始編程也是從模仿中成長的。 至于開發(fā)環(huán)境,因人而異,掌握一個開發(fā)環(huán)境,會很快的掌握另外一個相似的環(huán)境,就是個適應(yīng)的過程。從剛開始的 C 語言開發(fā)環(huán)境 VC( Visual C++)、 51 開發(fā)環(huán)境 KEIL 到后來的 AVR 單片機開發(fā)環(huán)境 ICCAVR、GCCAVR再到凌陽單片機開發(fā)環(huán)境的 unSP IDE、 DSP開發(fā)環(huán)境 CCS、 ARM開發(fā)環(huán)境 ADS 等等,好多功能大同小異,自己用的比較多的還是 C51,所以還是比較習(xí)慣于 KEIL?,F(xiàn)在使用 CPLD/FPGA 開發(fā)環(huán)境的 Quartus II,因為有上述的經(jīng)驗,所以適應(yīng) Quartus II 還是比較容易的,不過不得不說Quartus II 是一個 比較 復(fù)雜 但 很好的開發(fā)環(huán)境。 還有的就是剛開始接觸 CPLD 時是考研時學(xué)習(xí)的數(shù)字電路,當(dāng)時就覺得很好奇,做題還是一點點用 線將各個元器件連接起來,組成小型的電路。當(dāng)時就想如果建立大一點的電路難道還是這樣嗎, 覺得 很麻煩。等到考研結(jié)束之后就開始熟悉 MAX+PLUS II,剛開始用 的是 原理圖 的方式進行輸入 ,第一個電路設(shè)計記得很清晰,是自己根據(jù)書上的電路圖畫的一個 三八河南理工大學(xué)畢業(yè)設(shè)計 (論文 )說明書 16 譯碼器,然后仿真,將程序下 載到 CP
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1