原创 [CS]通信科普相關博文分享

最近在學習通信相關基礎知識,看到有相關不錯的文章,分享下~~ 無線通信TX的流程:  L2 -> CRC  -> turbo  -> interleave  -> scramble -> QPSK -> OFDM -> Preamble

原创 [SV] module中如何把delay time作爲參數

在testbench中我們經常需要加不同的delay來搭建direct pattern,可以通過plusargs來傳遞參數。如何實現呢?   `timescale 1ns/1fs module top ; task automat

原创 【Perl】" "\w" is unrecognized escape " in grep issue

在用Perl 調用 grep時遇到如下提示“"\w" is unrecognized escape”, $build_num = `find ./ -type d -maxdepth | grep -E "Linux/\w+" | wc

原创 [Tools] P4 應用

來點PERFORCE 應用實例。 function : 把當前workspace中的所有文件(local file & P4 file)打成label cmd:            p4 labelsync , p4 shelve, p

原创 [SV]Constraint 遇到的問題

constraint con{ delay dist {0:/10}; } 上述寫法可能導致constraint很難解,不要用上述寫法。   2. 對與求和的約束的寫法(防止和溢出) bd_len_q.sum with(int'

原创 [UVM] TLM (3)

今天聊聊analysis port 和analysis imp 是怎麼連接的。下面的連接模式是典型的monior - agent - subscriber: 在Agent中將jelly-bean monitor (jb_mon)中的ana

原创 [Python] jieba 庫介紹

jieba 庫是一款優秀的 Python 第三方中文分詞庫,jieba 支持三種分詞模式:精確模式、全模式和搜索引擎模式,下面是三種模式的特點。 精確模式:試圖將語句最精確的切分,不存在冗餘數據,適合做文本分析 全模式:將語句中所有可能是

原创 [CS] MIMO 科普

      全面解析基站和天線​​​​​​​   天線科普   MIMO科普  

原创 【DV】驗證環境集成

模塊級環境需要集成到系統級的環境中(主要複用checker(scoreboard & reference model)),需要做哪些改動呢?  dut 的hierarchy和激勵來源發生變化,涉及到的改動如下:    通過uvm_conf

原创 [python] 字符串格式化

1、按照默認順序,不指定位置 print("{} {}".format("hello","world") ) hello world   2、設置指定位置,可以多次使用 print("{0} {1} {0}".format("hello"

原创 [TOOLS] 解決Verdi 無法打開部分波形

使用Verdi dump waveform經常會遇到部分信號無法打開,可嘗試一下辦法: 1. 查看filelist中是否加入-v ,如果加入-v 則把他刪除;   -v filename         Specifies a Veril

原创 【shell】Cshell

csh -vx 用來顯示輸入的原樣和變量替換後的腳本,用來幫助調試。 變量 通過set來定義局部變量x,通過$x(或${x})來使用變量x的值; $%x  表示變量的值的長度; $?x   來判斷變量x是否設置,如設置則爲1,否則爲0;

原创 [SV]動態數組特性

動態數組的特性:   bit[7:0] d_array[]; d_array = new[4]; d_array ={0,1,2,3}; d_array = new[10];//原來的四個元素被清空 d_array = new[

原创 【MISC】芯片驗證常見問題解答

Q:    下面的用法對嗎? a = b ? a++ : a+2; A :   上述用法錯誤,無法生效,VCS不會報錯。      a = a++ 這種無法生效,可以if else分開寫 if(b==1) a++; else

原创 [SystemVerilog] cover group在module中的應用

cover group在class中的應用之前文章說過,cover group在class中的應用; 在module中如何用呢? module dma_test_top(); covergroup idle_chk_cvg(lo