Re: [請益] 純軟往ic演算法易遇到的困難
做過幾年ic影像演算法開發
猜得出你想問什麼
個人覺得主要有三個面向不同於純軟
1. 定點化
沒有另外掛fpu的情況下演算法裡不能有浮點數邏輯運算
位元精度越高運算越貴
可使用的運算子也是有貴有便宜
基本上能用乘法器搭配位元運算就不要用除法器
能用常數乘法器就不要用變數乘法器
能用加法器就不要用乘法器
當然全部能用位元操作取代最好
同時間也要克服精度損失造成的演算法品質下降問題
2. 時間控制
ic產品的功能基本上都有時間性要求
例如監控要求幀率
觸控要求反應
換言之演算法複雜度必須是可控的
不是說不能寫迴圈
但至少不能寫成動態迴圈甚至遞迴
worst case的複雜度決定了演算法做不做得進ic
一個很常見的情況是某個運算必須等不只一路算完才能開始
這時再考慮多路計算結果的同步化
時間控制就更複雜了
3. 記憶體控制
純軟coding的習慣基本上就是memory富翁
中間計算結果想暫存多少就宣告多少
但ic演算法不行給你這樣用
進出ddr會影響整路系統設計
非重要輸出的計算產物不是存sram就是存register
但sram貴register也沒這麼多給你存
所以能同步算完的東西就盡量同步算完
能化簡就化簡
化簡到一次算完最好
以影像演算法來說frame buffer等級的資源是想都不用想了
先考慮你有幾條line buffer能用你才知道演算法能設計多大的濾波器
至於這些知識能不能進業界前先行補強
個人認為
很難也沒什麼必要
這種靠經驗累積的東西不來一場實戰也只是紙上談兵
等你第一次跟rtl工程師開會然後被噴某某邏輯運算合出來面積多大
你自然就會知道要怎麼優化了
那時你大概會產生兩種想法
一個是
馬的我不要做這些cost down的邏輯我要開發高大上演算法然後回到純軟
一個是
咦cost down滿有趣的呀感覺哪裡哪裡還可以再縮面積
時候到了你自然知道自己是哪一種人
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.216.28.131 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Tech_Job/M.1706099955.A.1DB.html
推
01/24 20:56,
3月前
, 1F
01/24 20:56, 1F
推
01/24 21:21,
3月前
, 2F
01/24 21:21, 2F
→
01/24 22:16,
3月前
, 3F
01/24 22:16, 3F
推
01/24 22:22,
3月前
, 4F
01/24 22:22, 4F
噓
01/24 22:56,
3月前
, 5F
01/24 22:56, 5F
→
01/24 22:56,
3月前
, 6F
01/24 22:56, 6F
推
01/24 22:58,
3月前
, 7F
01/24 22:58, 7F
→
01/24 23:02,
3月前
, 8F
01/24 23:02, 8F
→
01/24 23:02,
3月前
, 9F
01/24 23:02, 9F
推
01/24 23:07,
3月前
, 10F
01/24 23:07, 10F
→
01/24 23:33,
3月前
, 11F
01/24 23:33, 11F
→
01/24 23:33,
3月前
, 12F
01/24 23:33, 12F
→
01/24 23:33,
3月前
, 13F
01/24 23:33, 13F
→
01/24 23:33,
3月前
, 14F
01/24 23:33, 14F
推
01/24 23:35,
3月前
, 15F
01/24 23:35, 15F
推
01/25 00:05,
3月前
, 16F
01/25 00:05, 16F
推
01/25 00:11,
3月前
, 17F
01/25 00:11, 17F
推
01/25 00:44,
3月前
, 18F
01/25 00:44, 18F
推
01/25 01:32,
3月前
, 19F
01/25 01:32, 19F
推
01/25 02:43,
3月前
, 20F
01/25 02:43, 20F
推
01/25 06:39,
3月前
, 21F
01/25 06:39, 21F
推
01/25 07:12,
3月前
, 22F
01/25 07:12, 22F
推
01/25 07:58,
3月前
, 23F
01/25 07:58, 23F
推
01/25 08:21,
3月前
, 24F
01/25 08:21, 24F
推
01/25 10:09,
3月前
, 25F
01/25 10:09, 25F
推
01/25 10:17,
3月前
, 26F
01/25 10:17, 26F
推
01/25 10:57,
3月前
, 27F
01/25 10:57, 27F
推
01/25 11:41,
3月前
, 28F
01/25 11:41, 28F
推
01/25 12:34,
3月前
, 29F
01/25 12:34, 29F
推
01/25 13:29,
3月前
, 30F
01/25 13:29, 30F
推
01/25 14:23,
3月前
, 31F
01/25 14:23, 31F
推
01/25 14:25,
3月前
, 32F
01/25 14:25, 32F
推
01/25 17:04,
3月前
, 33F
01/25 17:04, 33F
推
01/25 17:32,
3月前
, 34F
01/25 17:32, 34F
推
01/25 18:14,
3月前
, 35F
01/25 18:14, 35F
推
01/25 18:17,
3月前
, 36F
01/25 18:17, 36F
→
01/25 18:17,
3月前
, 37F
01/25 18:17, 37F
→
01/25 19:06,
3月前
, 38F
01/25 19:06, 38F
推
01/25 21:09,
3月前
, 39F
01/25 21:09, 39F
推
01/26 00:19,
3月前
, 40F
01/26 00:19, 40F
推
01/26 08:07,
3月前
, 41F
01/26 08:07, 41F
推
01/26 12:37,
3月前
, 42F
01/26 12:37, 42F
推
01/26 23:18,
3月前
, 43F
01/26 23:18, 43F
→
01/26 23:18,
3月前
, 44F
01/26 23:18, 44F
→
01/26 23:19,
3月前
, 45F
01/26 23:19, 45F
推
01/27 10:08,
3月前
, 46F
01/27 10:08, 46F
→
01/27 10:08,
3月前
, 47F
01/27 10:08, 47F
推
01/28 06:51,
3月前
, 48F
01/28 06:51, 48F
→
01/28 06:51,
3月前
, 49F
01/28 06:51, 49F
→
01/28 06:51,
3月前
, 50F
01/28 06:51, 50F
→
01/28 06:51,
3月前
, 51F
01/28 06:51, 51F
→
01/28 06:51,
3月前
, 52F
01/28 06:51, 52F
→
01/28 06:51,
3月前
, 53F
01/28 06:51, 53F
→
01/28 06:51,
3月前
, 54F
01/28 06:51, 54F
→
01/28 06:51,
3月前
, 55F
01/28 06:51, 55F
推
01/28 12:47,
3月前
, 56F
01/28 12:47, 56F
推
01/29 15:52,
2月前
, 57F
01/29 15:52, 57F
討論串 (同標題文章)
完整討論串 (本文為第 4 之 5 篇):
請益
22
72