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

正文內(nèi)容

第六章verilog的數(shù)據(jù)類型及邏輯系統(tǒng)-資料下載頁

2025-08-01 13:21本頁面
  

【正文】 $width( posedge clk, 25)。 endspecify endmodule 在條件時序檢查中,是否進行時序檢查取決于條件表達式的計算值 專用操作符 amp。amp。amp。在時序檢查中設置條件。 只當條件表達式為真時才進行時序檢查 當 rst為高時進行setup和 hold檢查 width檢查與 rst無關 時序檢查 — 條件時序檢查 條件表達式中條件只能是一個標量信號,這個信號可以: ? 用位反操作符( ~)取反。 ? 用等于操作符( = =或! =)與一個標量常量進行比較 ? 用相同操作符 (===或! ==)與一個標量常量進行比較 ? 若條件表達式計算值為 x或 z則認為條件成立。 由于條件時序檢查的條件表達式中只能有一個信號,因此需要多個信號產(chǎn)生條件時必須使用啞邏輯使將它們表達為一個內(nèi)部信號表示才能用于條件時序檢查。 SDF(Stand Delay Format)文件 ? 增量或絕對延時,如模塊路徑,器件、內(nèi)部連接和端口 (包括輸入端口延時) ? 時序檢查,如 setup, hold, recovery, skew, width period ? 時序約束,如 path ? 條件或無條件模塊路徑延時 ? 設計、實例、類型或庫的專用數(shù)據(jù) ? 比例、環(huán)境、工藝及用戶定義基本單元 標準延時格式( SDF)是一種標準的,與工具無關的表示時序數(shù)據(jù)的文本格式。 SDF文件通常用于 Verilog仿真。教程不對 SDF做詳細介紹。 應注意的是, Verilog仿真器必須能夠將 SDF文件中的數(shù)據(jù)標注用于仿真。這些數(shù)據(jù)包括: SDF允許不同工具共享延時數(shù)據(jù)??梢詫㈥P鍵路徑信息由綜合器傳遞給布局布線工具,也可將內(nèi)部連接線延時信息由布局布線工具反傳給仿真器。 內(nèi)部連接延時 內(nèi)部連接延時是對器件之間連接線延時的估算。例如: (INSTANCE ) (DELAY (ABSOLUTE (INTERCONNECT u1. u2. u3. o1 u1. u4. i3 (5: 6: 7) (: 6: ) ) ) ) 內(nèi)部連接延時 上面的例子中的內(nèi)部連接延時說明了一個 input到 output連接的線延時。 延時分上升、下降和關斷延時,每種延時又有最好、典型和最壞值。 ? 限定于敏感邊沿的 iopath,時鐘到輸出;用上升、下降的最好、典型、最壞值說明。 ? 條件 iopath, input到 output;用上升、下降和關斷的最好、典型、最壞值說明 IOPATH延時 IOPATH延時是器件從輸入端口到輸出端口的一個合法路徑上的延時。 例如: (INSTANCE ) (DELAY (ABSOLUTE ( IOPATH in o1 (1:2:3) (1:3:4)) ( IOPATH(posedge ck) o1 (2:3:4) (4:5:6)) ( COND en (IOPATH in o2(2:4:5) (4:5:6) (4:5:7) ) ) ) IOPATH延時 ? 端口 IOPATH,從輸入到輸出;用最好、典型和最壞值說明上升和下降延時。 ? 限定敏感邊沿的 IOPATH,從時鐘到輸出,用最好、典型和最壞值描述其上升和下降延時。 ? 條件 IOPATH,從輸入到輸出;用最好、典型和最壞值描述其上升、下降和關斷延時。 在上面 IOPATH延時的例子中包括: 在上面 IOPATH延時的例子中,實例 需要一個如下面所示的specify塊用于反標注。 specify ( in = o1) = (1: 2: 3, 1: 3: 4)。 ( ck = o1) = (2: 3: 4, 4: 5: 6)。 if ( en ) ( in = o2) = (2: 4: 5, 4: 5: 6, 4: 5: 7)。 endspecify SDF文件中的時序信息覆蓋specify塊中的時序信息 注意: 復習 問題: ? 哪一種延時說明是最精確的? ? 怎樣防止一個結構化零延時反饋? ? 為什么不能在 specify塊中使用模塊參數(shù) (parameter)? ? Verilog仿真時在哪里說明一個線延時? ? Verilog仿真時在哪里說明時序檢查? 解答: ? 在 specify塊中說明的延時信息是最精確的。因為可以說明 pintopin的路徑延時 ? 在門加上一個 延時來防止零延時組合邏輯反饋。 ? 模塊延時在每次實例化時都復制一份。而低層元件必須大量應用參數(shù),并且其實例化次數(shù)也非常多。因此使用 specparam節(jié)省了大量存儲器。 ? 在 SDF文件中。在編譯或仿真時標注這些延時 ? 在 specify塊中描述,可以由 SDF文件中的時序檢修改或代替。 第九章 編譯控制的使用 學習目標: ? 開發(fā)商提供的 Verilog庫 ? 用 Verilog庫仿真 ? Verilog源代碼加密 ? 其它仿真器相關的問題 術語及定義 ? PLI:編程語言接口,基于 C的過程訪問 Verilog數(shù)據(jù)結構 ? UDP:用戶定義的基本單元,用戶定義的門級組合的及時序 的 Verilog基本單元。 ? VHDL: VHSIC HDL,類似 Ada的高級 VLSI設計語言 Verilog模型庫 ? ASIC和 FPGA開發(fā)商開發(fā)并提供工藝專用庫 ? 設計人員以庫中的元件建立網(wǎng)表 ? 仿真器在編譯時掃描模型庫尋找實例化模塊 合成庫可以支持多種工具,例如它可以包含下列工具所需要的信息 ? 仿真器(如 VerilogXL和 NC Verilog) ? 綜合器(如 Ambit) ? 時序分析器(如 Pearl) ? 故障仿真( VerifaultXL) 開發(fā)商提供了大量的 Verilog庫。這些庫并不是 Verilog仿真器專用的,但其庫管理格式都基于 VerilogXL風格。 庫中每個元件都包括功能及工具專用的時序及工藝信息。 元件庫建模 建立 Verilog模型庫,需要: ? 每個元件(或單元)用一個 module描述 ? 將相關的 module放在同一個文件或 同一個目錄中 當把 module放到同一個目錄時, 文件名應與 module名相同。 文件名的擴展名是可選的 可以用兩種抽象級描述庫單元 ? 結構級 – 用 Verilog基本單元或 UDP – 用于描述組合邏輯或簡單的時序邏輯 ? 行為級 – 用過程塊或賦值語句 – 用于描述大的或復雜的元件,如 RAM或 ROM 元件庫建模(續(xù)) 庫單元的特點: ? 每個庫單元的描述在編譯指導 `celldefine和 `endcelldefine之間 ? 每個庫單元的描述有兩部分: – 功能描述 – 時序描述 `celldefine `timescale 1ns / 100ps module full_adder( cout, sum, a_in, b_in, c_in)。 input a_in, b_in, c_in。 output cout, sum。 // 功能描述 . . . // 時序描述 ... endmodule `endcelldefine 在模塊定義之前插入 `timescale定義單元所使用的時間單位和精度 Verilog庫的使用 在 Cadence Verilog仿真器中使用 Verilog庫: ? 使用庫文件 – 在命令行中使用選項: v file_name ? 使用庫目錄 – 在命令行中使用選項 –y directory_name – 在命令行中使用選項 +libext+file_extension 在使用庫目錄時,如果每個文件都有一個擴展名,則在 Cadence Verilog仿真器 必須用 +libext選項指定其擴展名。 仿真器中沒有缺省地使用 .v作擴展名 使用 v或 y選項指定庫時,只編譯那些設計中用到的模塊。如果在命令行中直接輸入庫文件名而沒有使用 v選項 (或在文件中使用編譯指導`include),則庫中所有模塊都被編譯。使用選項大大壓縮編譯時間及內(nèi)存空間。在 NC Verilog中也壓縮了使用的磁盤空間。 庫文件掃描 每一個 v選項指定一個庫文件 verilog test. v design. v v library_file. v module and2(...)。 . . . endmodule module mux(...)。 . . . endmodule module dff(...)。 . . . endmodule 庫目錄掃描 每一個 y選項指定一個庫目錄。 +libext+選項指定有效的文件擴展名。 verilog test. v design. v y library_ directory +libext+. v Verilog模型庫目錄 編譯指導 `uselib ? 定義設計中使用的庫元件(包括 UDP)的位置 ? 一直有效,直到遇到另一個 `uselib或 `resetall ? 覆蓋任何命令行選項中庫的設置。也就是說如果不能在 `uselib指定的位置找到元件,仿真器不會再按命令行中 v或 y選項去尋找。 `uselib語法 `uselib library_reference library_reference 其中, library_reference可以是: file = file_name_path dir = directory_name_path libext = .file_extension 注意 : `uselib使用 .v作為缺省擴展名,如 y命令選項不同 使用空 `uselib或`resetall會產(chǎn)生什么效果? 在 `uselib中可以使用“ \ ‖進行多行說明 `uselib file=/usr1/chrisz/libs/ \ dir=/usr1/chrisz/libs/goo/libext=.v 恢復命令行 v和 y設置 編譯指導 `uselib使用舉例 module adder (c_out, sum, a, b, c_in)。 output c_out, sum。 input a, b, c_in。 `uselib dir=/libs/FAST_LIB/ SN7486 u1 (half_sum, a, b)。 `uselib dir=/libs/TTL/ libext=. v file=/libs/TTL_U/ SN7408 u2 (half_c, a, b)。 SN7408 u3 (tmp, c_in, half_sum)。 SN7486 u4 (sum, c_in, half_sum)。 SN7432 u5 (c_out, tmp, half_c)。 endmodule `uselib 目錄庫 TTL中的單元可以使用文件庫 指定目錄庫 FAST_LIB中尋找實例 u1的定義 指定目錄庫 TTL及文件庫義 編譯指導 `uselib `define TTL_LIB dir=/libs/TTL/libext=. v `define TTL_UDP file=/ libs/ TTL_U/ `uselib `TTL_LIB `TTL_UDP 在 `uselib中庫的指定可以使用由 `define定義的宏進行文本替換。 在命令行中用 +define+選項給宏一個值。設計易于管理,可移植性高。 編寫與大小無關的源代碼 Verilog是對大小寫敏感的語言,如 sel和 SEL是不同的標識符 ? Verilog 關鍵字均使用小寫,如 input, output ? 標識符中大小寫都可以使用,但 Sel和 sel是不同的標識符 ? 仿真時使用 u選項進入大小寫不敏感模式。仿真器將所有標識符轉換為大寫形式,而關鍵字仍保持為小寫。 module MUX2_1 (out, a, b, sel)。 output out。 input a, b, sel。 not not1( SEL, sel)。 and and1( a1, a, SEL)。 and and2( b1, b, sel)。 or or1( out, a1, b1)。 endmodule 在正常情況下,左邊例子中 se
點擊復制文檔內(nèi)容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1