2024年11月17日 星期日

好久不知道什麼叫寫程式了

去年轉型搞影像處理,因為還在學習階段,大部分都是在研讀 github 作者的 code,頂多改改程式好符合自己的需求。

今年又來到新部門,除了寫個簡單移除電路小程式外,再來就是為了增進效率寫了個 netlist parser,之後又將它移植到 yosys 變一個指令測試 yosys 功能,然後就沒然後了?

最近因為資安警告信,購買的抄筆記也不敢用了,上網變得綁手綁腳,連查個英文單字都覺得很不順。

10 幾年前看到 Linux 論壇有人寫了一個 script 查詢 yahoo 單字,便用 BCB 6.0 寫了一個 GUI 版,後來也陸續加入了不少功能。

但之前只儲存英文 7000 單字,如果不在單字庫的需要另外開執行緒上網查詢,我想應該早已經不適用在現在的 yahoo dictionary 了?

還要拿出外接硬碟才能找到當年的程式碼,年紀大了,就是有點懶惰。

簡單用個 script 搞定就好,看起來還行,反正我也不介意詞性及例句XD


剛又查了一下,現在連譯典通都要訂閱了,一年 599 是不貴,但人就是懶,之後再看看吧…

2024/11/20 更新

IC Design 名詞可以不 google,但看文件不查單字還真冒險,很多時候,我以為的單字意思都跟真正的查詢結果不一致XD

星期一去公司後,想了一下,將星期日的做法 porting 到公司 WSL env,順便把網頁儲存下來,下次再查同一單字就不用上網了,既可以減少上網流量,查詢介面也比較清爽XD

用到今天為止,查了 40 幾個單字,順便加上簡單複習功能,之後再利用檔案時間軸來幫助記憶。

這就是事情的真相嗎

收到資安警告信後,現在上網查資料我都只看標題了XD

但還是很不死心,還是想知道到底是怎麼回事?終於在 reddit 這篇文章看到比較像樣的解釋。

大意是說那個被偵測到的病毒是在 2024/10/21 被加到 Microsoft Security Intelligence 的病毒資料庫中,如果剛好電腦又有安裝 Avira Browser Safety的 Chrome Extension,就有可能被偵測到 Chrome cache 有木馬程式。

在查資料的過程中,看到一些誤判的案例,所以我也懶得找一台空電腦試了,反正我是相信了XD

2024/11/20 更新

這星期上網查工作資料都只看標題,只有確定沒問題的網頁才會點擊進去閱讀,這樣似乎也還好,真的有需要回家再查,忘記就算了XD

2024年11月12日 星期二

怪事年年有

今天突然收到 IT 的資安警告信,意思是 Google Chrome Cache 資料夾偵測到類似木馬程式的東西!

印象中前幾個禮拜忙著 PAD Placement 時,Windows 就跳出過兩次警告,一次是 10/25 ,另一次是 10/29,為了這個,還把 Chrome 所有資料都刪過一次,沒想到今天居然又出現一樣的警告?

不敢說 8 個小時都在上班,但至少一天都認真工作 7 個小時以上,所以上的網站應該都是跟 Search IC 設計有關的!沒辦法,很多時候沒有文件,也只能透過 Google 找尋靈感。

如果以 10/29 以後為分界,我上最多的應該是全球最大男性交友網站 - github.com?

奇怪的點是,從年初來到這個新部門,上網找資料模式並未改變,之前為了查資料也很常上大陸及外國網站,但偏偏從 10/25 才開始陸續跳出警告?

之前第一次跳出警告,應該是忙著跟 OpenROAD 奮戰,故沒有看到什麼訊息就被我不小心按掉了,後來在事件檢視器及 Defender 頁面查了半天,都找不到警告訊息來源,也是透過 Google Search 才知道,Defender 事件是位在下面位置:

事件檢視器 -> 應用程式及服務記錄檔 -> Microsoft -> Windows -> Windows Defender -> Operational。

從這裡有記錄的時間得知,這邊的 Log 資料,最早日期可以追朔到 9 月初,應該是剛更新完電腦系統沒多久,故才沒有更早之前的記錄。

但問題來了,既然上網模式沒變,為什麼會跳出此訊息?

目前只能想到 3 個原因:

01. 被電腦或手機的 Chrome 同步到公司電腦,但這兩個地方我很少上網,大部分都是在滑 PTT。
02. Windowd Defender 誤判。
03. 大陸或國外網站真的有問題。

但工作又不可能不 Google,至少我現在還是菜鳥,不可能不上網找資料!

同樣也只能想到 3 個解法:

01. 自己租用 VM 專門用來上網查資料。
02. 買台小電腦帶去公司用手機網路查資料。
03. 乾脆就不查了XD

明明就很認真工作,今年居然收到兩次資安警告信,真是莫名的冤屈XD

2024年11月9日 星期六

遁去的一

大道五十,天衍四九。

之前以為手動將不同撥放清單的歌放在一個撥放清單後,YouTube Music 隨機的 Bug 就能解決,後來才發現,一切都是我想太多,這樣還是不能保證歌單隨機後所有的歌依然存在!

Google 我就問你,只是將撥放清單的歌隨機撥放有這麼困難嗎?


看了一下評論,似乎說隨機後只會剩 25 首,我是沒認真數過,但真的很少就是了。

搞到現在,我也放棄了,最後車上只聽小老婆的最 Top 50 XD

但總覺得還有一些遺珠之憾,還是記錄一下好了,免得老婆每天聽這 50 首歌會聽膩XD

《colorful》輕快的歌,但原始連結似乎已失效,改天要確認一下?
《不還》 唯一歌曲裡面有會計借貸的歌,曾經同行的我怎麼可以不支持一下?
《我們都能幸福著》
《麻雀》
《穿過月光遇見你》歌詞有 with you without you 那首
《傻傻愛著你》小老婆演唱會忘記的歌好像就是這一首?
《無法放開的手》最不像小老婆聲音的一首歌,好像有聽她說過有一首歌在錄音時剛好感冒,不知道是否就是這首?
《超喜歡你》輕快的歌
《本來》
《最後一支舞》
《手心》也是因為 YouTube Music 的 Bug 才未收錄。自從上傳歌曲的人重傳後,歌曲有不連續的問題,後來雖然找到另一個連結,但 YouTube Music App 就是一直會去抓原本那一首歌。
《慢慢紀念》
《靜電》輕快的歌
《有溫柔》輕快的歌
《消耗寂寞》
《我不想忘記你》
《降落人海的夢》應該是最新的 OST
《廣寒光》又是一首帶點古風的歌
《分手的第-1天》
《兩個人的秘密》

Google 呀 Google,你何時才能找到那遁去的一,早日修復 YouTube Music 那個隨機撥放 Bug?

Outlook pst 檔案壓縮後大小沒有變化解決方式

如題,清空一堆郵件後,如果經壓縮後,檔案大小與按右鍵看到的大小不符時,只能手動建立一個新的 pst 檔案,再把舊的複製過去,然後砍掉舊的 pst 檔,這樣空間才能夠被釋放出來。

離開前部門也快一年了,終於把過去的郵件全砍光了,也算跟過去的我告別!

我還是喜歡看著老鷹在天空中飛翔XD

2024年11月2日 星期六

ORFS PAD Placement

終於搞定了,腦細胞都不知道死多少了XD

這一行太多知識待補充,自己一個人摸索確實有些緩不濟急。

忘記在哪個對岸網站看到有人說過的話:「IC Design 比數學好的地方就是,學過了就是會了,剩下只是經驗累積的問題。」

這兩年剛好都有略微涉獵到這些主題,我只能說,我學到的是:


gcd 和 jpeg design 看起來都給過,我對 ORFS PAD 的認知應該是對的吧?至少 PIN 和 CTS 看起來都比較符合我的預期。

看 CTS 的小技巧

01. Ctrl + F,clk* Net
02. select -type Net -name clk* + select -type Net -name XX (synthesis name 不是 clk* 的情況)

2024年10月24日 星期四

2024 week 43 新玩意

01. Find OpenROAD message

本來以為 place_pad 任務應該算告一段落,無意間發現 CTS 都沒有被建立起來,於是一個下午都在反覆查找相關資料。

順便記錄一下如何從 message number 找到 OpenROAD source code 的地方。

2024年10月19日 星期六

天機一線牽

今天諸事不順,忙著煮飯,打掃就算了,連充電線也來跟你搗亂!

昨天晚上用新買的 Dell 螢幕同時充電 8Bit 翻頁器以及 Pubook Pro,同時間也在使用 Dell 筆電,忽然跳出一個什麼充電電流怎樣的警告?當時在想事情,沒有多想就順手按掉,後來才發現 Dell 螢幕 Type-C 拉出來的充電線已經沒有在充電了,反正還有 40%,可能超出最大功率之類的無所謂。

早上在準備備料時,先將筆電的 Type-C 線拔掉,這樣螢幕就不會對筆電充電並開機了,記得待機模式 USB 供電選項是打開的,故還是拿昨天的那條 Type-C 對 Pubook Pro 充電。

沒想到忙完回來,螢幕似乎不是待機模式,故充電又被中斷了。

煮飯前拿出隨便一條 Type-C 線,配合 5V 2A 的充電頭,想說總可以來充電了吧,沒想到三點忙完所有的事後,機器還是只有充到 82% 左右,感覺似乎不太對勁?

趕緊安裝之前有贊助的 Device Info App,查了一下才發現居然只有用 15X 的 mA 在充電?這條線我也忘了是那台閱讀器附贈的線,從來也沒用過。

換上 Pubook Pro 的線後,果然充電可以來到 1500 mA 以上,決定把一堆沒用的線都丟了,以後有需要再買即可,留著一堆不用的線一點意義都沒有,或是該買個充電電流觀察工具才行,但要有兩種頭也是很麻煩,有空再來找看看。

還好我一台平板都沒有,環顧手上手機及閱讀器,我大概需要三種充電線。

USB-A To Micro-A (Oasis 2, A5)
USB-A To Type-C 
Type-C To Type-C

2024年10月18日 星期五

不思進取的老人

大概是程式設計師當久了,不太喜歡過早最佳化?

兩年前為了疫情方便早餐店線上點餐才開始使用 LINE PAY,這兩年除了點餐外,大部分都還是用我的悠遊聯名卡,一方面是不喜歡我的手機去接觸外面的事物還要消毒麻煩,二來是悠遊聯名卡每天都要用,放在口袋裡隨時用很方便,再加上已經將悠遊聯名卡裡的信用卡及悠遊卡都歸戶到雲端發票載具,卡片夾背面也貼了一張手機條碼,真的是一張就可以搞定日常生活中的各種事情。

今年年初時信用卡被盜刷了一筆好幾萬的金額,爭議款的紛爭還算好搞定,但之後的換發新卡,所有線上訂閱的資料都要重新設定一遍,補發的信用卡及悠遊卡也要重新設定載具及歸戶,雖然在家用自然人憑證就可以搞定,但還是覺得很麻煩。

知道第三方或是電子支付是用虛擬卡號後,感覺似乎比較不容易再被盜刷了,一直覺得被盜刷都是因為實體而不是線上,畢竟那些線上商店我都一直有在使用,當然這也是很難說(有一說盜刷是被試出卡號,但我很懷疑,要這樣做的前提一定是用網路才好 loop,難道銀行或徵信端都無法擋掉 IP 變成黑名單?就算是直接破解刷卡機在機上重複 loop 嘗試,理論上刷卡機都要配收單系統,應該還是有辦法加入黑名單擋掉才對?)。

再加上這幾個月常停的幾家停車場都陸續調漲一日最高停車金額,對於每次都要加值三四千悠遊卡的我來說,去 ATM 領錢加值的頻率一定會增加!於是便打起悠遊付線上加值的主意了。

這個功能需要額外購買一張超級悠遊卡,還要用身分證加入悠遊付認證,但比起一直領錢加值的循環,這點麻煩還能接受。

以後等悠遊聯名卡裡面的餘額用光後,身上就只會帶一張超級悠遊卡了,反正刷卡用 LINE PAY,日常用悠遊卡,真的不行再拿皮包的信用卡出來即可。

最近在查資料的過程中,才知道以前還有一種 NFC SIM 的功能,也可以當悠遊卡使用,如果是NFC SIM 加信用卡功能似乎也能自動加值?

不過我猜應該是跟悠遊聯名卡一樣,自動加值金額有限,沒有我現在的悠遊付方便?目前似乎只剩中華電信還有這項 NFC SIM 服務?既然已經購買超級悠遊卡了,這個功能只要知道即可。

雖然身為程式設計師,理論上應該要比平常人更容易接收新知,但我似乎是個不思進取的老人,只有等到不方便時,才會考慮上網找資料並改變生活習慣XD

也是到前幾天看了九面的影片後,我才知道 Threads 居然也是臉書出品?我可能只差沒住在山洞裡,不然就是個不折不扣的原始人吧。

P.S 超級悠遊卡加悠遊付的線上加值功能應該是跟 SAMSUNG PAY 差不多,但要三星手機才能使用,三星一直以來不是我的菜。

2024/10/18 後續更新

查了文章後才發現,NFC SIM 算是 1.5 代悠遊卡?似乎要像超級悠遊卡的 2 代悠遊卡才能線上加值。

2024/1019 更新

前一陣子 Youtube 看過的 Super i 貼卡也是屬於超級悠遊卡,不過我本來就不喜歡拿手機去接觸外界裝置,故就算早知道也不會在我的考慮範圍內,話說好像也還沒開賣?

另外,一直想測試 Google Pay 的感應式刷卡功能,是否不用一定要有 GPay Logo 才能使用,據我了解應該是跟信用卡感應支付的原理一樣才對?當然,這只是為了滿足我的好奇心,我還是不會想讓手機去接觸外界裝置,這樣不知道是否算是一種潔癖?

但在加入卡片的過程,常用的兩家信用卡都還要致電客服才能加入,其中一家的盜刷爭議還要用書面通知,另外一家當初沒仔細看條款,個人感覺沒有一般信用卡的盜刷爭議來得便民,於是我也放棄了 Google Pay 的使用。

奇怪的是,好久以前不是使用 Google 帳號就可以把付款方式的信用卡自動成為 Google Pay?記得有時候不想背卡號都是直接用 Google Pay 在網路上付款,難道是我記錯了?

難怪大家罵得要命的超級悠遊卡我卻覺得好用,對於不坐捷運又不是每天都會去超商的我來說,線上加值確實是比自動加值好用多了。

更新完文章沒多久後又發現,好久以前的晶片悠遊卡以及 TPASS 悠遊卡也是可以線上加值,重點 TPASS 悠遊卡只要一百元,幾天前為什麽會先知道超級悠遊卡這個名詞呢?

2024/10/20 更新

還是整理一下好了,避免以後被搞混。

可以使用悠遊付透過手機直接線上加值的悠遊卡如下

01. Super 悠遊卡
02. TPASS 悠遊卡
03. 很久以前的晶片悠遊卡
04. 特殊合作卡,例如敬老卡、學生證卡等等。

如果需要購買,當然是 02 或 03 較划算,只要 100 元,但我不確定現在還買的到嗎?

NFC SIM,Pixel 6 開始就不支援

去年 2023/07/29 購買的 Garmin Instinct 2 手錶有內建悠遊卡,似乎是實體卡,但只有悠遊卡功能,不能用 Garmin Pay。

2024 week 42 新玩意

01. nl tool 自動加上數字編號

之前用 Vim 功能將備份小老婆歌單檔案前面加上數字編號,昨天無意間在鳥哥 sed 教學文章中學到 nl 這一個 tool,不只能加上編號,數字要不要補 0 或是後面要不要加上逗號等,這個 tool 都可以搞定。

原本還以為要用 sed 再組織一次字串好方便加上後面的逗號,沒想到 nl 開發者早就想好,果然 Linux tool 的哲學就是一次只做一件事,但把那件事做好!

nl -n 'rz' -w 2 xxx.txt


02. 還在跟 PAD 奮鬥

大概是這個星期一還是星期二就把兩個星期前主管交辦事項的簡報補充的差不多了,連 PAD CELL 的方向我都找到圖片做補充了。

既然 ORFS 沒有範例,乾脆自己來試看看吧,本來是用 gcd,但這個 chip 實在太小,為了放置 IO PAD 整個面積會變很大,但 core 只佔一咪咪,重點也是會死在 global route,錯誤原因是 congestion 太高。

後來改用 jpeg_encoder,這次的 core 大小就比較合適,話雖如此,但一樣會死在 global route。

今天是難得的休假日,下午外出回來本想先不加 IO CELL,看看 pin 是如何擺放的,我再來決定 IO PAD 的位置,看看這樣是否就能解決問題,沒想到居然看不到 pin?

感覺自己沒招了,ORFS issue 列表都翻爛了也沒有 fu。

2024/11/02 更新

雖然颱風假當天的嘗試還是以失敗告終,但在知道問題出在 netlist 後,隔天終於能對症下藥,也順利的在 gcd 和 jpeg 產出結果

2024年10月12日 星期六

2024 week 41 新玩意

01. Linux Group By 功能

Linux 實在是一個很強大的作業系統,應該是說它的生態系很強大,什麼工具早就有人開發好了,根本不需要你寫半行 code 來解決問題。

就拿最近我在整理的一份 PAD 資料,突然想要做個表格放進簡報裡,regex + sort 取出資料常常在做,但要如何 group by 來加總一時還想不出來,隨便拿個程式語言做這些事當然很簡單,但人會被慣壞,有更簡單的方法當然更好囉。

老樣子,Google 一下,原來這麼簡單,我常用的 uniq 工具就可以了,加上 -c 選項即可。之後再用 sed 取出加總並調整一下順序,就可以在 Power Point 裡面用 "插入 -> 物件 -> Word",然後在跳出來的 Word 浮動視窗貼上 sed 整理好的文字,然後選 "插入 -> 表格 -> 文字轉換成表格",這樣就可以一氣呵成了。


2024/10/16 更新

忘了先前用 sed 取出 Verilog module 的技巧了,這樣才對呀!還要另存 components.txt 太 low 了XD

cat skywater130_coyote_tc.defok | sed -n '/COMPONENTS/,/END COMPONENTS/p' | grep '-' | awk '{print $3}' | sort | uniq -c


02. Tmux

以前就知道 Screen 的替代品 Tmux(嚴格說起來應該是比 Screen 功能還多),但一直沒有機會使用,工作站也沒有這個軟體可以使用,但自從在公司電腦安裝了 WSL2 後,應該是時候試用 Tmux 了。

它跟 Vim 一樣,有很多設定值可以調整,為了跟 Vim 使用體驗一致,除了前置組合按鍵外,應該要讓設定值盡量跟 Vim 看齊。

沒關係,慢慢來即可,畢竟工作環境不是一蹴可幾的事。

2024年10月10日 星期四

忙碌的一天

為了慶祝國家生日,凌晨三點半就興奮的睡不著覺?

打開已經畢業的暗黑 2 重製版玩了一下,說也奇怪,一說畢業後,玩遊戲的感覺都不一樣了,已經沒有之前那樣覺得好玩了,勉強玩了標馬、弓馬、以及暗黑親兒子槌丁後,陪早起的老婆看了一下電視,為了怕中午出門開車危險,又回去睡了快兩個小時,雖然大都是在作夢,體力條還是有稍許的回復XD

之前就一直想換掉客廳的窗簾軌道,20 多年了很多零件早已經生鏽,每週三次的澆花都讓人覺得阿雜。

雖然窗簾有很多種,什麼羅馬簾、蜂巢簾、風琴簾等等,看起來是很好看沒錯,等舊了需要重做就知道,要找人重做不是那麼容易,你得安排時間,就算你想自己 DIY,先不提好不好拆,光拆下來的東西要怎麼丟就是個大問題!

因此我的結論是,如果家裡有 DIY 工具,我覺得 IKEA 簡易的窗簾桿以及環狀窗簾夾是最好的 DIY 選擇,安裝簡易,只有一點要特別注意,IKEA 的窗簾桿組合並未包含螺絲,還好家裡之前有幾顆自攻螺絲,才能順利的繼續的鎖在原本的窗框上,本想直接鎖在牆壁上,但手上的其他螺絲似乎無法應付家裡的石膏牆面,只是把洞越挖越大(也許應該要用膨脹螺絲,但已經懶得出門了),也是因為後來找到自攻螺絲,才毅然決然地改鎖在窗框上。


DIY 前沒先確定附件是否齊全是我犯的第一個錯誤,第二個錯誤則是缺少隨機應變的能力,為了改鎖在窗框上,因此需避開原本的防盜設施,雖然我想應該早就壞了?但為了這個第三點支撐,理論上應該要讓它盡可能的接近中央位置才對,不然窗簾會被第三點擋住而拉不過去XD

還好我本來就不會完全拉滿,算是沒有什麼大礙,真是恭喜老爺,賀喜夫人。

明明裝上新窗簾桿時,還有擦過窗框跟防盜設施,怎麼還是那麼髒XD

一組窗簾桿還有 3 包窗簾掛勾(一包 10 件組)也才 NT $996,之後要換也是很簡單。


拆卸及安裝窗簾還算是最簡單的部分,雖然也搞了一個小時多有,但事後的善後才是最麻煩的,清潔整理就算了,反正本來就是要做的,拆下的窗簾桿及細件要如何回收才是最麻煩的,花了九牛二虎之力才把窗簾桿折成較小寬度,方便社區清潔人員做後續處理。

下午在 DIY 窗簾前,還先整理了上星期六三創下訂,然後今天送來的 Dell 24 吋可調整高度螢幕,這也是我第一次使用 DP port 的螢幕,還知道了之前不知道的上行連接埠(資料上傳到主機)以及下行連接埠的名詞,也算是長了見識,可惜上星期購買有點匆忙,沒注意到螢幕居然沒有喇叭,我還一直以為 HDMI 的螢幕一定會有喇叭呢?


上星期日也新組了一張 IKEA 購買的椅子,IKEA 的東西都還算好組,我應該把 IKEA 我認為好坐的椅子都買遍了吧?雖然家具類會附工具,但還是不太好鎖,這次的椅子螺絲又剛好在邊邊,手上的棘輪工具組需要的空間又比這張椅子的大,還好在工具箱找到一個塑膠套筒,增加摩擦力後,鎖起來果然輕鬆多了,這個是以前的 IKEA 附贈的還是其他的 DIY 家具附的我已經沒印象了?


順便多記錄一些這星期想到該記住的重點XD

無印的這款濕紙巾盒是我看某個家庭主婦的頻道知道的,一試成主顧果然好用,但沒辦法放我常買的 80 抽厚濕紙巾(需要先用掉幾張),今天試買了同牌子的 70 抽,感覺這樣的張數比較適合這個濕紙巾盒。


下面是我用的牙間刷尺寸,每次都會忘記XD


空白的筆記本還是比較好組織想法,不上台北的話,這樣的筆記本我目前只在佳瑪看過,為了這個還要特地上台北購買還是不方便。


前幾個禮拜安裝的庫存廁所崁燈,接腳是快速接頭,就不用纏膠帶纏得那麼辛苦。



應該還有很多要補充,但忙了一天累了,明天還要上班,晚點再看是否有需要補充的注意事項,對上班族來說,家事還真是費工呀XD

2024/10/11 更新

早上上班前一鼓作氣的將家中所有變壓器拍了一遍,之後使用比較方便,畢竟手上還是有好幾台電子書閱讀器,目前確定的是 Google 30W 快充變壓器不能用在我的一些小家電上

Sharp 手機充電器,5V 2A。

倒數第二支 HTC 手機,5V 2A。

我猜應該是 Acer 手機,5V 1A。

買 Pixel 8a 順便購買的充電器,15W 3A、27W 3A、30W 2A。

Google 電視棒,5V 1.5A。

Dell 螢幕 U2424HE-4Y 相關連接孔

目前筆電外接在 port 6,port 9 和 port 11 都接了 USB 線,port 11 只能充電。

因為我用 port 6 接 Dell 筆電,故有傳輸資料功能,因此 port 9 上接的鍵盤及 Type-C 接頭接上的裝置,筆電才能辨識,如果是用 HDMI,我就需要用到 port 8 上行連接埠的功能,將其接到筆電後,才能打通 port 9 的功能。

port 09 - 1 外接鍵盤
port 09 - 2  Type-C 接頭
port 11 - Micro-A 接頭 

至於 port 13 和 port 14 未試,不知是否能跟 port 9 一樣?
隔天測試的結果,port 13、port 14 接上手機都可以辨識

port 13 最高 2A。



Dell 筆電變壓器輸出是 130W

SSD 18 LT 200 BL 18V 鋰電無碳刷充及起子機

數字越大,速度越快(最小鎖緊扭矩、中等鎖緊扭矩、最大鎖緊扭矩)。

金屬等硬質材料,很短的衝擊持續時間,達到最大鎖緊扭矩,數字 3。

木材等軟質材料,更長的衝擊持續時間,數字 1。


SB 18 電鑽

上面是 1 ~ 20 扭矩控制,中間由左至右,分別是鎖螺絲(可以設定 1 ~ 20 扭矩,或是設置中間位置),鑽孔,衝擊式鑽孔,下面則是齒輪級別。

1 齒輪,低速,高扭矩,適合鎖螺絲。
2 齒輪,高速,適合鑽孔。

理論上鑽孔都是最大扭矩,只有鎖螺絲需要調整扭矩。


另外上面這兩隻用的電池是 18V 2.0 Ah,充電器為 ASC 55,充電時間 40 分?

2024年10月7日 星期一

有試有機會

雖然昨天就知道 PAD example 在 ORFS 裡面有點混亂,應該是說 OpenROAD 裡面,所以今天也沒打算使用最新 commit 來測試。

不過早上在整理資料的過程中無意間發現原來有一個跟 PAD 有關的範例,但公司的舊版本 ORFS 會死在 FloorPlan 的階段,找了一下 issues,看起來應該有問題?但還是想用最新的 commit 來試試。

不過手上沒有實體 Linux 主機了,雖然我有自己的私人 VM,但我需要 GUI 環境。

既然昨天在家使用 WSL2 開啟 GUI 非常方便,於是便發個 request 詢問 IT 公司資安政策是否允許安裝 WSL2,沒想到居然 OK,只要額外安裝一個監控軟體即可。

果然是有問有機會呀XD

以後工作更方便了,不用等到回家才能繼續測試。

但公司 10 年前的電腦似乎有些慢,第一次開啟 Ubuntu 22.04 都沒有反應,後來改用系統管理員執行一下子就進去了,但帳號會變成 root,還好可以用 wsl 指令更改預設使用者。

據我實測的結果,好像什麼都不用設定就能使用 GUI 了?也許這是 WSL2 預設的選項?

應該就是下面圖片的那個選項吧。

2024年10月6日 星期日

目前使用 VM 價錢備忘

去年為了開發 Kobo EInk Bro 開了一個 VM,後來因為工作關係便不了了之!但為了已安裝的東西不用再重新下載編譯,於是只有做停止 VM 這個動作,目前一個月約要 NT $170 左右。

由於昨天在 WSL2 安裝 OpenROAD-flow-scripts 不是很順利,於是今天又開啟一年未用的 VM,看看是否是 WSL2 的問題導致安裝失敗?

到現在環境都還沒準備好,放假想先確認一些疑點的打算看來也是有點抖,目前只能確認 PAD 流程似乎不在正常的流程中,而是放在 test 當中? 

放假到現在也不是一無是處,至少喚起我對這個 VM 的記憶,原本以為是儲存映像檔故要重新建立 VM,搞了半天,只要把停止的 VM 個體重新啟動即可,為了這個即插即用的便利,每個月要花 NT $170 還真是有點貴XD

也順便記錄一下,目前用的 VM 價錢,一個小時約莫要 NT $6 左右(含 Disk),如果單獨計算只看 Compute Engine 一個小時則是 NT $5 左右。


2024/10/06 晚上更新

OpenROAD-flow-scripts 在 VM 編譯一切正常,想了一下,直接切到 OpenROAD-flow-scripts/tools/OpenROAD/build 資料夾並依照 OpenROAD Tool Guide 去編譯,而不是在 OpenROAD-flow-scripts 裡面執行 local build,反正我執行的 local build 第一階段 yosys 是正常,我單獨編譯完 OpenROAD 後,將 OpenROAD 安裝到 OpenROAD-flow-scripts/tools/install/OpenROAD 即可。

之前因為 OpenROAD-flow-scripts 不成功,第二次 build 我好像有用 sudo 執行?導致某些產出都是 root 的所有權,將相關檔案砍完後,在 OpenROAD 的資料夾編譯一切正常。

那為什麼在 OpenROAD-flow-scripts 編譯一直有問題?我到現在也還不能解釋?目前只能確認 OpenROAD-flow-scripts 在編譯時,會單獨下載 OpenROAD 並切到 OpenROAD 資料夾去編譯,中間有用到 CMake,其他我就未詳細追究了。

因為我最主要是要看 layout 檔案,本想照此網友文章建置 X 環境,但我發現似乎在 WSL2 裡的 GUI Application 可以直接在 Windows 本機開啟,該網友文章我只做了 "勾選Windows子系統Linux版與虛擬機器平台" 這個步驟而已。


順便記錄一下工作站 OpenROAD-flow-scripts 版本,我就不用每次放假都要連回公司確認,為了這個電腦還不能關機,算是有點小麻煩。


2024/10/07 更新

下午詢問 IT 後,確定公司也可以安裝 WSL2,編譯 ORFS 果然跟家裡遇到的問題一樣,但因為公司電腦還在安裝中,等跑完再來更新解決辦法。

晚上 11 點多吹完頭髮後,VPN 連回公司確認 ORFS 是否有安裝成功,果然跟我想的一樣,不知道為什麼用 sudo ./setup.sh 執行的過程,會產生沒辦法寫入所有權為 root 的檔案?setup.sh 有起別的 shell 跑東東?但印象中這樣還是會帶到 sudo 的權限才對吧?

總之,按照下面步驟執行即可,step 2 就是執行會報錯的檔案,因為這個檔案的內容好像跟 build 有關,在後面還會用到,我也懶得研究 setup.sh 相關變數的值,故 setup.sh 只好浪費時間執行兩次。

step 4 是再一次確認是否還有 root 所有權的檔案,檢查結果只有這個檔案。



順便記錄一下 coyote_tc 的錯誤,本想靠它來確認 PAD 流程,但應該跟 issue 說明一樣,是不能執行的沒錯。


2024/10/11 更新

雖然知道 designs/sky130hd/coyote_tc 是不能跑的範例,但還是釐清一下相關的 issues,免得以後又要查找一次。

如果是直接跑範例,錯誤就如上張圖一樣,使用 "Command terminated by signal 9" 關鍵字去搜尋,看到的是這個 issue #1621

這個 #1621 有提到另外一個 issue #1082,裡面有明確提到,這個 coyote_tc example 是不能跑的,而且應該被移除才對,因為這樣會讓使用者誤會。

#1621 最後面有提到問題是出在 Routing congestion?其 issue 為 #1630
(但怎麼跑到那一步,我還看不出來,理論上已經到 stage 5 了?)

總之,目前 ORFS 沒有一個範例是有包含 PAD,以上。

2024年10月5日 星期六

Pubook Pro 10.3 會是我的最終歸宿嗎?

一直欠缺一台可以上網的 10 吋電子書閱讀器。

雖然文石的機器速度很快,但我個人的資料都在 Google Drive 上,不可能不登入 Google 帳號,HyRead 的新機器還在預購中,讀墨似乎有出一台開放式的機器,但我今天忘記調查了XD

在知道 Pubook Pro 是使用 MT8183 後,我就決定購買這台了,雖然在三創試用的感覺還是偏慢,但在眾多考量後我也似乎只有這台可以選擇。

沒辦法,誰叫我的 Kobo EInk Bro 一直胎死腹中,VM 的保留映像都繳了快一年的錢,但還沒時間去開啟它繼續進一步的測試。

我想我跟步驚雲一樣,都是孤獨的一個人走在驚雲道上…

2024/10/06 更新

昨天晚上 6 點多 PChome 下單後,今天下午 5 點多就收到包裹。

開機時系統大概是今年 3 月的版本,跑了一個還是兩個更新後就全部更新完畢。

目前用起來感覺還行,估計花個 1 ~ 2 天來調教一番。

2024/10/16 更新

沒什麼時間調教,至少 PTT 已可用,雖然在快速模式上下滑還是很抖動,但這應該是廠商調教的問題,海信 A5 就不會這樣抖。

不過上 PTT 還蠻適合彩色的,如果不看圖的話,我幾乎不會用懸浮球重新刷新。大概只有點進文章後的上面藍色區塊會有殘影,但出去的文章列表又不會,應該是跟彩色 EInk 運作方式有關吧?太久沒管這方面的新知了XD


用 EInkBro 查 Github 資料也蠻適合的。

總之,不會後悔買這台,改天也來抓抓封包好了。

潮濕起來真的是要人命

最近無意間發現 IKEA 買的每個竹子材質產品都發霉了!

最先發現的是附抽屜螢幕架,接著是盤架,最後則是手機架。

不知道是不是竹子材質的關係?感覺在潮濕的環境特別容易發霉。

我都覺得肺部在積水了XD


昨天突然發了一筆獎金,對我們還沒碰正式專案的人來說都算是賺到的,也算是個意料之外的小確幸。

今天要殺去三創買東東了,預計採購新螢幕、螢幕架?又或是筆電增高架就不用外接螢幕了?

2024/10/05 下午更新

三創的東西真的很少,筆電增高架看不到幾台,螢幕支架需要桌板有一定厚度故也不能用,最後買了一台 Dell U2424HE-4Y,還是覺得 24 吋比較適合工作,不會太大台。

另外還想買 Pubook Pro 10.3 可惜沒有現貨,這個就等之後有緣再說吧。

2024年9月22日 星期日

Google 已經慢慢成為微軟第 2 了嗎?

之前發現我一直在用的 DailyMoney App,有網友在爭求了原作者的同意後,使用原本的程式碼加上自己的修改並創建了另一個稱為 Financier 的軟體,還可以使用 Android Studio 來編譯。

今年第一次購買超過 6500 元的手機,故可以跟別人一樣同步使用最新版本的 Android OS!由於這個緣故,當初差點不能使用我自己編譯的 Daily Money

既然已經知道有網友做好的版本,應該要趁此機會更新一下開發環境才對,雖然看評論也已經不能用在新版 Android OS 了,但至少開發環境版本較新,理論上應該不難解決才對?沒想到下載了最新版的 AS 後,一堆 build error,沒有一個可以有效解決。

因此想試試之前開發的 KoboPageTurner 專案裡面的 Android App,看看是不是也會有編譯問題?當初開發的日期是 2020/08/15,AS 應該還不算太舊吧?

沒想到編譯時一樣會有一堆 error,Google 你真的太扯了!一個開發環境在更新時居然一點向後相容性都沒有?

雖然我不是專門寫 App 的,但無法在半個小時內收斂問題我還是覺得無法接受?

2024年9月17日 星期二

四天的努力終於有了點成果

從上星期三開始,使用一套之前沒用過的 EDA Tool 來驗證以前部門弟兄的 design,如果只是要讓他跑起來不是什麼難事,拿先前其他部門的設定修改一下即可。

但我的問題是要修掉 EDA 報出 Nonequivalent 的地方,感覺 EDA 好像告訴了你什麼,但是好像也沒個屁用,想要比照文件儲存 checkpoint 方便之後 debug 不用重跑,但文件就是沒講到如何在載入 checkpoint 後,重回 GUI 的方法,有稍微在 Command Reference 那份文件瀏覽一下指令,但那個貌似進入 GUI 的指令(open gui)居然是在已進入 GUI mode 的情況下使用?

今天早上終於在循序閱讀文件的別地方看到進入 GUI mode 的指令(set gui on),也看到 EDA Status Code 的地方,終於知道 make Error 24 是如何來的,原來是 status flag bit3 和 bit4 為 1 的緣故(16 + 8 = 24)。

快中午時,試著詢問部門非常有經驗很厲害的一位資深同事,嚴格來說應該是我的直屬主管,最近組織架構多了這層級後,我以後有人罩了XD

雖然前輩也沒用過這套軟體,但在跟他聊了快 10 分鐘的過程中,還是學到了不少東西。

下午不知道為什麼突然心血來潮去看之前 DC 的 log,確定了這 4 個暫存器確實在 DC 合成的過程中被優化,也用我之前寫的 split_rtl 小工具從 netlist 中複製出這 4 個暫存器的 module code,也確定確實被優化了。

但不知為什麼這套 EDA 卻只報出其中一個 2_2 register 無法 mapping?難怪網路上有看到某人提到,如果要用這套 Formality Tool,最好 Synthesis Tool 也用同一家的比較好 debug 問題,畢竟同一家的工具彼此間資訊比較容易互通有無。

最後又多加了第 5 個暫存器的 Constraint 後,終於解決 Nonequivalent 的問題,剩下的就是 Unmapped 裡面的 Extra 和 Unreachable 到底需不需要解決?我個人稍微閱讀文件的結論是不用。

對一個新手來說,這樣還算可以吧?放假回去後要來整理這幾天資料寫文件了。

2024/09/21 更新

在寫文件的過程中才發現,EDA Tool 只有報一個 register 是因為被 group 了,但當初以為統計表上的一個就是一個,故沒有特別去看單獨報表。

這告訴我們一件事,別人的專案也許用到的指令並不齊全,但只要他們有放的指令,一定有它們的目的,不管怎樣還是要看一眼才對。

2024/09/24 更新

這篇文章應該是我看過介紹 LEC 最好的簡介文章了。

為了不浪費這三個月買的授權,這兩天嘗試使用 Hier Comparision,但還是覺得有點怪怪的,感覺結果不符預期,重點是還跑得比 Flat Comparison 慢。

不管如何,還是更新了之前寫的文章,目前頁數已經來到 3 字頭XD

2024/09/26 更新

把 Hier Comparision 章節又看了一遍,把知道的參數都試了一輪,還是有 Non-equivalent 的問題。

再一次看了文章後,覺得最扯的是有一個 Add noblack box 指令,要下這個指令的前提是你必須已經知道要比較的子模組裡面的個別模組有因為優化被提出到個別模組外,也因為如此,兩個模組比較一定會不同,故必須使用這個指令讓個別模組不要成為 blackbox,這樣子模組在比較時,下面的所有模組會被攤平一起視為整體來比較,這樣才能得到一樣的答案。


問題是如果我對整個 design 都了然於心,我還需要 EDA 工具做啥?

感覺又是一個雞生蛋蛋生雞的問題?

2024/09/27 更新

看起來如果 DC 有下 -no_boundary_optimation 參數,應該就不會有上述情況發生?

2024年9月15日 星期日

我不喜歡輸的感覺

Web App 最讓人詬病的就是動態產生網頁內容,尤其是用 Javascript 動態產生的,某種程度上都會大大增加 parsing 的困擾。

有時候只想快速得到一個結果,我還得先用一個類瀏覽器的函式庫取得內容,這不是我喜歡的解決問題方式。

以前曾在網路上看到某位號稱新店寶橋路正規表示法第一的網友,我決定來效法他的作法。

先點選小老婆 Top 50 撥放清單任一首歌,接著使用 Chrome 檢查功能進到 Elements 頁面,在 html tag 處按下滑鼠右鍵 -> Copy -> Copy element,將複製內容另存檔案為 Top_50.txt。


然後就沒有然後了。  

grep -E 'h3 .*aria-label' Top_50.txt | sed -En 's/^\s*<h3.*aria-label="(.* )上傳者.*">/\1/p'


01.郭静 - 陨落(电影《大红包》告白推广曲) (动态歌词) 
02.郭靜 - 夢在遠方 
03.今天起 
04.【純享版】尤長靖/郭靜《氧氣》 治癒系嗓音隔空吟唱太好聽!《天賜的聲音》ep7 純享版no noice /浙江衛視官方hd/ 
05.郭靜 claire kuo - 在樹上唱歌 (官方版mv) 
06.郭靜 claire kuo - 軟綿綿 (官方版mv) 
07.郭靜 - 像我這樣 
08.郭靜 claire kuo - 還有什麼好在意 whatever (官方版mv) 
09.郭靜 claire kuo - 回憶的閣樓 memories of us (官方版mv) 
10.郭靜 claire kuo - 該忘的日子 i am moving on (官方歌詞版) - 韓劇《雲畫的月光》片尾曲 
11.郭靜 claire kuo【深呼吸 take a breath】official lyric video 
12.郭靜 claire kuo - 想個不停 (官方版mv) 
13.郭靜 claire kuo - 不想有遺憾 don’t wanna miss you (官方歌詞版) - 衛視中文台戲劇「長不大的爸爸」插曲 
14.相思弦 
15.逆行的減法 
16.触碰你 
17.在曾有你的地方 
18.郭靜《只為遇見你》【只為遇見你 nice to meet you ost電視劇片頭曲】官方動態歌詞mv (無損高音質) 
19.像风 
20.單身美好 
21.我的小森林 
22.郭靜 claire kuo - 簡單 (官方版mv) 
23.愛情模樣 
24.沙漏 (網劇ᐸ時光教會我愛你ᐳ插曲) 
25.類似快樂的信 (電視劇《戀戀小酒窩》片尾曲) 
26.又是艷陽天 
27.郭靜 claire kuo【消耗寂寞 leave me hanging】official lyric video 
28.悸動 
29.亲爱的你 郭静 [动态歌词/lyrics] 
30.我想要有人為我傷心 
31.算不算 
32.『溫柔女聲』郭靜(guo jing)-拜你所傷(bai ni shuo ci)【我就祝福你,幸福快樂。】#流行歌曲 #動態歌詞 #lyrics #高音質 #好聽 
33.郭靜《一個人勇敢》【我的時代, 你的時代 go go squid2 dt / appledog's time ost電視劇插曲】官方動態歌詞mv (無損高音質) 
34.郭靜 claire kuo - 何日君再來(官方歌詞版)- 電視劇《回家》插曲 
35.郭靜 claire kuo - 小聲音 (官方版mv) 
36.郭靜claire kuo《我非獨自生活》官方版mv 
37.郭靜 claire kuo - 可惜 (官方歌詞版) - 中天電視劇「何以笙蕭默 」片頭曲、 民視偶像劇「星座愛情」獅子女片尾曲 
38.郭靜 claire kuo - 我不是你的那首情歌 not meant to be together (官方版mv) 
39.郭靜 claire kuo - 拍檔 partners (官方版mv) - 電視劇《後菜鳥的燦爛時代》片頭曲 
40.郭靜 claire kuo - 別去問他好嗎 don't let him know (官方版mv) 
41.郭靜 claire kuo - 忘了如何遺忘 how to forget (官方版mv) - 電視劇《聶小倩》片尾曲 
42.郭靜 claire kuo - 每一天都不同 (官方版mv) 
43.郭靜 claire kuo - 明白 (官方版mv) 
44.他爱的梦 
45.《陪你逐風飛翔 to fly with you》郭靜 claire kuo - 越走越遠 farther and farther🥀(英繁中文歌詞 eng lyrics)🤍陪你逐風飛翔 情感插曲 ost 
46.郭靜  claire《慶幸遇見你》【我可能遇到了救星 hi venus ost 電視劇插曲】official lyric video 
47.(mv) 郭靜 (guo jing) - 月亮會記得(yue liang hui ji de) (the moon will remember) ost. 小女霓裳 aka ni chang 
48.最精彩的豔遇 
49.郭靜 claire kuo《暖橘》【我的助理不簡單 never too late ost 電視劇插曲】official lyric video 
50.DuDu好 

最後在聽到第 26 首歌《又是艷陽天》時,搞定此事並寫完更新 Blog

2024/09/15 洗完澡更新

洗澡時才想到忘記補上今天現學現賣的技巧,使用 VIM 在每列前面補上 index。

雖然我也可以都用 VIM 搞定,但我現在只能想到 .recording 2 種方法,操作起來沒有那麼漂亮,故我還是拆成三動來記錄。

01. 先把上面抓到的歌名另存一個檔案,比如 Final_50.txt。 
02. Sed -Ei 's/(.*)/1. \1/g' Final_50.txt
03. 從第 2 列開始,使用區塊模式選取 1 這一個 column,可以用 ctrl + v + G 一口氣選取,然後按下 g + ctrl + a,便會幫每一列的數字自動加 1。
04. Sed -Ei 's/^([0-9]+{1,1}\..*)/0\1/g' Final_50.txt,這裡是幫 1 ~ 9 前面補上 0。

現在就剩下如何都用 VIM 搞定,我猜應該是朝自動向下填入方向去找尋對應指令。

2024/09/16 更新

殘念,這個增加數字的技巧是從 VIM 7.4.754 版本才開始,我們家的工作站版本居然比這還舊?不支援 true color 也就算了,什麼都沒有是怎樣!

另外,對於我這種 parsing 需求來說,也許使用油猴也是個不錯的選擇,改天再來嘗試。

2024/09/21 更新

其實小老婆好聽的歌還可以再追加幾首,有 50 幾首合我口味的歌,真是不簡單呀。

昨天從下午 1:30 開始就邊聽 Top 50 邊 review 這幾天寫的文件,一直到下午 4:30 才聽到《在曾有你的地方》,3 個小時也還聽不到 40 首,不知道為什麼開車時卻覺得很快就輪回一輪了?要不是顧及老婆感受,我應該可以一直聽這歌單不會膩吧XD

另外一個撥放清單的歌混合了我從前到現在聽過覺得好聽的歌,各國語言都有,到目前也才 157 首,一樣可以用我上面 regex 的技巧取出歌名,但在複製 HTML 時,要記得自己用滑鼠拉到最後,不然預設好像只顯示 100 首,另外最後面可能會有幾首是 YouTube 推薦的,但因為是同 CSS 設定,故目前無法有效過濾,也許得用 VIM 手動砍掉推薦影片後面的 HTML 吧。

VIM 學習最後一哩路

除了工作站連線軟體不論,即使不連工作站,VIM 也算是我每天必開的軟體之一,雖然說辦公室也有安裝一套很久之前購買的 UltraEdit 13,但除了要跑 Verilog 外,我已經習慣不用 UltraEdit 的日子很久了。

當需要大量修改文字,可能會用 recording,比較不同 log 差異使用 vimdiff,另外簡易搜尋取代也算是每天必用功能之一。

感覺好像不是一般使用者了,但離鑽進 VIM 這顆蘋果的外皮也還差得很遠!

要說現在會的 VIM 技巧不夠用嗎?好像也不是!即使我的操作不是 VIM 打最少字的最佳範例,但要應付目前工作所需好像也還游刃有餘?

除了本來就有購買的《精通 vi 與 Vim 》第八版紙本書外,剛才又選了兩本英文電子書加入我的工具箱中,不到 300 的價錢真的是很超值,更別提這兩本書也是 DRM-Free。

有很多想看的書未看,但被生活與工作占領大半人生的現代人真的很悲哀,連想好好看本自己想看的書也沒時間。

明年的我還會有心情參加小老婆演唱會嗎?我很懷疑…

山不轉路轉

早上試著找出解決 YouTube Music 加入一個以上撥放清單的歌到待撥清單,按下隨機撥放卻只剩 25 首歌的問題。

想要試圖找出工程師的邏輯,將一些動作排列組合後情況依然無解,過程中還不小心將小老婆的歌單移除了幾首,害我想盡辦法找出來補回,本想將網頁存檔寫個 parser 找到這 50 首歌歌名備份,但這種 Web App 類的 code 都很髒,實在不想花時間做這種鳥事。

後來決定將救回來的歌單再備份一份取不同的名字,也順便將我開車想聽的不同播放清單音樂又另外儲存成一個播放清單,真是有你的 Google,數位垃圾就是這樣造成的。

除此之外,也把存的一些數學、3D 影像、數位邏輯等撥放清單刪一刪,順便把我喜歡的小老婆表情包變公開清單,就是喜歡小老婆也沒什麼好害羞的XD

目前暫時先用前導數字調整順序,改天再來好好安排規則。

YouTube Music、微軟新注音學習、無窮盡的網頁廣告,真是讓我越來越頭痛,這樣下去,只會讓人越來越不想用手機、用電腦以及上網。

3D 結構光撥放清單可刪,但電腦儲存的小老婆結構光檔案我可捨不得刪呀XD

想到去年的中秋、國慶連假還在家自行架設結構光環境學習,今年可真是人事已非…


2024/09/15 晚上更新

不就是正規表示法嗎?一片蛋糕罷了。

2024/10/02 更新

一樣的歌放兩個撥放清單真的很愚蠢!要新增可以一次勾選兩個清單新增,但要刪除只能兩邊清單個別點進去刪除。

不過有一個簡單的方法,點選不同撥放清單都有的歌,進去該首歌後,選擇儲存把原本勾選的按掉即可。

2024/11/09 更新

一切都是我想太多,單一個撥放清單的歌隨機還是會有問題,我到現在才明白XD

2024年9月14日 星期六

一些 sed 指令備忘

sed 還是有一些細微處不太明白,但現階段這樣就夠我用了,還是老樣子,不要太早最佳化!

什麼時候該鑽研,什麼時候又該無視,坦白說很難拿捏?

我想當覺得用起來不太順時,應該就是需要改進的時候了。

sed -i 取代檔案用
sed -e 直接對 stdin 

不管哪個都可以用一般取代跟 \1。

有多少愛可以重來

這星期中餐吃了好多次早餐店XD

一來是因為不用準備零錢,二來是因為天氣炎熱,實在不想搞到全身都是汗臭味,我已經從中午爬 10 層樓梯加走路,變成只有走路,到現在連路都不走了!

這星期某天吃午餐時,聽到一首還不錯聽的歌,使用聽聲搜尋後,得到的結果是趙乃吉的《有多少愛可以重來》,當時也未曾多想,便順勢的加入到 YouTube 的歌單中。

早上在聽該歌單的最後幾首時,剛好又聽到這首歌,不過老婆上完廁所後就把我正在聽的歌中斷,改去看我出錢訂閱的串流平台了?

剛好筆電是開機的狀態,因為當時還未記住歌名也未記住歌手,隨手用印象最深刻的歌詞『有多少愛可以重來』Google 了一下,才發現是迪克牛仔唱的,原本以為這就是原唱了,隨著無聊看了一下底下留言,才發現居然還有原主唱,最一開始居然是民國 83 年黃仲崑唱的,原來這是一首這麼老的歌呀,真是不查不知道。

只可惜人的第一印象很重要,我到現在還是覺得 Google 推薦給我的第三手歌手唱得比較好聽XD

連一首歌的原唱都這麼曲折離奇,如果不是我老婆強制中斷我正在聽的歌,如果我沒接著搜尋,如果看到迪克牛仔的影片後沒有繼續往下看留言,這三個條件只要一個不滿足,我到現在都還會以為原唱者是女生?

人還是不要太相信別人餵的資訊,凡事還是要自己思考後下判斷,不論判斷是對是錯,這都是一個避免有心人士操弄的最佳學習機會。

2024 week 37 新玩意

01. 不要太相信 EDA 文件

我是不知道 EDA 授權金額多少錢,但 EDA 文件普遍寫得不好倒是真的,看起來寫了很多,但對解決問題沒啥幫助,不然就是文件寫的跟指令實際行為有時候會對不起來。

不過前提是文件要先從頭到尾認真看一遍,最好要看 2 ~ 3 遍,如果還是覺得哪邊怪,那恭喜你,你不孤單XD

02. 除非特例,少用 GUI mode,不然容易當機

我們跑的設計應該很小,但我這星期就遇到當機 2 ~ 3 次了,原本都以為是該指令要跑很久,後來越想越不對勁,去 EDA license 頁面確認,果然該 license 已經沒有被占用,資源是已釋放的狀態。

我猜,EDA 應該有另一個 thread 定期回報授權主機,避免當機占用 license,畢竟授權不便宜。

因此,不管是在哪個模式下,如果覺得 EDA 好像當機了,給它個面子等個 30 分鐘左右,如果從授權主機看不到你的使用授權,就可以放心地使用 kill 砍掉該 process。

印象中,top 指令看到都還是 run,而不是 zombie?

03. EDA 相關工作要建立 SOP

EDA 動不動就要跑很久,錯了再來一次的時間成本很寶貴。

要做什麼之前最好先想好,檢查再檢查,最好有 check list 可以檢查。

VIM、Shell Script、grep 各種技巧要不斷精進,這都是可以提高工作效率的投資。

要建立自己的工作模式,比如開幾個工作視窗,要不要用分頁,視窗要擺在哪邊,養成下意識的動作,做起事來會比較流暢。

2024年9月13日 星期五

十三號星期五

這個星期都在跟某個 EDA 奮戰,明明照著文件下了幾個 debug command,結果都不符預期!連想要透過 check point 存檔進入 GUI mode 也無法隨心所欲。

還好我沒聽文件在唬爛,使用快失效 command 的 session 指令存檔進入 GUI mode 以避免重複執行的等待時間。

由於之前還不知道有這兩個 command,所以這星期至少打了 10 幾次 make 有,打久了對 make 每次都有 Error 也不免感到困惑?

原本以為是不是因為 makefile 是從別人的專案來的,故裡面有地方沒有用到 tab 字元?後來拿掉沒用的 target 後情況依舊,我才恍然大悟跟 makefile 本身無關。

網路上查了一下,那是 make 在執行指令時指令本身回傳的,也就是 EDA tool 回傳的。

剛寫了個測試程式試了一下,果然是這樣沒錯,現在只差不清楚為什麼 $? 永遠回傳 2 就是了?

以我的例子來說,make test 執行我的 test_make 時,因為不是回傳 0,故其實 make 也不會往下執行了,因此為了避免 make 不如預期浪費時間,畢竟 EDA 隨便都要跑一個小時以上,我的建議是在 makefile 要執行的指令前一律加上 -@,另外在 makefile 裡面要印出 $?,記得要變成 $$?

- ignore error
@ not display command


2024/09/14 更新

早上不死心繼續 Google 了一下,看到一篇之前就看過的文章,先前可能被 EDA 搞得很累,沒有很認真看那篇文章,但至少是從那篇文章知道 Error Code 是從指令來的。

原來 $? 之所以永遠回傳 2,那是因為對 GNU make 來說,這就表示 make 執行其他指令時有問題,故 make 遇到有錯一律會回傳 2

所以在執行 Shell Script 時,我們只需要關心 return code  是不是 0 就好了。

當然如果你的 Makefile 是在編譯執行檔,Error Code 還是多少有點用處,不過除錯這件事嗎,只能 case by case,沒有一個放諸四海皆準的道理。

另外,昨天建議加上 -@,睡過覺起來覺得似乎也不太對,約耳說,要讓錯出現在錯的地方,忽略它繼續往下走,其實也沒什麼幫助就是。

2024年9月8日 星期日

經營 Github 專案還真需要愛

當初開發了幾個 Kobo 專案,其中 KoboPageturner 已經不太用了,自從去年參考 KOReader issue 討論串後,已經可以直接用我的 Logitecn R500 在 KOReader 翻頁,再加上我的自製硬體翻頁器因為拙劣的焊接技術已經燒掉了,故這個專案可能只剩沒帶翻頁器時,臨時可以用手機充當翻頁器用。

至於其他兩個專案,Clare 2E or Libra 2 一定要上我的 patch 不然不能用藍牙,KoboFileServer 則是拿來 Wi-Fi 傳檔用,故還算是我還蠻常用的兩個專案。

今早收到 KoboFileServer 的 css patch,照該網友說法,似乎在小螢幕上會有問題?

由於我也不是專門寫網頁的人,故我也不太懂我原來的 css 哪邊會有問題,我猜應該是用 pixel 指定字型大小?

我這已經是夠冷門的專案了,到現在也才只有 3 個人發 patch,但想到還要回覆就有點懶XD

要回覆前,我得先自己測試,如果需要編譯我還得準備環境,畢竟這已經是兩年多前的專案了,我的電腦還有沒有環境我都不確定了?

結論就是,要經營 Github 專案還真需要愛呀,還好我不靠這個吃飯,有沒有 stars 我也不會很在意?

左邊是我原本的,右邊是網友改的,本想用抓圖方式,還要搞定無痕模式抓圖的限制,不然就是要裝另一套瀏覽器,想想就懶,直接開筆電相機抓圖就好XD


2024/09/12 更新

前天該網友有回信,原來所謂的小螢幕超出是指上下會出現 scroller bar,想了一下,既然有人有需求,乾脆加上 button 切換,馬上 Google 一番,搞定收工。

雖然我自己是比較喜歡原本的,但該網友有讓表格的字離邊框遠點,確實是比較好看,但預設畫面限縮在正中間導致字體變小,個人覺得是對老人比較不友善XD

2024年9月7日 星期六

消失的記憶

一直覺得有哪件事忘了記錄,剛剛終於想起來了。

我手上 Kobo Elipsa 裝的 Plato 版本似乎有問題,只要沒回到 Kobo 本身 OS,即使 Plato 有進入休眠,但隔天電就會被耗光,不知道是不是跟舊版有關就是了?

又或許進入 Plato 後,預設會開啟 Wi-Fi?導致電被耗光?

我也懶得深入追究了,目前先記得有這回事就好!

又是 Verilog

前幾天為了快速讓 DC 可以往後跑下去驗證環境是否正常,還沒等到樓上同事的回覆,我就已經先改好了,在我看了大神的幾篇 race conditon 文章後,個人覺得從 = 改成 <= 的結果是一樣的,畢竟在那個 T 中,外面取 signal 的其他 module,如果本身判斷處也是 sequential logic,勢必要在下一個 T 才能收到這個變化,不會因為這裡寫成 blocking assignment 就會有所改變,至少我個人目前的理解是這樣。

早上起床後有寫了支測試程式試了一下,看起來跟我想的一樣,但因為早上急著出門,一直到剛剛才有時間整理一下,馬上現學現賣早上學會的分割視窗功能,雖然這邊有點為用而用,畢竟 VIM 本身就可以分割視窗,但這裡真的是分割視窗,視窗分別各開一個 VIM。


畢竟我手上沒有 code,m1 module 是我憑大意寫出來的,但應該有還原出原模組的用意?

m1 out[1:0] 使用 Blocking assignment
m2 out[1:0] 使用 Non-blocking assignment

test1 使用 sequential logic 判斷 m1 out[1:0] 值用
test2 使用 sequential logic 判斷 m2 out[1:0] 值用

test3 使用 combinational logic 判斷 m1 out[1:0] 值用
test4 使用 combinational logic 判斷 m2 out[1:0] 值用


因為我 0ns 沒有拿來幹嗎,故 testbench 在這個時間點都用 blocking assignment。

為了避免 5ns 使用 blocking assignment 跟 clk assignment 產生 race condtion,我將 d 跟 flag 設值提早到 4ns 處,因為我 m1 和 m2 就是要在 5ns 開始判斷訊號做事,不要拖到下一個 posedge clok。  

10ns 雖然也是使用 Non-blocking assignment,但我沒有 negedge clk 的 case,故這裡即使用 blocking assignment 也不怕 race condtion。


從 waveform 可以看出,5ns 時,不管是 test1 或是 test2 在 testbench 那端,因為是用 sequential logic 去接 data 訊號,故輸出是 x。

相反的 test3 和 test4 因為是用 combinational logic 去接 data 訊號,故輸出是 1。

因此,截至目前為止,我對 Verilog 的理解是:

01. 在 testbench 那端使用 blocking assignment 設值,大部分情況在另一個 module 的循序邏輯都可以看到該訊號變化,但如果 testbench 那端的 data 設值是跟 clk 在同一個時間點,有可能 clk 會先改變(看各家 simulation 實作,Spec 這裡順序是不確定的,看誰先從 active region 被取出),這意味著在別的 module 的循序邏輯會看不到該訊號變化。

02. testbench non-blocking assignment 沒有異議,一定是別的 module 循序邏輯的下一個 clock 才能捕捉到。

03. 如果 module 組合邏輯的輸出,跟本身模組裡面的循序邏輯設值有關,即使是透過組合邏輯輸出,testbench 或是其他使用的 module 那端,也是要在下一個 clk 才會反映出來,除非使用端也是用組合邏輯接,但只要這個訊號有被其他循序邏輯用到,就是要等下一個 clk。

我的理解應該是對的吧?

眼球果真是兵家必爭之地

現代人娛樂太多但擁有的時間又太少,如何在有限的時間內盡量吸引民眾注意力,並將流量轉成紅利,我想應該是所有網紅、媒體業甚至是廣告業者等的必做功課吧?

雖然我很喜歡可愛的小老婆,但偶爾看到豆花妹的影片還是會稍微點一下,剛點的第一首歌曲是《迷人的危險》,副歌還不錯,但主歌就不是我會喜歡的旋律,真是可惜了這一首歌…

接下來又隨意點了 Youtube 下面推薦的另外一首歌《煙火》,這次就是我的菜,趕緊更新到我的歌單之中。

雖然推薦清單還有豆花妹其他的歌,但我已經懶得點了,即使對象是憑良心說比小老婆漂亮的豆花妹!因為一來我不喜歡受演算法主導,二來我是老人體力有限,沒有天大的吸引力我連點一下遙控器都懶,就像平常吹頭髮滑 Google Play Movie 或 Netflix 一樣,有時候從頭滑到尾,即使會考慮租借或是按下加入待看清單,但沒有一部電影真的會讓我願意花費體力以及時間去點下購買或撥放,我想我是真的老了,廉頗老矣XD

講到這裡,又想罵 Youtube Music 兩句,更新了一些歌曲,但一直沒機會將所有歌唱撥放清單好好地加入待撥歌單中並隨機撥放,老婆我也是不願意只聽小老婆的歌呀,都是 Google 害我的?

假設現在待撥歌單有 200 首歌,一點下隨機撥放按鈕後,可能只會剩下 20 首歌,這不知道是哪門子的隨機撥放,重點是看 Google Play 評論這個問題已經很久了,Google 真的已經不是我 20 幾年前認識的 Google 了,連我用左腳都能改的 bug 居然要拖那麼久?

逼得我只好將小老婆的歌單再取其精華另建新歌單(只是沒事找事做,順便讓小老婆好聽的歌在更好聽,同一個撥放清單的按下隨機是正常的,只有加了一個以上才有問題),原本只想要湊 23 首,畢竟劍聖最後也只有使出劍二十三,沒想到越加越多加到 Top 50,這樣也好,取其精華的好處就是每首歌聽了都開心XD

歌手除了唱歌好聽以及個人魅力有沒有觀眾緣外,歌曲好不好聽也是很重要滴,這樣算起來小老婆還算幸運,至少我個人覺得好聽的歌還真不少就是XD

唉,除了工作及家人外,要我願意花費時間的事情真的是不多了…

WSL 分割視窗

上一次頻繁使用 WSL 是為了搞定 Kobo Libra2 藍牙問題

今年換了新部門,工作時大幅使用 Linux 工作站,雖然我 20 幾年前就把 Linux 當個人電腦用,但也只限於上網,BBS,MSN 以及幫媽媽燒錄 VCD 給同事?

最近終於比較不用一直看文件,故也要趕快找時間熟悉 C Shell or Tcl 變專家,不然一有需求,為了不想浪費晚上時間的運用,勢必要趕在下班前把環境或 script 準備好,忙中容易出錯不說,也容易耽誤了下班時間。

WSL 就是一個很方便的東東,讓我不需要多重開機就可以使用 Linux,不過 spfdisk 我也 10 幾年沒用過就是了!

有時候想把心得抓圖放到 Blog,愚蠢的我居然是開兩個 WSL 並排來抓圖,早上終於想到要 Google 了XD

其實這很合理,一開始沒必要最佳化,但當重複事件不斷發生,就要開始優化工作流程了,畢竟我們可是聰明的工程師,數十年如一日不是吾輩該有的工作態度!

Alt + Shift + plus 開啟右邊視窗
Alt + Shift + minus 開啟下邊視窗

Power Shell 也適用

帥呀老皮

2024年9月6日 星期五

Tcl 變數邏輯

繼昨天了解 env var 如何判斷後,今天拿了之前買的一本 Tcl 紙本書去辦公室,放在辦公室應該比較有機會翻閱?

我在工作站建了兩支檔案,test.csh 以及 test.tcl,把練習過的語法寫在裡面,以後要找也方便。

不過,可能是看得還不夠多,到現在還是不太能抓到 Tcl 變數在不同 command 下,到底何時要加 $?


就拿常用的 for loop 來說,incr i 就不需要加 $,但是 llength 和 lindex 後面的 list 變數就要加 $,似乎不能單純看變數是否要改變來決定是否要加 $,又或者是 list 有它自己的規則?

2024/09/07 更新

昨天晚上想睡了,回頭看好像自打嘴巴,感覺以這裡來說,因為 incr 有改變值,所以才不加 $,好像還蠻合理,但 info exists command 確實是不用加 $,我印象中紙本書前幾頁也是有不用加 $ 的 command?