Re: [請益] 純軟往ic演算法易遇到的困難
我自己也是從純演算法開發寫C開始闖蕩
現在從比較上層的Python, C/C++到Verilog都寫過
我想你的問題可能會牽扯到很多個問題
1.你可能各語言熟悉度不高
今天同樣一個問題用不同語言實現他的優缺點是什麼
換句話說就是不同語言之間在乎的東西不一樣
對單執行緒的C來說你可以很容易的去追蹤程式執行的進程
像是演唱會一樣大家只要關心舞台上的人事物怎麼互動
但對RTL來說他是一堆很複雜的運算單元
大家只在乎自己的啟動條件跟執行
就像是園遊會的各攤販, 亂中有序且各司其職的撐起一場活動
也因為大家同一時間只看自己的input, 因此會有很多資料依賴性的問題
必須去思考取得資料的正確性
不同data path間有沒有存在delay等等
2.你可能對演算法的熟悉度不高
演算法只是一種概念, 背後設計的巧思可能會根據不同的實作方法變得有好有壞
比如bubble sort跟merge sort各自的優缺點是什麼
這些優缺點在不同語言實作時又會是怎麼樣的狀況
寫C的時候的memory控管跟寫RTL的memory控管分別又是怎麼一回事
如果你的演算法中有需要iterative回饋的
這回饋的延遲對演算法會造成什麼影響
浮點數精度會不會造成錯誤放大等等
結合以上兩點就會常常發生溝通上的代溝
寫C的演算法工程師不知道怎麼對RTL優化權衡
RTL的工程師也不敢或不會去對演算法修整
所以一個好的演算法又會寫RTL的工程師應該是可以規劃出一個良好的架構
在演算法結果跟硬體之間取的良好的平衡
至於怎麼定義一個好的平衡就是大哉問了
簡而言之你應該要知道你寫的程式其背後究竟是怎麼運作的
舉例來說C++ call by value/address/reference
你能了解到多細節, 還是只是單純覺得這樣寫可以達到目的就好
寫RTL的時候也是有for loop/generate可以用
但也是要清楚知道自己想描述的事情, 而不是製造怪物
※ 引述《dhm520 (哈囉你好嗎)》之銘言:
: 大家好,小弟四大機械學資工碩,
: 此篇文主要想請教ic廠演算法具體工作內容,以及資工背景往ic產業會遇到什麼具體瓶頸: ,
: 因小弟目前仍處在職涯摸索的階段,希望發文請益的過程能對這個產業更加理解,
: 以網路上得到的資訊,演算法的工作內容是撰寫 c model 並交給數位轉成rtl,而演算法: 與純軟的最大差異即:「需用硬體的思維寫程式」,ic演算法也不是資工系學的演算法,: 想請教的是:一般資工背景(我好像也不是純資工背景)的學生撰寫ic演算法通常會遇到什: 麼困難?例如不能用迴圈、除法嗎?還是會有其他常見的問題,是否有實際舉例?
: 目前小弟修過電資相關課程只有
: 資結、演算法、數位影像處理、信號與系統、數位訊號處理、作業系統,此外就完全沒有: 其他電資的修課經驗了,對電路設計也沒什麼基本概念,
: 請問若要補強,建議可修哪些課程?計算機組織?
: 謝謝大家的閱讀~
--
用systemc或pyverilog就好了,沒有人說要刻verilog
你的內容讓我想起大二修課回憶
還好吧 testbench寫好對答案就好
testbench要寫完整就不容易,例如x86的testbench
22
首Po大家好,小弟四大機械學資工碩, 此篇文主要想請教ic廠演算法具體工作內容,以及資工背景往ic產業會遇到什麼具體瓶頸 , 因小弟目前仍處在職涯摸索的階段,希望發文請益的過程能對這個產業更加理解, 以網路上得到的資訊,演算法的工作內容是撰寫 c model 並交給數位轉成rtl,而演算法X
純軟往ic會遇到的最大困難 就是你之前的學校夠不夠好 科系正不正確而已 verilog說穿了就是比c++簡單 熟c++的要轉verilog根本完全沒難度34
做過幾年ic影像演算法開發 猜得出你想問什麼 個人覺得主要有三個面向不同於純軟 1. 定點化 沒有另外掛fpu的情況下演算法裡不能有浮點數邏輯運算
28
[請益] MTK部門請益各位年薪500萬的大大好 小弟最近面試聯發科的校招/研發替代役,由於面了一些不同的部門,最近要苦惱要如何填寫志願序。 想請教各位大大有沒有關於這些部門的風氣,加班狀況等 1. WCT/CD1 & WCT/CD5 -> 內容應該是通訊的ic相關,寫RTL。 2. SPD5/DP1-5 -> 內容應該是串接EDA tool,提供公司內部使用。18
Re: [請益] 轉職仔的語言選擇語言不是重點,要看接在什麼主題後面 學寫程式,語言不是重點(O) 轉職,語言不是重點(O) 領更高的薪水,語言不是重點(O) 但,目的是了解程式,語言就是重點了1
[請益] Verilog、SystemVerilog、SystemC各自的想請教這三種語言在業界各自的價值以及使用場合 以及各自的優缺點,謝謝 比如寫RTL為什麼用Verilog 測試環境為什麼用SystemVerilog 甚至HLS用SystemC或C7
[問卦] 不用 C 寫資料結構跟演算法的人在想什麼一些比較高階的語言都內建很多方便的資料結構跟演算法, 像 list、tree、sort、hash 等,直接呼叫就好了, 不用 C 寫資料結構跟演算法的人在想什麼。 -- !!!!!!!!!!!!!!簽名檔破3000000點擊率啦!!!!!!!!!!!!!7
Re: [討論] 有哪些工程師不會被AI取代的嗎?寫程式不會被取代 但現在在寫的這批人可能會 現代軟工主要的競爭門檻是把想法轉換成程式碼的能力 簡單來說就是C++翻譯 python翻譯 java翻譯... 其實跟英文翻譯 日文翻譯很像的 以後程式語言逐漸往最高階語言 自然語言邁進 現代軟工的競爭優勢就大大降低了 讓AI寫code有點像給小孩玩的那種Scratch? 不用知道那麼多細節 甚至也不用管用哪種資料結構或演算法9
[請益] 文組轉職後端請益各位前輩好 小弟我114管院碩班 目前在內湖一間小公司實習 主要是寫R語言 還有超基礎的SQL6
Re: [火影] 火影觀眾們到底贊不贊同科學忍具這東西?自己身為程式猿的角度 就會覺得這情況還滿像考試和實際應用的差別 想像把結印當成是寫演算法 科學忍具就像是直接用先進程式語言呼叫方法 不用自己想怎麼結印 浪費腦力1
[閒聊] 寫演算法年薪200以上嗎小弟不才 不是很了解 只是看到朋友分享的求職cv 期望工作內容 演算法開發2
Re: [請益] 請問為什麼純軟比韌體好玩?推 flypaper: 我身邊純軟至上的人 大多對資料結構與演算法不熟悉 07/23 18:33 → flypaper: 又對CPU硬體架構與編譯器的行為沒有概念 07/23 18:33 → flypaper: 不過可能是樣本數大多位落在 網路前後端吧 07/23 18:35 阿肥我扯這些 只是曾經看到有些人只寫過應用層 卻說軔體很無聊 工作盡是查spec