看板 Tech_Job 關於我們 聯絡資訊
: 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
cuteSquirrel: 推 可維護性 02/12 01:35
dakkk: 如果知道那塊module的功能是什 內容看不懂還好 能接線就行 02/12 01:37
baseband112: 問題哪有那麼簡單呀, 有時候要改演算法 02/12 01:37
baseband112: 或是改Data Path 02/12 01:38
baseband112: 以前還遇過IP 有陳年Bug在裡面的 02/12 01:38
baseband112: 然後我罵了一句, 幹, 這誰寫的鳥Code 02/12 01:38
baseband112: 就利馬得罪資深員工了XD 02/12 01:38
baseband112: 難搞的往往不是Code, 是人 02/12 01:39
smho: 你可以用婉轉一點的方式告訴他:這邊好像有點問題 02/12 01:46
baseband112: 不是辣, 是我以為是已經離職的員工寫的, 02/12 01:46
baseband112: 結果發現註解上面, Designer : xxxx, 幹 坐我附近 02/12 01:47
bluemkevin: RTL Code 會完全看不懂也是很難吧 02/12 10:42
Battie: gate level netlist 也是RTL 02/12 11:07
Battie: 寫code的隨便化減 想看懂就有難度了 02/12 11:10
s860134: 一開始寫會覺得自己很有技巧,隔一個月看就覺得這三小. 02/12 12:00
bluemkevin: RTL 組合電路的部分用 gate level 似乎沒必要, Tool 02/12 18:48
bluemkevin: 會幫你化簡 02/12 18:48