Category Archives: 未分類

Emulator 小註解

根據 WIKI, Emulator 分為 hardware [1], software [2] 兩種. Hardware Emulator 是用 hardware 去模擬 IC 硬體, software emulator 則是用軟體去模擬 IC. 後者比較單純, 以我用過的 Analogic Device 的 DSP emulator, 只要設定 SRAM 的 delay cycle, 就可以知道自己寫的程式在 IC 能否跑得動.

而在 WIKI 的定義中,  ICE (In Circuit Emulator) 算 HW emulator, 但 FPGA (Field Programmable Gate Arrays) proto-typing 不算 HW emulator. 問題不出在 FPGA 不能當 HW Emulator, 而是出在 FPGA proto-typing 和 HW Emulator 有差距.

知乎這篇 [3] 說到, FPGA proto-typing 和 HW Emulator 的本質不同

  1. HW Emulator 可以處理的 gate 數較大, 即使要驗的電路變複雜, 也不像 FPGA 那樣 routing 愈複雜就跑得愈慢.
  2. HW Emulator 是由 CAD 提供一整套系統. 而 FPGA 買回來之後通常是 HW SD 做一張板子, IC designer 提供特製的 RTL 跑出來的 bitfile 檔. 為了配合 FPGA 的先天限制, 連 IC 的功能都不會完整放上 FPGA. 例如實際上跑 4 核 CPU, FPGA 上只放一核.
  3. “emulator可认为是软件simulator的硬件化,是虚拟世界;FPGA prototype是物理芯片流片前的原型化,是真实世界。” 這句話直接引用 [3]. 雖然兩者的 clock 都不夠真實, 但 emulator 下所有 IP 的 clock 能維持相對比例, 例如 CPU 可以模擬 1.5GHz, 並切搭配跑 700MHz 的 GPU. 但 FPGA 上的 CPU 就是和其它 IP 一樣都跑 MHz 等級.

三大 CAD 公司都有 Emulator 的產品, Cadence Palladium, Synopsys ZeBu, Mentor Veloce. 有趣的是,  Palladium 用特製的 processor 來實現, Veloce 用 ASIC 來實現, 而 Zebu 就是用 Xilinx 的 FPGA 來實現. 難怪 HW SD 會說: “你就把它想像成一個超大的 FPGA.”

Emulator 還有不同的操作模式:

  1. Stand-alone: 全部電路在 emulator 中單獨跑.
  2. ICE: 待測電路放在 emulator, 透過  speed bridge 接到高速週邊 USB 等等.
  3. Co-simulation: 和 server 上的 sw simulator co-sim. 例如模擬 Android 跑在 IC 上就有可能用到.

先筆記到這裡.

[Ref]

  1. https://en.wikipedia.org/wiki/Hardware_emulation
  2. https://en.wikipedia.org/wiki/Emulator
  3. https://www.zhihu.com/question/47732296

HDCP 2.3 小註解

上次寫了一篇 HDCP 相容性的筆記, 引起一些網友發問. 最近又浮出 Miracast 的客戶, 只好再研究一下, 順便拋磚引玉.

HDCP 分為應用於 on HDMI 以及應用於 Interface Independent (AV stream) 兩個狀況. 兩者最顯著的差異, 我認為是 encryption 就不同.

HDMI 的 HDCP cipher 在 section 3.0 HDCP encryption 中的 3.2.

AV stream 在 section 3.4 中描述的 HDCP cipher 則如下. 

兩張圖雖然都是 Figure 3.2, 但 AV stream 輸入的會以 32 bit 的  stream counter 和 64 bit 輸入的 LSB 做 XOR. HDCP TX 會針對每一個 PES 指定一個 32 bit 的 stream counter. 當然每個節目 (program) 的 stream counter 也會不一樣. 這樣切台時, 就要重新算一次新的值, 而不能跨台共用.


接下來關心 V2.3 和 V2.2 的差異. 在 Interface Independent 的部分.

V2.3 的規格書比 V2.2 多了一個 appendix 的 test vector 章節, 官網還特別放了 HDCP independent (for AV stream) 和 over HDMI 兩種 test vector 相容性測試文件. 除此之外, 最大的差異反映在 revoke 的能力, 其它的差異不大.  因此有家 Inside Secure 宣稱可以提供軟體升級 HDCP V2.3 [5].

所謂的 revoke 是說, upstream device (HDMI TX) “may” 對 downstream device (HDMI RX) 做 revoke list 的檢查. 如果這個 HDMI RX 是一個 repeater, 後面還接著一堆 HDMI device, 那麼它們的 receiver ID 也都在被檢查之列. 如果 receiver ID 出現在黑名單, 那 HDCP 的 authentication 就算失敗. 

基於這一點, V2.3 的 page 42 最前面還多了一段描述, 特別指出拔掉已經驗證過 HDCP receiver 也會觸發 RxStatus 變成不 ready.

第二大的差異是 HDCP V2.2 只提它和 HDCP2_0 的相容性, 這暗示 HDCP V2.2 和 V2.1 比較相容. 但 HDCP V2.3 常用 HDCP2_LEGACY 概括描述先前版本, 或者同時提到 V2.2 和 V2.1.

最後有個微小的差異是,  V2.3 當中, 有 18 處提到 TMDS (傳輸最小化差分訊號) 這個名詞, 而 V2.2 當中只提到 4 次 TMDS, 多出的這 14 個地方是用來釐清: TMDS 訊號未必都是 video pixel.

至於 HDCP V2.2 和 V2.3 都各自出現了 13 次 T.M.D.S. 沒有句點的 TMDS 是指訊號, T.M.D.S 是指這個技術, 常出現在方塊圖.


在 on HDMI 的部分. V2.3 和 V2.2 的差異也都是那些: test vector, revoke 之類的. 我看到唯二更不同是:

(1) 特別提到 audio 要參照 Exhibit C section 3.3.1.

(2) Page 39 的 Figure 2.16 的說明改了. State C0: Unauthenticated 多了一個 upstream side de-assert HDCP_HPD 的選項. 原本 State C0 就是 receiver 在等著進到 authentication 而已.

[Ref]

  1. https://www.digital-cp.com/sites/default/files/specifications/HDCP%20Interface%20Independent%20Adaptation%20Specification%20Rev2_2_FINAL.pdf
  2. https://digital-cp.com/sites/default/files/HDCP%20Interface%20Independent%20Adaptation%20Specification%20Rev2_3.pdf
  3. https://www.digital-cp.com/sites/default/files/specifications/HDCP%20on%20HDMI%20Specification%20Rev2_2_Final1.pdf
  4. https://www.digital-cp.com/sites/default/files/HDCP%20on%20HDMI%20Specification%20Rev2_3.pdf
  5. https://advanced-television.com/2019/01/08/inside-secure-debuts-software-only-solution-for-hdcp-2-3/

 

2018 投資檢討

話說 2018 年的投資真如坐雲霄飛車一般, 整整一個月以前, 那是我今生迄今最有錢的一天. 但 2018 年封關之後, 整個獲利率就縮到 1.12%, 幾乎是在定存了, 真是叫人情何以堪啊~~~

放眼台股, 表現也不怎麼好. 連續獲利好幾年的公司治理指數終於吃鱉了. 而高股息指數罕見地打敗了台灣 50. 異軍突起的高息低波動指數則暫且在 2018 年領先群雄.

指數 大盤 台灣 50 高股息 公司治理 高息低波動
2017年 18,234.75 13,825.76 11,570.64 6,767.86 3,466.96
2018 年 17,354.55 13,215.20 11,715.45 6,561.71 3,604.94
報酬率 -4.83% -4.42% 1.25% -3.05% 3.98%

去年做得最好的一件事就是為了避新制所得稅, 在除息前把台股全部賣光光, 雖然不是賣在最高點, 也算是逢高賣出. 除了”永記” (1726) 成交量小, 買價差, 真的很難賣, 只好留著一部分繼續咬布袋之外.

做得不好的就是沒有留下現金, 而是轉身投入過高的美股 ETF 和打底的陸股 ETF. 這兩個投資都是虧損的. 美股雖然跌還有個分寸. 這陸股就刺激了, 03169 ETF 均價 8.6, 標準差 0.81 (只觀察持有區間), 所以 2018 年是以 10% 左右的幅度正常能量釋放, 讓人愈練神經愈大條.

按照薛教授的五線譜投資法, 投入陸股沒什麼錯. 只是要等待.  投入美股就有點急躁. 當時跟著台股大換血, 美股也順便賣光光, 波克夏賣在 220.6 USD, 可樂賣在 42.22 USD 都很漂亮. 只是 VIG 買點不好, 買了一直跌, 嗚嗚嗚~~~ 當初買 VPU 就好了.

套句同事法蘭克的話, 金融風暴的虧損, 在歷史長河上也只是一個小激凸. 希望這些 ETF 大軍 (VIG, VDC, 高息低波動, 02801.HK, 03169.HK, 03140.HK) 和小個股 (KO, BRK.B, 永記) 以後可以幫我拗回來. 

其實我還有買一點 “統一” (1216), 當作資金棲息的地方, 避免手癢去亂買別的. 雖然這是學老農夫, 但買點不太好. 又因為 Q2 之前一定要賣掉避股息所得稅. 也不算是長期投資. 不長不短, 有點畫虎不成反類犬的感覺.

這部分我還是應該 follow 艾蜜莉, 買進前多點耐心. 不要因為沒有時間研究就輕易地出手. “阿母, 我又亂花錢了.”  希望以後我都不用再這麼說.