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

正文內容

數(shù)字集成電路設計入門--從hdl到版圖于敦山北大微電子學系(更新版)

2025-08-27 17:39上一頁面

下一頁面
  

【正文】 從 HDL到版圖 于敦山 北大微電子學系 課程內容 (一 ) ? 介紹 Verilog HDL, 內容包括: – Verilog應用 – Verilog語言的構成元素 – 結構級描述及仿真 – 行為級描述及仿真 – 延時的特點及說明 – 介紹 Verilog testbench ? 激勵和控制和描述 ? 結果的產生及驗證 – 任務 task及函數(shù) function – 用戶定義的基本單元 (primitive) – 可綜合的 Verilog描述風格 課程內容 (二 ) ? 介紹 Cadence Verilog仿真器 , 內容包括: – 設計的編譯及仿真 – 源庫 (source libraries)的使用 – 用 VerilogXL命令行界面進行調試 – 用 NC Verilog Tcl界面進行調試 – 圖形用戶界面 (GUI)調試 – 延時的計算及反標注 (annotation) – 性能仿真描述 – 如何使用 NC Verilog仿真器進行編譯及仿真 – 如何將設計環(huán)境傳送給 NC Verilog – 周期 (cycle)仿真 課程內容 (三 ) ? 邏輯綜合的介紹 – 簡介 – 設計對象 – 靜態(tài)時序分析 (STA) – design analyzer環(huán)境 – 可綜合的 HDL編碼風格 ? 可綜合的 Verilog HDL – Verilog HDL中的一些竅門 – Designware庫 – 綜合劃分 ? 實驗 (1) 課程內容 (四 ) ? 設計約束( Constraint) – 設置設計環(huán)境 – 設置設計約束 ? 設計優(yōu)化 – 設計編譯 – FSM的優(yōu)化 ? 產生并分析報告 ? 實驗 (2) 課程內容 (五 ) ? 自動布局布線工具 (Silicon Ensemble)簡介 課程安排 ? 共 54學時 (18) ? 講課, 27學時 – Verilog (5) – Synthesis (3) – Place amp。 為什么使用 HDL ? 使用 HDL描述設計具有下列優(yōu)點: – 設計在高層次進行,與具體實現(xiàn)無關 – 設計開發(fā)更加容易 – 早在設計期間就能發(fā)現(xiàn)問題 – 能夠自動的將高級描述映射到具體工藝實現(xiàn) – 在具體實現(xiàn)時才做出某些決定 ? HDL具有更大的靈活性 – 可重用 – 可以選擇工具及生產廠 ? HDL能夠利用先進的軟件 – 更快的輸入 – 易于管理 Verilog的歷史 ? Verilog HDL是在 1983年由 GDA(GateWay Design Automation)公司的Phil Moorby所創(chuàng)。這些抽象的級別包括: 系統(tǒng)說明 設計文檔 /算法描述 RTL/功能級 Verilog 門級 /結構級 Verilog 版圖 /物理級 幾何圖形 行為綜合 綜合前仿真 邏輯綜合 綜合后仿真 版圖 抽象級 (Levels of Abstraction) ? 在抽象級上需要進行折衷 系統(tǒng)說明 設計文檔 /算術描述 RTL/功能級 Verilog 門級 /結構級 Verilog 版圖 /物理級 幾何圖形 詳細程度 低 高 輸入 /仿真速度 高 低 抽象級 (Levels of Abstraction) Verilog可以在三種抽象級上進行描述 ? 行為級 – 用功能塊之間的數(shù)據(jù)流對系統(tǒng)進行描述 – 在需要時在函數(shù)塊之間進行調度賦值。 input a, b, sel。所有行為級結構在 testbench描述中都可以采用。描述中含有傳輸延時。 endmodule 綜合不支持 ! 僅需一種語言 ? Verilog的一個主要特點是可應用于各種抽象級。 基于事件仿真的時輪 (time wheel) ? 仿真器在編譯數(shù)據(jù)結構時建立一個事件隊列。 ? VerilogXL和 NC Verilog仿真器遵循 IEEE 1364 Verilog規(guī)范制定的基于事件的調度語義 ? 仿真器可用于 – 確定想法的可行性 – 用不同的方法解決設計問題 – 功能驗證 – 確定設計錯誤 仿真過程 ? Verilog仿真分下列步驟: – 編譯 ?讀入設計描述,處理編譯指導 (piler directive),建立一個數(shù)據(jù)結構定義設計的層次結構 ?這一步有時分為兩步: pilation, elaboration – 初始化 ?參數(shù)初始化;沒有驅動的 Net缺省值為 Z;其它節(jié)點初始值為 X。 4. 讀入、調度并根據(jù)事件執(zhí)行每一個語句 VerilogXL采用多種加速算法提高各種抽象級的仿真速度。其過程為: – ncvlog編譯 Verilog源文件,按照編譯指導 (pile directive)檢查語義及語法,產生中間數(shù)據(jù)。 當重新啟動仿真時,要對修改過的模塊重新編譯。 對 Verilog語言的支持 ? VerilogXL和 NC Verilog計劃支持 Verilog語言全集。對象的缺省設置是無操作。 波形顯示工具 —SignalScan signalscan amp。 SignalScan窗口包括: 注:必須用 Design Brower在波形窗口中添加信號。 $shm_save。 用戶必須在仿真前 (時間 0前 )設置探針信號才能看到信號在仿真過程中全部變化。 每個 node都是基于前面 scope的說明 (層次化的) ? scope參數(shù)缺省值為當前范圍 (scope)。 第四章 設計舉例 1. 進一步學習 Verilog的結構描述和行為描述 2. Verilog混合(抽象)級仿真 學習目標: 語言的主要特點 module(模塊 ) ? module能夠表示: – 物理塊,如 IC或 ASIC單元 – 邏輯塊,如一個 CPU設計的 ALU部分 – 整個系統(tǒng) ? 每一個模塊的描述從關鍵詞 module開始,有一個 名稱 (如SN74LS74, DFF, ALU等等),由關鍵詞 endmodule結束。 DFF d2 (d[ 2], clk, clr, q[ 2], qb[ 2])。每個實例都是模塊的一個完全的拷貝,相互獨立、并行。 wire out, a, b, sel。 ? 另一個模塊可以通過模塊名及端口說明使用多路器。 Test Fixture — 如何說明實例 module testfixture。 // Apply stimulus initial begin a = 0。 end // Display results endmodule Time Values a b sel 0 0 1 0 5 0 0 0 10 0 1 1 15 1 1 1 ? 例子中, a, b, sel說明為 reg類數(shù)據(jù)。 $monitor($time, “%b %h %d %o”, sig1, sig2, sig3, sig4)。 完整的 Test Fixture module testfixture。 5 b = 1。 // MUX instance MUX2_1 mux (out, a, b, sel)。 5 $finish。 $dumpon。 ? 仿真時定期的將數(shù)據(jù)保存到磁盤是一個好的習慣,萬一系統(tǒng)出現(xiàn)問題數(shù)據(jù)也不會全部丟失。 ? 就是說可以使用多條 $dumpvars語句,但必須從 同一時間 開始。 // Dump 有信號,以及信號 top. u1. u13. q。設計模塊又稱為 DUT,激勵模塊又稱為 testbench或 test fixture。 /* The list logic selects input ”a” when sel = 0 and it selects ”b” when sel = 1. */ not (sel_, sel)。缺省為 10進制 value: 是所選數(shù)基內任意有效數(shù)字,包括 X、 Z。整數(shù)表示為: – 數(shù)字中( _)忽略,便于查看 – 沒有定義大小 (size)整數(shù)缺省為 32位 – 缺省數(shù)基為十進制 – 數(shù)基 (base)和數(shù)字 (16進制 )中的字母無大小寫之分 – 當數(shù)值 value大于指定的大小時,截去高位。 and and1 (a1, a, sel_)。 and and1( a1, a, \~sel )。如: \~sel \busa+ index \{A,B} top.\ 3inst .1 // 在層次化名字中轉義符 轉義標識符必須以空格結束 語言專用標記 ( tokens) 系統(tǒng)任務及函數(shù) $identifier ? $符號指示這是系統(tǒng)任務和函數(shù) ? 系統(tǒng)函數(shù)有很多,如: – 返回當前仿真時間 $time – 顯示 /監(jiān)視信號值 ($display, $monitor) – 停止仿真 $stop – 結束仿真 $finish $monitor($time, “a = %b, b = %h”, a, b)。 and 2 and2( b1, b, sel)。 and `and_delay and1( a1, a, sel_)。 可以是相對路徑或絕對路徑 Timescale ? `timescale 說明時間單位及精度 格式: `timescale time_unit / time_precision 如: `timescale 1 ns / 100 ps time_unit: 延時或時間的測量單位 time_precision: 延時值超出精度要先舍入后使用 ? `timescale必須在模塊之前出現(xiàn) `timescale 1 ns / 10 ps // All time units are in multiples of 1 nanosecond module MUX2_1 (out, a, b, sel)。 – precision是仿真器的仿真時間步。 not (. . .) // or 12 STUs (rounded off) . . . endmodule 復習 1. Verilog中的空白符總是忽略的嗎? 2. 在源代碼中插入注釋有哪兩種方法? 3. 整數(shù)常數(shù)的尺寸如何指定?缺省的尺寸及數(shù)基是多少? 4. 設置的編譯指導如何解除? 5. 編譯指導影響全局嗎? 6. 在仿真時為什么要用接近實際的最大 timescale精度? 1. 是的。
點擊復制文檔內容
范文總結相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1