做好晶元設計,這三種能力不可或缺

2021-10-10 21:34:09 字數 2937 閱讀 4319

​01

快速學習

晶元設計相關工作,有大量的知識和細節資訊需要學習,而且是限時學習,快速學習的能力非常關鍵。 

開發一顆晶元,需要廣泛研究競爭對手的資訊,學習相關行業標準,了解整機應用方案,調研各類**商【ip,軟體】的解決方案。 

讀文件是繞不過去的基本技能。

每乙個競品晶元的datasheet,行業標準,或者ip手冊,都是大幾百頁,甚至上千頁,有著不同的寫作套路,需要快速地從這些大部頭的文件資料中獲取到有用的資料資訊,用於設計決策,還是需要認真鍛鍊的。

拿到乙份資料,要先看目錄,再看基本介紹,快速了解基本內容概要,然後再針對感興趣的部分細緻閱讀。

特別提一點:對於寫文件的朋友,尤其是用word寫完轉pdf的朋友,請記得做好以下細節,會使得你的文件對使用者更友好【也顯得你比較專業】。

1、一定要有頁碼;

2、一定要有章節,並且轉換為pdf的標籤。

做好資料檢索非常關鍵。

要有正確的資訊渠道。向真正的專家諮詢,從專業的文件找資訊,有效利用搜尋引擎解決普通的技術問題。

簡單說,要找對人,看對書,還有不要懶,多搜尋一下,基本都能搞定。然後不斷總結,提高獲取答案的速度和效率。

怎樣問乙個好問題?

怎樣閱讀一本書?

使用搜尋引擎的基礎技巧?

這些值得花幾個小時研究一下,事半功倍。

構建個人系統知識體系是個長期過程。

要記得回顧,總結,輸出分享,並且逐步地把外在的知識內化成個人的知識體系結構。

可以搜尋一下【個人知識管理】,【個人筆記系統】等關鍵字,網上這類教程很多的。

很多知識大v的主要領域就是這一塊,有很多好的方法和觀點值得借鑑。

分析除錯

發現問題,分析問題,解決問題。大學裡面都講過,關鍵看實際中怎麼用。

就拿晶元設計與驗證來說吧。

怎樣快速發現問題?

採用先進的工具,方法學,還有規範的開發流程,能讓問題及早暴露。

寫**的時候,要考慮出錯的情況,盡可能【展示】錯誤而不是隱藏錯誤。比如,很多verilog的if else條件分支,對於不可能進入的分支,在**階段加入【x】態描述。

先做lint後做**,先做**後做fpga,先做cdc和sdc檢查再做綜合,先寫文件再寫**,先做需求調研再做技術開發,每一條都值得深入貫徹。不要把前一階段能夠簡單發現的問題,遺留到後一階段。

怎樣全面分析問題?

這裡涉及邏輯分析能力,系統思考能力,還有經驗,溝通能力。

前端設計中嚴重依賴eda工具,對於eda工具給出的log資訊要認真對待。

log分三種資訊,info,warning,error。

info告訴你工具在做什麼。要注意檢查流程步驟對不對,吃進去的資料版本,路徑,檔案列表,環境設定對不對。

warning是提示這裡可能有問題。要細緻檢查是不是**不規範,某個地方有潛在的bug,如果是,抓緊修復,如果不是,想辦法做個自動化指令碼或者加選項waive相關提示。帶著一堆warning跑flow,遲早會出大問題,絕不是危言聳聽。

error是好事,最起碼指明了問題的大致方向。可以查閱eda工具的error code文件。

怎樣從根本上解決問題?

dirty fix真的很dirty,大規模**重構容易引入完美主義傾向。這兩種要注意折中。

打patch很快,容易帶來設計冗餘。比如加個if else,把一大坨邏輯重寫一遍,用開關來控制向後相容。用的多了,總有一天自己也會掉坑的【各位老司機應該有體會】。

從根本上解決問題,要注意【根本】的範圍定義。時間,風險,收益,是需要認真決策的,這不是一句空話。

高效溝通

溝通是資訊的互動。

借用通訊工程系統概念,可以分為信源【傳送】,通道【傳輸】,信宿【接收】。

做乙個好的接收機。

我們溝通的目的,主要是為了獲取別人的幫助,因此,【聽】比【說】更關鍵。

要注意同頻共振,有效提高訊雜比,做好接收緩衝區管理,然後才能接收更多更好的資訊。

同頻共振:你先學好基礎知識,才更容易聽懂別人高層次的資訊。

訊雜比:減少情緒化溝通,虛心,空杯,有效篩選。

緩衝區:聽了要轉化,該用的用,該存的存,該扔的扔。

利用各種形式的溝通渠道。

書面的,口頭的,表情的,意會的。

寫郵件,是很多大公司的必備技能之一。注:之二是開會,之三是甩鍋。

要注意區分不同溝通方式的時效性,正式性,還有適應範圍。

開會的事情,我認同這個觀點:大會無大事,小會無小事。

看文件就能解決的問題,還非要開會,你要多想想這是為什麼呢?

最後,要敢於表現。

大聲說出你的觀點,哪怕對方不同意。

勇敢展示你的**,哪怕有很多bug。

努力寫好文件ppt,節省別人的時間。

最後,要學會捧場。

網上看到的觀點,寫的很到位:

最高的溝通境界,就是認真地看著對方吹牛,等著他吹不下去的時候,給他個梯子讓他繼續吹。

最後,要怎樣才能學會和提高這三種能力呢?

【未完待續,記得一鍵三連】

- the end -

往期精選

【免費】fpga工程師招聘平台

fpga | xilinx ise14.7 lvds應用

fpga零基礎學習:sdr sdram 驅動設計

fpga之通訊演算法工程師面試題3

fpga零基礎學習:ip core 之 fifo設計

一周掌握fpga verilog hdl語法 彙總篇

fpga工程師各類研修班,總有你需要的!

Docker LXC LXD這三種容器的區別

在部署完成cord 環境中,既有docker containers 又有lxd lxc containers。我便查閱了資料學習一下,並對它們的區別進行乙個小結 lxc和lxd 在介紹lxd之前先介紹lxc,因為lxd可以視作lxc的公升級版。lxd的管理命令和lxc的管理命令大多相同。lxc起源於...

個人理解這三種工廠模式

純屬個人理解,有錯請指出 簡單工廠模式 乙個工廠,裡面有靜態方法 用來決定例項化哪乙個類,返回乙個型別 這個型別 是例項化類的 父類 抽象類或者介面之類的 這些例項化的類都是繼承於同乙個介面或者抽象類。例項化的類中有實現介面或者抽象類的方法。工廠模式 跟簡單工廠模式很像。不同的是它有多個工廠,每個工...

缺頁中斷 FIFO LRU OPT這三種置換演算法

在請求分頁系統中,可以通過查詢頁表中的狀態位來確定所要訪問的頁面是否存在於記憶體中。每當所要訪問的頁面不在記憶體時,會產生一次缺頁中斷,此時作業系統會根據頁表中的外存位址在外存中找到所缺的一頁,將其調入記憶體。缺頁本身是一種中斷,與一般的中斷一樣,需要經過4個處理步驟 1.保護cpu現場 2.分析中...