原创 system verilog後續複習(一)

一、interface 首先在testbench中使用.name(wire_name)進行信號之間的連接 sv中信號的連接方式: 1、.*(名字和位寬以及數據類型需要相同) module top; logic [1:0] gr

原创 system verilog後續複習(二)

數據類型: Fixed Size Array(定寬數組) 支持多維數組,超出邊界的寫會被忽略,超出邊界的讀會返回x(即使是二值邏輯),byte、shortint、int均存儲在32位中(unpacked array) int

原创 uvm實戰(32位全加器)

(1)首先寫明32位加法器的verilog代碼 (2)interface.sv(使用時鐘塊控制同步信號的時序) (3)my_transaction.sv(相當於數據包,具有生命週期,派生於uvm_object的派生類,uvm

原创 可編程邏輯及存儲器件

PLD(Programmable Array Logic)(用戶根據自己的需要,定義其邏輯功能的器件)集成度與性能方面的折中 (1)熔絲編程 (2)mos管 電路符號: 叉號表示連接狀態 簡單可編程邏輯器件(使用與-

原创 數電基礎複習(三)

時序邏輯器件: (1)基本雙穩態電(具有0,1兩種邏輯狀態,且一旦進入某一種狀態,就能長期保持該狀態不變的電路) (2)SR鎖存器 用或非門 用與非門 利用SR鎖存器,構成去抖動電路 門控SR鎖存器 D鎖存器

原创 數電基礎複習(二)

數字電路: 組合邏輯電路 (1)輸入、輸出之間沒有反饋延遲通路,信號的傳遞從輸入到輸出,是單方向的 (2)電路中不含記憶單元(即鎖存器和觸發器) (3)在任何時刻,電路的輸出狀態只取決於同一時刻的輸入狀態而與電路的原來的狀態無關

原创 數電基礎複習(一)

電信號: 模擬電信號:電壓或電流的幅值隨時間連續變化 數字電信號:電壓或電流在幅值和時間上都是離散的(可以是多值邏輯,一般採用二值邏輯) 主要參數: 幅值:高電平的電壓值 上升時間:上升沿從10%到90%所經歷的時間 下降時

原创 邊界掃描和JTAG端口

邊界掃描:通過在ASIC的I/O引腳插入邊界掃描單元(Boundary Scan cells),並在芯片周圍將他們連接成移位寄存器,從而將掃描鏈路加入網表中。 兩個多路選擇器控制了單元的數據通路: 正常模式:(1)當mode爲0

原创 leetcode(二)

1、平面上有 n 個點,點的位置用整數座標表示 points[i] = [xi, yi]。請你計算訪問所有這些點需要的最小時間(以秒爲單位) 你可以按照下面的規則在平面上移動: 每一秒沿水平或者豎直方向移動一個單位長度,或者跨過

原创 UVM(六)

UVM callback 如何改變driver的行爲? (1)使用UVM的factory機制和override機制實現(過多的擴展可能會引起繼承關係層次出現混亂,應該從哪個類進行擴展?) call back(回調) func

原创 leetcode(一)C

1、左旋轉字符串 字符串的左旋轉操作是把字符串前面的若干個字符轉移到字符串的尾部。請定義一個函數實現字符串左旋轉操作的功能。比如,輸入字符串"abcdefg"和數字2,該函數將返回左旋轉兩位得到的結果"cdefgab"。 char

原创 verification(二)

verilog connection review 1、兩個小模塊的連接 2、testbench與design連接 systemverilog: 1、*port connection 2、.name connection

原创 verification(一)

system verilog: 設計 驗證 assertion testbench 功能: 產生激勵(generate stimulus) 將激勵輸入至待測設計 獲取響應 檢查響應的正確性 根據驗證目標評估驗證進度(覆蓋率

原创 UVM(二)

UVM庫(在類庫中使用繼承和封裝) TLM(TLM是組件之間通信的標準) structural Elements(不同方法學的通用類:組件、信息系統、仿真階段等等) methodology(用戶實現平臺重用的主要接口,用戶可以在

原创 靜態時序分析

tclk:時鐘的最小週期 tcq:寄存器固有的時鐘輸出延時 tlogic:同步元件之間的組合邏輯延遲 tnet:網線的延遲 tsu:寄存器固有的時鐘建立時間 thold:寄存器的保持時間 在建立時間和保持時間都滿足的情況下,輸入