wire [63:0] data;
wire [7:0] array [7:0];
array [0] = data[0+:8] 前面指的是 base,後面指的是寬度,意思是從 base + width 的範圍,也就是等於 data[8:0]。
這個語法是從 Verilog 2001 開始的,請詳 4.2.1 Vector bit-select and part-select addressing。
02. sed
sed -i "s/abc/def/g" file_name
每次都會忘記,-i 表示要修改檔案,要把所有的 abc 取代成 def。
03. search cell name in cell files
grep -EH 'cell\s*\(\s*\"*sky130_fd_sc_hd__a22o_1' *.lib | sed 's/:\s*cell/ /g' | awk -v var="$PWD" '{print var "/" $1}'
為了在眾多檔案裡找到 cell 位在那個 cell libraries?利用上述語法,我可以得到完整的路徑,便可以貼到我的檔案去做後續的處理。
-EH 要看 grep 版本,我的 WSL 需要這兩個,E 表示 extend,H 表示顯示檔案名,記得工作站不需要。
sed 是把找到的檔案,將檔名跟搜尋 pattern 分開隔出空白。
awk 則是把 $PWD 環境變數傳進去,利用 print 組出完整檔案路徑。
沒有留言:
張貼留言