pretty code

2024年4月23日 星期二

2024 week 17 新玩意

01. Use alias with awk command

之前有提到可以打出下面指令來對數字作加總,一般來說,我們應該都會透過各種 linux 指令只取出數字方便我們後續加工,故 awk 變數應該都是 $1 才對。

awk 'BEGIN {sum = 0} {sum += $1} END {print sum)' xxx_file

但這一長串指令每次都要重打很麻煩,原本想用 alias 來取代,但一直會有問題,後來在網路上看到解法,就是把這些指令拆成 3 個部分即可。

alias sum "awk 'BEGIN {sum = 0} {sum += "\$"1} END {print sum}'"

02. 在 VIM 中善用組合的力量

很多指令都可以合在一起,可以少打好幾個字,舉我最近最常做的事來說,就是要在一個很大的 netlist 檔案中,複製一個 Verilog module。

只要先將游標移到 module 宣告處,依序按下下面鍵即可。

shift + v
/\v^endmodule
y

03. VIM 啟動參數及對應的指令,一般用在開啟多個檔案用

-O vp 垂直分割視窗
-o sp 水平分割視窗
-p tabe 將檔案開起到新分頁

04. Synthesis

將 Synthesis 解釋得很好的一篇文章

05. Yosys proc command

process 是指 yosys 做完 hierarchy 後,初步無法歸類的 RTL statement 都會歸類到這裡,之後再利用 proc command 來處理。

2024年4月10日 星期三

2024 week 15 新玩意

01. awk sum

假設有一文字檔內容如下:

ABC    1
ABC    2

可以用 cat txt_file | awk 'BEGIN {sum = 0} {sum += $2} END {print sum}' 得到加總後數字。

02. VIM vertical column rule

使用下面指令便可以在 8 的位置增加一條垂直線,方便觀看階層資料。

set colorcolumn=8

03. VIM 摺疊文字

選取文字後

zf 摺疊
zo 打開

04. VIM 選取一大片文字

V + xxgg 

05. Synthesis 小疑問

最近在做合成時,發現有些 instance 在做完合成後會被吃掉,連帶原本的 module RTL code 也會一併被移除,雖然覺得是因為這個實體的 output 未被任何 logic 使用,但還是很不確定,最後看到一個寫得很清楚的文章。


結論不只是 output,input 也會有同樣的狀況。

06. tcsh redirect

一般較常用的 bash
ls > file 2>&1

tcsh
ls >& file

2024年4月7日 星期日

D2R 數學機率果然沒騙人

放假本想連工作站做些事,可惜網路一直不通,最後只好放棄XD

一個多月前在小老婆演唱會前將冰法練到 91 級後,想做的大概都做了,想要物品的掉落也只能看人品了?

連假既然無法工作,就來驗證一下喬丹之石的掉落數學機率好了!

網路上有兩個關於喬丹之石掉落的說明:

01. 惡夢安姊掉落機率 1 / 1616。
02. Youtube 有人打安姊掉 100 顆暗金戒出了 4 顆喬丹。

我就以 02 當基準,收集兩次方塊暗金戒總會出 1 顆吧?

一開始 MF 接近 200,後來一直想辦法從各角色倉庫找物品,最後可以湊到 400 MF!

記得是第 5 或是第 6 次還拿到婚戒(不確定是不是剛好遇到邪惡區域才會掉?),不過這個我早就有了。

雖然後來在第 12 顆暗金戒時,就已經湊到 400 MF,但說來奇怪,原本半小時左右會出一顆暗金戒的,後來都要花一個多小時才能打到一顆,最後決定相信感覺,將 MF 降到 27X 後,掉落率開始恢復正常?個人覺得太高的 MF 掉落都變成綠色戒指了?

修正 MF 後,很快的掉落數量來到 17 顆,最後甚至一次掉落兩顆,那時心裡就感覺穩了,果然兩顆裡就出現一顆喬丹了XD

感覺最後場次是介於 200 ~ 300 場,D2R 果然是一個訓練耐心的好遊戲呀!