Re: [請益] 影像IC設計疑問

看板Tech_Job作者 (baseband)時間8年前 (2017/02/12 01:25), 8年前編輯推噓5(5012)
留言17則, 7人參與, 最新討論串4/7 (看更多)
: 1. 驗證有二種, 一種是驗你的演算法好不好, 另一種是驗你的verilog寫得對不對 : 演算法的部份用C/C++寫會相對寫verilog好作事, C的免費compiler到處都有, : 但你要用HDL compile(simulator) 就要在linux, 還要多佔一套VCS/NC-verilog : 的lisence給你用, 你用免錢modelsim @windows 也是很麻煩. : 再來你要用C產生結果/圖檔/影片, 就呼叫OpenCV一下子就作出來了. 而且執行時間 : 大約5秒,但是你用HDL一張1080P搞不好要跑一小時才會有結果,一天跑個幾次就下班 : 驗証verilog的部份, 是因為HDL需要考慮pipeline不是那麼容易, 另外你要驗証時, : 不可能你一個一個驗, 你如果有一千支test case要測, 當然是用C寫個正確性相對高 : 的比對組, 在HDL模擬時用個perl 或C shell 來幫你自動比對, 你就可以去喝下午茶 其實小弟以前還有聽說過一個說法, 因為主要做影像IP 都是設計data path居多, 用不同的語言跟不同的人寫可以避免球員兼裁判的問題, 不過說真的這應該還是有風險吧~ 以前曾經遇過寫c code的人不小心參數下錯, 兩個人算出來結果都是0 結果後來ECO E的很爽 =.=, 所以千萬不要相信驗證完就沒事情這種事情 不過如果寫RTL的人只是把 C code當 golden 照翻應該要寫錯機率還是挺高的 話說阿, 如果你是做Control 類的電路, 應該驗證方法就不是使用 c code惹 會有其他的方法讓你做驗證 : 2. 不叫硬體作, 那就是要叫ARM之類的CPU作, 可是他還要跑OS, 幫你處理所有的週邊介 : 面, 處理小圖可能還可以, 但1080P60張以上很難來得及的, 所以要有硬體的圖形加 : 速器, 就像以前的處理器還要外掛浮點運算器, 現在則是加GPU, 所以大部份的人都 : 是在作, 假設CPU來不及作的, 就作一塊硬體專門作你來不及作的,而且可以作很快. 其實如果是死的東西, 一般應該會用ASIC處理吧? 因為ASIC基本上速度快很多, 尤其是那種8K以上的東西應該非得用ASIC了吧. 不然CPU處理速度好像很難跟上那麼高速, 不過有些東西好像還是用軟體吧? 畢竟ASIC死掉以後可以叫SW 去 Work Around XD : 3. 這個東西就要看他轉出來的品質好不好, 我想最大的問題是假設輸出結果都是正確的 : 如果你的硬要在40nm跑到350Mhz你到不了怎麼辦,或是你轉出來的作不到1080P60張, : 又該怎麼辦, 所以這個現階段拿來轉小模組或產生一些相對簡單的東西, 的確是一個 : 可以加速開發的好工具. 但終究還是要有人去精進你的硬體. 其實我覺得在大公司有個比較重要的就是可維護性, 別說機器轉的code, 連人寫的code也得有可維護性 以前我很喜歡寫技巧性的Code, 主管會把你電個半死, 一開始覺得是別人自己看不懂, 怪我喔, 我面積就是比你小一半怎樣, 老子爽 可是其實當你幾個月後發現你自己也看不懂你自己的code(不過其實我是覺得還好), 但是寫很難的Code主要是以後別人一直來問你這在寫什麼, 你就會覺得煩死了 然後你就覺得以後還是寫的平易近人點好了 就會發現可維護性其實還是挺重要的 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.226.100.129 ※ 文章網址: https://www.ptt.cc/bbs/Tech_Job/M.1486833905.A.A5F.html ※ 編輯: baseband112 (36.226.100.129), 02/12/2017 01:34:44

02/12 01:35, , 1F
推 可維護性
02/12 01:35, 1F

02/12 01:37, , 2F
如果知道那塊module的功能是什 內容看不懂還好 能接線就行
02/12 01:37, 2F

02/12 01:37, , 3F
問題哪有那麼簡單呀, 有時候要改演算法
02/12 01:37, 3F

02/12 01:38, , 4F
或是改Data Path
02/12 01:38, 4F

02/12 01:38, , 5F
以前還遇過IP 有陳年Bug在裡面的
02/12 01:38, 5F

02/12 01:38, , 6F
然後我罵了一句, 幹, 這誰寫的鳥Code
02/12 01:38, 6F

02/12 01:38, , 7F
就利馬得罪資深員工了XD
02/12 01:38, 7F

02/12 01:39, , 8F
難搞的往往不是Code, 是人
02/12 01:39, 8F

02/12 01:46, , 9F
你可以用婉轉一點的方式告訴他:這邊好像有點問題
02/12 01:46, 9F

02/12 01:46, , 10F
不是辣, 是我以為是已經離職的員工寫的,
02/12 01:46, 10F

02/12 01:47, , 11F
結果發現註解上面, Designer : xxxx, 幹 坐我附近
02/12 01:47, 11F

02/12 10:42, , 12F
RTL Code 會完全看不懂也是很難吧
02/12 10:42, 12F

02/12 11:07, , 13F
gate level netlist 也是RTL
02/12 11:07, 13F

02/12 11:10, , 14F
寫code的隨便化減 想看懂就有難度了
02/12 11:10, 14F

02/12 12:00, , 15F
一開始寫會覺得自己很有技巧,隔一個月看就覺得這三小.
02/12 12:00, 15F

02/12 18:48, , 16F
RTL 組合電路的部分用 gate level 似乎沒必要, Tool
02/12 18:48, 16F

02/12 18:48, , 17F
會幫你化簡
02/12 18:48, 17F
文章代碼(AID): #1OdqZnfV (Tech_Job)
討論串 (同標題文章)
文章代碼(AID): #1OdqZnfV (Tech_Job)