※ 引述《ntucorner (台大角落)》之銘言:
: 大家好 小弟是大學生
: 對系上影像處理IC的實驗室有興趣
: 想了解相關內容 但因為是邊緣人找不到人問QQ
: 才來這裡發問 還請大家不吝賜教m(__)m
: 我想了解關於IC 的 design flow
: 之前看介紹是說先用C跟Matlab驗證演算法
: 再寫verilog 實現硬體
: 1.我好奇驗證演算法 為什麼要用兩種語言
: 驗證一種不夠嚴謹嗎
: 2.此外,這時都已經寫出軟體了
: 為何一定要特地做成IC
: 我是說指為何要做成硬體
: 3.另外好像也有C 轉 verilog 的軟體
: 一般不會用是為什麼呢?
: 感謝大家解惑m(__)m
我想你看到都亂了吧!大家討論非常多,狐狸精我來給你整理一下.
以下全部針對"影像"IC Design
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 來幫你自動比對, 你就可以去喝下午茶
2. 不叫硬體作, 那就是要叫ARM之類的CPU作, 可是他還要跑OS, 幫你處理所有的週邊介
面, 處理小圖可能還可以, 但1080P60張以上很難來得及的, 所以要有硬體的圖形加
速器, 就像以前的處理器還要外掛浮點運算器, 現在則是加GPU, 所以大部份的人都
是在作, 假設CPU來不及作的, 就作一塊硬體專門作你來不及作的,而且可以作很快.
3. 這個東西就要看他轉出來的品質好不好, 我想最大的問題是假設輸出結果都是正確的
如果你的硬要在40nm跑到350Mhz你到不了怎麼辦,或是你轉出來的作不到1080P60張,
又該怎麼辦, 所以這個現階段拿來轉小模組或產生一些相對簡單的東西, 的確是一個
可以加速開發的好工具. 但終究還是要有人去精進你的硬體.