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

正文內(nèi)容

i2c總線控制器的pfga畢業(yè)設(shè)計(參考版)

2024-12-05 21:54本頁面
  

【正文】 第四章 I2C 總線控制器的總體方案設(shè)計 23 第 四 章 I2C 總線 控制器的總體方案設(shè)計 I2C 總線接口端口映射 I2C 總線接口 外部 端口映射如圖 51 所示,共有 10 個端口,各端口定義如表 41 所示。 if..else… if 必須順序執(zhí)行,否則其功能就沒有任何意義。請注意,兩個或更多的 always 模塊也是同時執(zhí)行的,但是模塊內(nèi)部的語句是順序執(zhí)行的。 然而,在 alway”模塊內(nèi),邏輯是按照指定的順序執(zhí)行的。也就是說,如果把這三項寫到一個 veriIog 模塊文件中去,它們的次序不會影響邏輯實現(xiàn)的功能。上面三個例子分別采用了 assign 語句、實例元件和 always塊。如按一定的風格來編寫 always 塊,可以通過綜合工具把源代碼自動綜合成用門級結(jié)構(gòu)表示的組合或時序邏輯電路。上面的例子用 always 塊生成了一個帶有異步清除端的 D 觸發(fā)器 。 end 采用 assign 語句是描述組合邏輯最常用的方法之一。 3) 用 always 塊 always (敏感信號表達式 ) 如: always (posedge clk or posedge clr) begin if(clr) q = 0。鍵入元件的名字和相連的引腳即可,表示在設(shè)計中用到一個跟與門( and)一樣的名為 and_inst的與門,其輸入端為 a, b,輸出為 q。 2) 用實例元件 如: and and_inst( q, a, b )。 這種方法的句法很簡單,只需寫一個 assign,后面再加一個方程式即可。 1) 用 assign 聲明語句 assign 結(jié)果信號名 =表達式 如: assign a = b amp。 I/O 說明的格式如下: 輸入口: input 輸入端口列表; 輸出口: output 輸出端口列表; 用 wire、 reg、 task、 function 定義數(shù)據(jù)、信號類型、函數(shù)聲明; wire 結(jié)果信號名; 功能定義 : 模塊中最重要的部分是邏輯功能定義部分 。其格式如下: module 模塊名 (輸入輸出端口列表 )。 2) 設(shè)計驗證:也就是進行各種仿真的一系列步驟,如果在仿真過程中發(fā)現(xiàn)問題就返回設(shè)計輸入進行修改。 EDA 工具 往往不僅支持 HDL描述也支持電路圖輸入 , 有效地利用這兩種方法是提高設(shè)計效率的辦法之一。而當設(shè)計的層次比較接近底層時行為描述往往需要用電路邏輯來實現(xiàn),這時的模塊不僅需要通過仿真加以驗證,還需進行綜合、優(yōu)化、布線和后仿真。 具體模塊的設(shè)計編譯和仿真的過程 在不同的層次做具體模塊的設(shè)計所用的方法也有所不同,在高層次上往往編寫一些行為級的模塊通過仿真加以驗證,其主要目的是系統(tǒng)性能的總體考慮和各模塊的指標分配,并非具體電路的實現(xiàn)。在不同的層次都可以進行仿真以對設(shè)計思想進行驗證。如此下去,完整的硬件設(shè)計就可以由圖 261 所示的設(shè)計樹描述。這些模塊稱為該層次的基本單元。硬件的描述特別是行為描述通常稱為行為建模。 層次管理的基本概念 復雜數(shù)字邏輯電路和系統(tǒng)的層次化、結(jié)構(gòu)化設(shè)計隱含著硬件設(shè)計方案的逐次分解。隨著系統(tǒng)變得復雜和龐大,特別需要在樣機問世之前,對產(chǎn)品的全貌有一定的預見性。 系 統(tǒng) 級 設(shè) 計模 塊 B模 塊 A 模 塊 C模 塊A 2模 塊A 1模 塊A 3模 塊B 1模 塊B 2模 塊C 1模 塊C 2 圖 31 TOP_DOWN 設(shè)計思想 自頂向下的設(shè)計(即 TOP_DOWN 設(shè)計)是從系統(tǒng)級開始,把系統(tǒng)劃分為基本單元,然后 再把每個基本單元劃分為下一層次的基本單元,一直這樣做下去,直到可以直接用 EDA 元件庫中的元件來實現(xiàn)為止。利用層次化、結(jié)構(gòu)化的設(shè)計方法,一個完整的硬件設(shè)計任務首先由總設(shè)計師劃分為若干個可操作的模 塊,編制出相應的模型(行為的或結(jié)構(gòu)的),通過仿真加以驗證后,再把這些模塊分配給下一層的設(shè)計師,這就允許多個設(shè)計者同時設(shè)計一個硬件系統(tǒng)中的不同模塊,其中每個設(shè)計者負責自己所承擔的部分;而由上一層設(shè)計師對其下層設(shè)計者完成的設(shè)計用行為級上層模塊對其所做的設(shè)計進行驗證。目前國際上有一個叫作虛擬接口聯(lián)盟的組織( Virtual Socket Interface Alliance)來協(xié)調(diào)這方面的工作。而把由軟核構(gòu)成的器件稱為虛擬器件 , 在新電路的研制過程中,軟核和虛擬器件可以很容易地借助 EDA 綜合工具與其它外部邏輯結(jié)合為一體。由于 Verilog HDL 設(shè)計方法的與工藝無關(guān)性,因而大大提高了 Verilog HDL 模型的可重用性。 Verilog HDL 的標準化 Verilog HDL 是在 1983 年由 GATEWAY 公司首先開發(fā)成功的,經(jīng)過諸多改進,于 1995 年 11 月正式被批準為 IEEE 標準 1364。這使得工程師在功能設(shè)計、邏輯驗證階段,可以不必過多考慮門級及工藝實現(xiàn)的具體細節(jié),只需要利用系統(tǒng)設(shè)計時對芯片的要求,施加不同的約束條件,即可設(shè)計出實際電路。 有關(guān)工藝參數(shù)的描述可以通過 Verilog HDL 提供的屬性包括進去,然后利用不同廠家的布局布線工具,在不同工藝的芯片上實現(xiàn)。而采用 Verilog HDL 輸入法時,由于 Verilog HDL 的標準化,可以很容易地把完成的設(shè)計移植到不同的廠家的不同的芯片中去 ,并在不同規(guī)模應用時可以較容易地作修改。這些因素促使設(shè)計人員采用高水準的設(shè)計工具,如:硬件描述語言 (Verilog HDL 或 VHDL)來進行設(shè)計。這種低水平的設(shè)計方法大大延長了設(shè)計周期。為了滿足設(shè)計性能指標,工程師往往需要花好幾天或更長的時間進行艱苦的手工布線。 Verilog HDL 較為適合系統(tǒng)級 (System)、算法級 (Alogrithem)、寄存器傳輸級(RTL)、邏輯級 (Logic)、門級 (Gate)、電路開關(guān)級 (Switch)設(shè)計,而對于特大型(幾百萬門級以上)的系統(tǒng)級 (System)設(shè)計 , 則 VHDL 更為適合,由于這兩種 HDL語言還在不斷地發(fā)展過程中,它們 都會逐步地完善自己。在亞微米和深亞微米 ASIC 和高 密度FPGA 已成為電子設(shè)計主流的今天, Verilog HDL 的發(fā)展前景是非常遠大的。由于 Verilog HDL 在其門級描述的底層,也就是在晶體管開關(guān)的描述方面比 VHDL 有強得多得功能,所以即使是 VHDL 的設(shè)計環(huán)境,在底層實質(zhì)上也是由 Verilog HDL 描述的器件庫所支持的。在美國,在高層邏輯電路設(shè)計領(lǐng)域Verilog HDL 和 VHDL 的應用比率是 60%和 40%,在臺灣省各為 50%,在中國大陸目前由于 Verilog HDL 和 VHDL 的使用才剛剛開始,具體應用比率還沒有統(tǒng)計。本書主要介紹如何來編寫可綜合風格的 Verilog HDL 模塊,如何借助于 Verilog 語言對所設(shè)計的第三章 Verilog 語言基礎(chǔ) 16 復雜電 路進行全面可靠的測試。把硬件描述語言用于自動綜合還只有短短的六、七年歷史。進入 80 年代后期,硬件描述語言向著標準化的方向發(fā)展。到 80 年代時,已出現(xiàn)了上百種硬件描述語言,它們對設(shè)計自動化起到了極大的促進和推動作用。據(jù)統(tǒng)計,在美國硅谷目前約有 90%以上的 ASIC 和 FPGA 已采用硬件描述語言方法進行設(shè)計。它可以使數(shù)字邏輯電路設(shè)計者利用這種語言來描述自己的設(shè)計思想 ,然后利用電子設(shè)計自動化 (在下面簡稱為 EDA)工具進行仿真,再自動綜合到門級電路,再用 ASIC 或 FPGA 實現(xiàn)其功能。電路的實現(xiàn)則可借助于綜合工具和布局布線工具(與具體工藝技術(shù)有關(guān))來自動地完成。在數(shù)字邏輯設(shè)計領(lǐng)域,迫切需要一種共同的工業(yè)標準來統(tǒng)一對數(shù)字邏輯電路及系統(tǒng)的描述,這樣就能把系統(tǒng)設(shè)計工作分解為邏輯設(shè)計(前端)和電路實現(xiàn)(后端)兩個互相獨立而又相關(guān)的部分。設(shè)計并驗證這樣復雜的電路及系統(tǒng)已不再是簡單的個人勞動,而需要綜合許多專家的經(jīng)驗和知識才能夠完成。 圖 22 編譯設(shè)計文件 啟動仿真 啟動仿真如下所示: 第二章 FPGA 及其軟件工具 Modelsim 13 工作庫下的設(shè)計實體: 添加波形: 第二章 FPGA 及其軟件工具 Modelsim 14 仿真波形圖: 第三章 Verilog 語言基礎(chǔ) 15 第三章 Verilog 語言基礎(chǔ) Verilog 語言基礎(chǔ) 概述 [3] 隨著電子設(shè)計技術(shù)的飛速發(fā)展,專用集成電路 (ASIC)和用戶現(xiàn)場可編程門陣列( FPGA)的復雜度越 來越高。 Modelsim軟件的界面 Modelsim 軟件的 界面如圖 31 所示。 PE 版是個人版,僅支持 PC 系統(tǒng),功能和速度均不及 SE 版本。 Modelsim 的版本很多,常見的是 Modelsim SE、 Modelsim PE 和 Modelsim AE版本。它采用直接優(yōu)化的編譯技術(shù)、Tcl/Tk 技術(shù)和單一內(nèi)核仿真技術(shù),編譯仿真速度快,編譯的代碼與平臺無關(guān),便于保護 IP 核。它提供友好的調(diào)試環(huán)境,是唯一的單內(nèi)核支持 VHDL 和 Verilog 混合仿真仿真軟件。幾乎所有應用門陣列、 PLD 和中小規(guī)模通用數(shù)字集成電路的場合均可應用 FPGA 和 CPLD 器件 [1]。這兩種 器件兼容了 PLD 和通用門陣列的優(yōu)點,可實現(xiàn)較大規(guī)模的電路,編程也很靈活。 第二章 FPGA 及其軟件工具 Modelsim 11 為了彌補這一缺陷, 20 世紀 80 年代中期。它采用了 EEPROM 工藝,實現(xiàn)了電可擦除、電可改寫,其輸出結(jié)構(gòu)是可編程的邏輯宏單元,因而它的設(shè)計具有很強的靈活性,至今仍有很多人使用。 PLA 器件既有現(xiàn)場可編程的,也有 掩??删幊痰?。 PAL 器件是現(xiàn)場可編程的,它的實現(xiàn)工藝有反熔絲技術(shù)、 EPROM 技術(shù)和 EEPROM 技術(shù)。 這一階段的產(chǎn)品主要有 PAL(Programmable Array Logic,可編程陣列邏輯 )和 GAL(Generic Array Logic,通用陣列邏輯 )。 隨后,出現(xiàn)了一類結(jié)構(gòu)上稍微復雜的可編程芯片,即可編程邏輯器件( PLD, Programmable Logic Device) , 它能完成各種復雜的可編程功能。 早期的可編程邏 輯器件只有可編程只讀存儲器( PROM)、紫外線可擦除只讀存儲器( EPROM)和電可擦除只讀存儲器( EEPROM)三種。此外,現(xiàn)代產(chǎn)品的生命周期都很短,一個電路可能需要在很短的周期內(nèi)做改動以滿足新的功能需求,對于采用通用的數(shù)字集成電路設(shè)計的電路系統(tǒng)來說即意味著重新設(shè)計和重新布線。 I2C 地址的分配由 I2C 總線委員會協(xié)調(diào),保留的兩組 8 位地址為 0000xxxx和 1111xxxx, I2C 總線委員會規(guī)定的保留地址定義見表 11。 從機地址由一個固定和一個可編程的部分構(gòu)成,由于很可能在一個系統(tǒng)中有幾個同樣的器件,從機地址的可編程部分使最大數(shù)量的這些器件可以連接到 I2C總線上。 L S BM S BR / W從 機 地 址 圖 16 I2C 總線在起始條件后的第一個字節(jié) 第一個字節(jié)的最低位是 0 表示主機會寫數(shù)據(jù)到 被選中的從機(主機發(fā)送器 /從機接收器),最低位是 1 表示主機從從機讀取數(shù)據(jù)(主機接收器 /從機發(fā)送器)。廣播呼叫地址是用來尋址連接到 I2C 總線上的每個器件,但是如果器件在廣播呼叫結(jié)構(gòu)中不需要任何器件,它可以通過不發(fā)出響應來忽略這個地址;如果器件要求從廣播呼叫地址得到數(shù)據(jù),它會響應這個地址并作為從機接收器工作。 I2C 總線的地址與尋址 正如上一節(jié)所介紹的, I2C 總線的尋址過程是通常在起始條件后的第一個字節(jié)決定主機選擇哪一個從機,例外的情況是可以尋址所有器件的廣播呼叫地址。接收器每收到 發(fā)送器發(fā)出的一 個字節(jié),就在 SCL 的第 9 個時鐘發(fā)出一個 ACK 響應信號。圖 15 對I2C 總線上數(shù)據(jù)傳送的過程進行了描述,需要指出的是,此處的 SDA 和 SCL 事發(fā)送器的 SDA、 SCL 是發(fā)送器的 SDA、 SCL 與接收器的 SDA、 SCL 線與后的結(jié)果。 如果傳輸中有主機接收器,也就是說主機從從機讀取數(shù)據(jù),則主機必須在讀取最后一個字節(jié)后不產(chǎn)生響應信號來通知發(fā)送器數(shù)據(jù)讀取 結(jié)束。這種情況用從機在第一個字節(jié)后沒有產(chǎn)生響應來表示。主機會產(chǎn)生一個停止條件終止傳輸,或者產(chǎn)生重復起始條件開始一次新的傳輸過程。圖 14 所示描述了 I2C 總線在數(shù)據(jù)傳輸過程中,響應信號與傳輸時鐘信號 SCL 之間的時序關(guān)系。而在響應時鐘 脈沖期間接收器必須將 SDA信號線拉低,以使得 SDA 在響應時鐘脈沖的高電平期間保持穩(wěn)定的低電平狀態(tài)。響應信號 ACK 在 I2C 總線數(shù)據(jù)傳輸過程中十分重要,數(shù)據(jù)傳輸必須有響應信號。 在 I2C 總線的數(shù)據(jù)傳輸過程中,發(fā)送到 SDA 信號線上的每個字節(jié)必須為 8位,其中首先傳輸?shù)?是 數(shù)據(jù) 的最高位 MSB,最后傳輸?shù)氖亲畹臀?LSB。此外,主機作為發(fā)送器和主機作為接收器時, SDA 信號線上的響應信號 有較大區(qū)別,將在以下敘述)。方向位為“ 0”表示發(fā)送,即主機器件把數(shù)據(jù)寫到從機器件中,此時主機作為發(fā)送器而從機作為接收器;當方向位為“ 1” 表示接受,即
點擊復制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1