1.需要對原有架構(gòu)、規(guī)格、關(guān)鍵電路非常熟悉。多次實踐證明不清楚原有設(shè)計的情況下做出的方案,往往只會越改越爛。判斷是否熟悉的標準是能夠講清楚整個模塊代碼->能夠自己畫出整個微架構(gòu)->能夠提出有效的PPA優(yōu)化方案。其實這一條經(jīng)驗是并不特指高頻設(shè)計,是做好設(shè)計的基本功,缺陷率高同學(xué)往往...
SystemVerilog提供四種不同的實例之間的通信或連接方式:端口、句柄、全局變量、直接層次引用。?端口是靜態(tài)實例世界的成員之間的連接,如module和interface實例。因此,它們可能不會在動態(tài)實例世界類中使用。UVM提供了諸如uvm_tlm_put_port等端口的概...
在這個大數(shù)據(jù)時代,很多數(shù)據(jù)背后都蘊含著無限的價值,芯片EDA驗證過程中產(chǎn)生的數(shù)據(jù)也是一樣。?驗證設(shè)計包括兩個部分:輸入激勵的產(chǎn)生和設(shè)計響應(yīng)的分析。輸入激勵部分將設(shè)計置于特定狀態(tài),然后響應(yīng)分析部分執(zhí)行驗證,即數(shù)據(jù)比對。testbench的分析部分由監(jiān)測輸出行為和判斷設(shè)計是否符合其規(guī)...
我在測試行業(yè)摸爬滾打7年,從點點點的功能測試到現(xiàn)在成為高級測試,工資也翻了幾倍。個人覺得,測試的前景并不差,只要自己肯努力。(這里可以類比純黑盒IC驗證)。我剛出來的時候是在鵝廠做外包的功能測試,天天點點點,很悠閑,點了兩年,發(fā)覺這樣下去會廢,然后就開始學(xué)習(xí)python,java...
真相只有一個,之所以你很少關(guān)心CPU是因為:編譯器和操作系統(tǒng)替你關(guān)心了。如果你的工作是編寫編譯器或者操作系統(tǒng)那么不關(guān)心CPU是寸步難行的,編寫編譯器不理解CPU怎么生成機器指令?不理解CPU怎么優(yōu)化機器指令?編寫操作系統(tǒng)不理解CPU怎么實現(xiàn)操作系統(tǒng)的初始化任務(wù)?怎么才能實現(xiàn)線程切...
如果testbench中monitor的數(shù)據(jù)有多個分析用途(例如存在多個RM),我們最好在不同的組件中獨立地進行處理。這就導(dǎo)致了一對多的port連接(廣播,也可以稱之為觀察者OOP設(shè)計模式)。信息源執(zhí)行單個寫操作向所有觀察者廣播數(shù)據(jù)。所有其他UVM?TLM?ports?和expo...
亞里士多德說:“任何一個系統(tǒng)都有自己的第一性原理,它是一個根基性命題或假設(shè),不能被缺省,也不能被違反?!薄兜谝恍栽怼返谝恍栽恚帽葮淠镜母?,沒有人會看到繁茂枝干下的樹根,但它決定了樹的一切。本文將“第一性原理”的思想引入芯片驗證中的幾個場景,以理清一些驗證問題的本質(zhì),直達本...
什么是功能覆蓋率?驗證中的覆蓋率分功能覆蓋率和代碼覆蓋率兩種,斷言覆蓋率可歸類為功能覆蓋率。顧名思義,功能覆蓋率用于衡量設(shè)計中有多少功能被覆蓋到了,被驗證了,而代碼覆蓋率則是衡量代碼實現(xiàn)中有多少語句被執(zhí)行到了。前者是基于設(shè)計的源頭,而后者是基于設(shè)計的最終實現(xiàn),源頭是本,實現(xiàn)是末。...
xiaoguaixh
liqinglong1023