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

正文內(nèi)容

基于fpga的漢明碼譯碼器的設(shè)計(jì)畢業(yè)設(shè)計(jì)論文(編輯修改稿)

2025-07-20 01:00 本頁面
 

【文章內(nèi)容簡介】 心子集非常易于學(xué)習(xí)和使用,這對(duì)大多數(shù)建模應(yīng)用來說已經(jīng)足夠了。 Verilog的主要功能作為一種硬件描述語言,Verilog HDL可以直接描述硬件結(jié)構(gòu),也可以通過描述系統(tǒng)行為來實(shí)現(xiàn)建模。Verilog HDL的主要特點(diǎn)和功能有以下幾點(diǎn):(1) 描述基本邏輯門,如and、or等基本邏輯門都內(nèi)置在語言中,可以直接調(diào)用。(2) 描述基本開關(guān)模型,如nmos、pmos和s等基本開關(guān)都可以直接調(diào)用。(3) 允許用戶定義基元(UDP),這種方式靈活有效,用戶定義的基元既可以是組合邏輯也可以是時(shí)序邏輯。(4) Verilog HDL中有兩種數(shù)據(jù)類型,線網(wǎng)數(shù)據(jù)類型和寄存器數(shù)據(jù)類型。線網(wǎng)類型表示構(gòu)件間的物理連線,而寄存器類型表示抽象的數(shù)據(jù)存儲(chǔ)元件。(5) 能夠描述層次設(shè)計(jì),可使用模塊實(shí)例結(jié)構(gòu)描述任何層次。(6) 設(shè)計(jì)的規(guī)模可以是任意的,語言不對(duì)設(shè)計(jì)的規(guī)模(大?。┦┘尤魏蜗拗啤#?) Verilog HDL語言的描述能力可以通過使用編程接口(PLI)進(jìn)一步擴(kuò)展。PLI是允許外部函數(shù)訪問Verilog HDL模塊內(nèi)信息,允許設(shè)計(jì)者與模擬器交互的例程集合。(8) 設(shè)計(jì)能夠在多個(gè)層次上加以描述,從開關(guān)級(jí)、門級(jí)、寄存器傳送級(jí)(RTL)到算法級(jí),報(bào)括進(jìn)程和隊(duì)列級(jí)。(9) 能夠使用內(nèi)置開關(guān)級(jí)原語,在開關(guān)級(jí)對(duì)設(shè)計(jì)進(jìn)行完整建模。(10) 同一語言可用于生成模擬激勵(lì)和指定測試的驗(yàn)證的約束條件。(11) Verilog HDL不僅能夠在RTL上進(jìn)行設(shè)計(jì)描述,而且能夠在體系結(jié)構(gòu)級(jí)和算法級(jí)的行為上進(jìn)行設(shè)計(jì)描述。(12) 能夠使用門和模塊實(shí)例化語句在結(jié)構(gòu)級(jí)上進(jìn)行結(jié)構(gòu)描述。(13) Verilog HDL具有混合方式建模的能力,即設(shè)計(jì)中每個(gè)模塊均可以在不同設(shè)計(jì)層次上建模。(14) Verilog HDL具有內(nèi)置算術(shù)運(yùn)算符、邏輯運(yùn)算符、位運(yùn)算符。(15) 用延遲表達(dá)式或事件表達(dá)式來明確地控制過程的啟動(dòng)時(shí)間。(16) 通過命名的事件來觸發(fā)其它過程里的激活行為或停止行為。 (17) 可描述順序執(zhí)行或并行執(zhí)行的程序結(jié)構(gòu),并且提供了條件、ifelse、case、循環(huán)程序結(jié)構(gòu)。 Verilog的基礎(chǔ)語法Verilog的設(shè)計(jì)初衷是成為一種基本語法與C語言相近的硬件描述語言。這是因?yàn)镃語言在Verilog設(shè)計(jì)之初,已經(jīng)在許多領(lǐng)域中得到廣泛應(yīng)用,C語言的許多語言要素已經(jīng)被許多人所習(xí)慣。一種與C語言相似的硬件描述語言,可以讓電路設(shè)計(jì)人員更容易學(xué)習(xí)和接受。不過,Verilog與C語言還是存在許多差別。另外,作為一種與普通計(jì)算機(jī)編程語言不同的硬件描述語言,它還具有一些獨(dú)特的語言要素,例如向量形式的線網(wǎng)和寄存器、過程中的非阻塞賦值等。總的來說,具備C語言的設(shè)計(jì)人員將能夠很快掌握 [7]。Verilog的基本設(shè)計(jì)單元是“模塊”(block)。一個(gè)模塊是由兩部分組成:一部分描述接口信息,另一部分描述邏輯功能,即定義輸入是如何影響輸出的。根據(jù)常見的VerilogHDL程序可以總結(jié)出以下特征[14]:(1) VerilogHDL程序是由模塊所構(gòu)成的。每個(gè)模塊的內(nèi)容都是嵌在module和 endmodule這兩個(gè)語句之間的,每個(gè)模塊實(shí)現(xiàn)特定的功能,模塊是可以進(jìn)行層次嵌套的。(2) 每個(gè)模塊首先要進(jìn)行端口定義,并說明輸入(input)和輸出(output),然后對(duì)模塊的功能進(jìn)行邏輯描述。(3) VerilogHDL程序的書寫格式自由,一行可以寫幾個(gè)語句,一個(gè)語句也可以分多行寫。(4) 除了endmodule語句外,每個(gè)語句的最后必須要加分號(hào)。(5) 可以用/* … */和/ / …對(duì)Verilog HDL程序的任何部分作注釋。由此我們可以得出VerilogHDL語言的基礎(chǔ)語法有以下幾點(diǎn)[14]:首先,VerilogHDL程序是由模塊構(gòu)成的。VerilogHDL結(jié)構(gòu)完全嵌在module和endmodule聲明語句之間,每個(gè)模塊實(shí)現(xiàn)特定的功能,模塊是可以進(jìn)行層次嵌套的。每個(gè)Verilog程序包括4個(gè)主要部分:端口定義,I/0說明,信號(hào)類型聲明和功能描述。在編寫VerilogHDL程序時(shí)還需要常量,參數(shù)(Parameter)型和變量。在程序運(yùn)行過程中,其值不能被改變的量稱為常量。參數(shù)型數(shù)據(jù)是一種常數(shù)型的數(shù)據(jù),用參數(shù)來定義常量,即用參數(shù)來定義一個(gè)標(biāo)識(shí)符代表一個(gè)常量,稱為符號(hào)常量。采用標(biāo)識(shí)符來代表一個(gè)常量,這樣可提高程序的可讀性和可維護(hù)性。參數(shù)型常數(shù)經(jīng)常用于定義延遲時(shí)間和變量寬度。變量是在程序運(yùn)行過程中其值是可以改變的量,在Verilog HDL中變量的數(shù)據(jù)類型有很多種,我們這里主要介紹三種:wire型變量、reg型變量和memory型變量。wire型表示結(jié)構(gòu)(例如門)之間的物理連接。wire型的變量不能儲(chǔ)存值,而且它必須受到驅(qū)動(dòng)器或連續(xù)賦值語句assign 的驅(qū)動(dòng)。如果沒有驅(qū)動(dòng)器連接到wire型變量上,則該變量就是高阻態(tài)。wire型數(shù)據(jù)常用來表示以assign關(guān)鍵字指定的組合邏輯信號(hào)。Verilog程序模塊中輸入輸出信號(hào)類型缺省時(shí)將自動(dòng)定義為wire型。wire型信號(hào)可以用作任何方程式的輸入,也可以用作“assign”語句或?qū)嵗妮敵?。reg型是寄存器數(shù)據(jù)類型的關(guān)鍵字。寄存器是數(shù)據(jù)儲(chǔ)存單元的抽象。通過賦值語句可以改變寄存器的值,其作用相當(dāng)于改變觸發(fā)器存儲(chǔ)器的值。reg型數(shù)據(jù)常用來表示always模塊內(nèi)的指定信號(hào),常代表觸發(fā)器。reg類型數(shù)據(jù)的缺省初始值為不定值x。memory型是通過擴(kuò)展reg型數(shù)據(jù)的地址范圍來生成的。由于Verilog HDL通過對(duì)reg型變量建立數(shù)組來對(duì)存儲(chǔ)器建模,可以描述RAM型存儲(chǔ)器,ROM存儲(chǔ)器和reg文件。數(shù)組中的每一個(gè)單元通過一個(gè)數(shù)組索引進(jìn)行尋址。但在Verilog語言中沒有多維數(shù)組存在,所以就需要memory型來生成。其次,在編寫VerilogHDL程序是還需要各種的運(yùn)算符。有算術(shù)運(yùn)算符(+,?,%等),位運(yùn)算符(amp。,~ 等),邏輯運(yùn)算符(amp。amp。,|| 等),關(guān)系運(yùn)算符( , 等),等式運(yùn)算符(= =,!= 等),移位運(yùn)算符( , 等),位拼接運(yùn)算符,縮減運(yùn)算符等[14]。在程序編寫的公式中如果用到多個(gè)運(yùn)算符,這時(shí)就需要按照每種運(yùn)算符的優(yōu)先級(jí)順序來進(jìn)行運(yùn)算。每種運(yùn)算符的優(yōu)先級(jí)別各不相同,優(yōu)先級(jí)從上到下依次遞減,最上面具有最高的優(yōu)先級(jí)。其中邏輯非運(yùn)算符的優(yōu)先級(jí)最高,邏輯或運(yùn)算符的優(yōu)先級(jí)最低。下表為各運(yùn)算符的優(yōu)先級(jí)別:! ~ / %+ ? = == = ! = = = = ! = =amp。^ ^ ~|amp。| |高低優(yōu)先級(jí)別圖25 各運(yùn)算符的優(yōu)先級(jí)別最后,在編寫VerilogHDL程序是還需要各種的語句。(1)賦值語句有兩種,一種是非阻塞賦值(non_blocking)(如b=a),同一個(gè)always塊內(nèi)的賦值語句操作可以同時(shí)進(jìn)行,只有塊結(jié)束后才完成賦值操作,b的值不會(huì)立即改變。還有一種是阻塞賦值(blocking)(如b=a),同一block內(nèi),后一語句的執(zhí)行必須等到前一語句執(zhí)行完才能執(zhí)行,賦值語句執(zhí)行完后,塊才結(jié)束,b的值在賦值語句執(zhí)行完后立刻就改變。(2)條件語句常用的也是兩種,一種是ifelse語句,if語句用來判定所給的條件是否滿足,根據(jù)判定的結(jié)果(真或假)決定執(zhí)行運(yùn)行的結(jié)果。if語句的表達(dá)式一般是邏輯表達(dá)式或關(guān)系表達(dá)式。另一種是case語句。case語句是一種多分支語句,可直接處理多分支選擇。(3)循環(huán)語句常用的有四種。forever語句是可以連續(xù)執(zhí)行的循環(huán)語句;repeat語句是可以連續(xù)執(zhí)行一條語句n次;while語句是執(zhí)行一條語句直到某個(gè)條件不滿足。如果一開始條件就不滿足(為假),則語句一次也不能被執(zhí)行;for語句需要三個(gè)步驟來完成循環(huán),第一步是先給控制循環(huán)次數(shù)的變量賦初值,第二步是判定控制循環(huán)的表達(dá)式的值,如為假就跳出循環(huán)語句,如為真則執(zhí)行指定的語句后,進(jìn)行第三步,第三步是執(zhí)行一條賦值語句來修正控制循環(huán)變量次數(shù)的變量的值,然后回到第二步繼續(xù)運(yùn)行。(4)結(jié)構(gòu)說明語句常用的有四種。initial語句是仿真開始時(shí)對(duì)各變量進(jìn)行初始化,只執(zhí)行一次;always語句在仿真過程中不斷重復(fù)執(zhí)行,但always后面跟著的過程塊是否執(zhí)行,就要看它的觸發(fā)條件是否滿足了;task和function說明語句分別用來定義任務(wù)和函數(shù),利用任務(wù)和函數(shù)可以把一個(gè)很大的程序模塊分解成許多小的任務(wù)和函數(shù)便于理解和調(diào)試[14]。 Verilog的語言優(yōu)勢Verilog HDL推出已經(jīng)有20年了,擁有廣泛的設(shè)計(jì)群體,成熟的資源也比其他語言豐富。Verilog更大的一個(gè)優(yōu)勢是,它非常容易掌握,只要有C語言的編程基礎(chǔ),通過比較短的時(shí)間,經(jīng)過一些實(shí)際的操作就可以在2~3個(gè)月內(nèi)掌握這種語言。而其他語言設(shè)計(jì)相對(duì)要難一點(diǎn),像VHDL語言,它不是很直觀,需要有Ada編程基礎(chǔ),至少需要半年以上的專業(yè)培訓(xùn)才能掌握。還有Verilog HDL允許對(duì)同一個(gè)電路進(jìn)行不同抽象層次的描述,包括開關(guān)級(jí)、門級(jí)、RTL級(jí)或者行為級(jí)描述電路;Verilog HDL不僅可以設(shè)計(jì)電路,也可以描述電路的激勵(lì),用于電路的驗(yàn)證;Verilog HDL是IEEE標(biāo)準(zhǔn),得到絕大多數(shù)EDA工具的支持;Verilog HDL設(shè)計(jì)具有工藝無關(guān)性,適合綜合設(shè)計(jì);有大量的單元庫資源;Verilog HDL類似編程,有利于開發(fā)調(diào)試,在設(shè)計(jì)前期就可以完成電路功能驗(yàn)證,減少費(fèi)用和時(shí)間;Verilog HDL與C語言有PLI接口,設(shè)計(jì)者可以通過編寫增加的C語言代碼來訪問Verilog內(nèi)部數(shù)據(jù)結(jié)構(gòu),擴(kuò)展語言的功能等。通過Verilog HDL和VHDL比較來看出Verilog語言的優(yōu)勢。目前版本的Verilog HDL和VHDL在行為級(jí)抽象建模的覆蓋面范圍方面有所不同。一般認(rèn)為Verilog在系統(tǒng)級(jí)抽象方面要比VHDL略差一些,但在門級(jí)開關(guān)電路描述方面要強(qiáng)的多。目前在美國,高層次數(shù)字系統(tǒng)設(shè)計(jì)領(lǐng)域中,應(yīng)用Verilog和VHDL的比率分別是80%和20%;日本和臺(tái)灣與美國差不多;但在歐洲VHDL發(fā)展的比較好。在中國很多集成電路設(shè)計(jì)公司都采用Verilog,但VHDL也有一定的市場??偟膩碚f,采用Verilog HDL設(shè)計(jì)時(shí)具有以下優(yōu)點(diǎn)[8]:(1)設(shè)計(jì)者可以在非常抽象的層次上對(duì)線路進(jìn)行描述而不必選擇特定的制造工藝。邏輯綜合工具可以將設(shè)計(jì)自動(dòng)轉(zhuǎn)換成任意一種制造工藝版圖。如果出現(xiàn)新的制造工藝,也不必對(duì)電路重新設(shè)計(jì),只要將RTL級(jí)描述輸入綜合工具,即可生成針對(duì)新的門級(jí)網(wǎng)表。這種設(shè)計(jì)使得工程師在功能設(shè)計(jì)、邏輯驗(yàn)證階段,可以不必過多得考慮門級(jí)及工藝實(shí)現(xiàn)的具體細(xì)節(jié),只需要利用系統(tǒng)設(shè)計(jì)時(shí)對(duì)芯片的要求,施加不同的約束條件即可。(2)設(shè)計(jì)者可以在設(shè)計(jì)周期的早期對(duì)電路的功能進(jìn)行仿真驗(yàn)證??梢院苋菀椎膶?duì)RTL級(jí)描述進(jìn)行優(yōu)化和修改,這樣可以在初期發(fā)現(xiàn)和排除絕大多數(shù)的設(shè)計(jì)錯(cuò)誤,大大降低了在設(shè)計(jì)后期的門級(jí)網(wǎng)表和版圖上出錯(cuò)的可能性,避免設(shè)計(jì)過程的反復(fù),縮短了設(shè)計(jì)周期。(3)使用Verilog進(jìn)行編寫程序,帶有文字注釋的源程序非常方便修改。與門級(jí)電路圖相比,能夠?qū)﹄娐愤M(jìn)行更加簡明扼要的描述。更加便于理解。對(duì)于復(fù)雜的設(shè)計(jì),如果用門級(jí)原理圖來表達(dá),幾乎是無法理解的。(4)Verilog 是一種通用的硬件描述語言,易學(xué)易用??梢栽诓煌橄髮哟紊蠈?duì)電路進(jìn)行描述。絕大多數(shù)流行的綜合工具都支持Verilog,所有的制造商也都提供Verilog綜合之后仿真的原件庫。 3 FPGA的簡介 FPGA的發(fā)展歷程FPGA并非是近幾年來才有的,F(xiàn)PGA一詞于1984年就已經(jīng)出現(xiàn),至今已經(jīng)超過20年以上的時(shí)間,不過過去十多年內(nèi)FPGA都未受到太多的重視,原因是FPGA的功耗用電、電路密度、頻率效能、電路成本等都不如ASIC,而在這十多年內(nèi),F(xiàn)PGA多半只用在一些特殊的領(lǐng)域,例如芯片業(yè)者針對(duì)新產(chǎn)品測試市場反應(yīng),即便初期產(chǎn)品未能達(dá)到量產(chǎn)規(guī)模,也能先以FPGA制成產(chǎn)品進(jìn)行測試。 有些芯片設(shè)計(jì)公司承接了一些小型的設(shè)計(jì)項(xiàng)目,在量產(chǎn)規(guī)模不足的情況下也一樣使用FPGA,或如政府、軍方的特殊要求,不期望使用開放的芯片與電路,也會(huì)傾向使用FPGA。不過如前所述的,在愈來愈多芯片無法用開設(shè)掩膜的模式生產(chǎn)后,這些芯片又想上市,就只好以FPGA模式來生產(chǎn)。所幸FPGA也受益于摩爾定律,在工藝技術(shù)不斷的提升下,晶體管愈來愈縮密化,原本相較ASIC遜色的電路密度過低、頻率效能過低、電路成本過高等問題,在新一代FPGA上,早已拉近與ASIC間的表現(xiàn)差距。 正因如此,近年來FPGA不斷搶食ASIC市場,迫使ASIC業(yè)者不得不推出策略因應(yīng),最顯著的策略就是提出結(jié)構(gòu)化ASIC(Structured ASIC),或者也稱為平臺(tái)化ASIC(Platform ASIC),結(jié)構(gòu)化/平臺(tái)化ASIC,期望通過減少重新開設(shè)的掩膜數(shù)、減少電路修改成本及時(shí)間,使芯片可以更早上市。但結(jié)構(gòu)化和平臺(tái)化ASIC只是減少重開掩膜的張數(shù),并不能完全免除掩膜的使用,加上配套的設(shè)計(jì)工具(EDA)與已有數(shù)十年運(yùn)用的ASIC、FPGA相比,明顯不夠完備,后勢發(fā)展與市場接受度尚待時(shí)間考驗(yàn)。特別是LSI Logic(巨積科技)、NEC Electronics(NEC電子)等大廠紛紛退出后,結(jié)構(gòu)化ASIC的推行氣勢就更為薄弱[9]。 當(dāng)然,F(xiàn)PGA因?yàn)檠谀さ某杀九噬约澳柖啥饾u走俏,成本、效能等特性表現(xiàn)也逐漸改善,但依然有一點(diǎn)是FPGA持續(xù)低弱的,那就是功耗用電。就一般而言,要實(shí)現(xiàn)相同的功效電路,用FPGA實(shí)現(xiàn)的功耗用電是ASIC的15倍之高。 FPGA的產(chǎn)品特性及發(fā)展現(xiàn)狀FPGA的產(chǎn)品特性[3]有:(1)開發(fā)周期短因?yàn)镕PGA很容易用電學(xué)方法在芯片上印制出電路圖形,比通常的掩膜編程快的多,若采用掩膜編程一般需幾個(gè)星期才能完成的設(shè)計(jì),采用FPGA只需幾天甚至幾個(gè)小時(shí)就可完成,大大縮短了開發(fā)周期。(2)降低開發(fā)費(fèi)用因?yàn)镕PGA具有可測性及重復(fù)編程能力,如果產(chǎn)品在出廠前發(fā)現(xiàn)了程序上的錯(cuò)誤,可隨時(shí)修改,擦除重作,更準(zhǔn)確地完成設(shè)計(jì),不會(huì)導(dǎo)致產(chǎn)品的報(bào)廢,另外,F(xiàn)PGA母片在出廠時(shí)可進(jìn)行100%的測試,因此用戶幾乎不需負(fù)擔(dān)“NRE”(非循環(huán)工程)的費(fèi)用。(3)用戶沒有投片的風(fēng)險(xiǎn)準(zhǔn)備批量生產(chǎn)的ASIC電路在試投片前,可用FPGA來驗(yàn)證電路的功能,大大降低了投片的風(fēng)險(xiǎn)。(4)使用靈活FPGA內(nèi)部有豐富的觸發(fā)器、輸入輸出引線,每個(gè)引線可具有不同的功能,所以使用非常的靈活。(5)FPGA器件采用高速(HCMOS)工藝,功耗低且可與CMOS、TTL電平兼容。由于FPGA的這些特性,使得近5年來,
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1