工程師的世界裡沒有魔法,只有還沒被理解的邏輯
我是 Joker,是目前這個 Share_N_Do_U 的創作者,也是一位在晶片設計相關領域的薪水小偷工程師。
由於我不確定對於這個領域大家有什麼概念,所以我想說就偶爾分享一下跟我這個專業相關的知識(有可能誤人子弟,請小心服用)。
反正我就想說依我現在的角度跟過往理解的知識,試著把專業講的白話分享給大家知道~(盡量)。若是有任何不懂,歡迎在底下留言跟我互動~
我曾經寫過一篇用遊戲職業的角度描述我這個領域的文章 →
但我這次這篇主要是想要針對「數位 IC 設計工程師」方面的某一項工作內容做一個解釋,就當作是我想滿足我的分享欲,如果大家有什麼想交流以及指教的,我再強調一次,其實我是很期待的 !!!
那此篇的文章是 RTL coding 相關的。
就我認為,大多數的人對工程師都會有一個刻板印象,就是 — 應該會要打 Coding 阿!
但這種偏見是不是就跟所謂的醫師一樣~應該要會治病阿?(所以拱出有公主病的親朋好友,想要順便諮詢一番,瞬間又要醫生變成心理師)
首先,每個行業的類別還有領域都會有差別的好嗎?
再來,你當你真的在看黑白大廚,可以叫日式的料理師傅去做印度料理嗎(但也好像不是不行?直接做出個日式咖哩?)
總之我現在言論先澄清,這都是就我自己的想法跟偏見。如果你想把你的期待跟我討論,我很願意~
在數位的設計的工作分類裡面,有一個工作的確是要打 Code 的沒錯。那打這個 Code 的,就是打名叫 RTL 的(不要在心裡給我同情 RTL)。
這個 RTL 的意思就是 (Redundant Technical Loser) Register Transfer Level。
顧名思義就是(多餘的技術輸家)暫存器轉移級。
阿這是什麼意思?不就是把英文翻譯中文而已嗎?我能很不負責任地告訴你~沒錯!!!!
有講跟沒講一樣,聽君一席話,如聽一席話 XDDD
不是啦其實我是想要講個大白話,意思就是這個名叫 RTL 的主要意義,就是控制什麼東西要在什麼時間點做什麼事而已。
而 RTL 又有分種類~一種是我熟悉的種類 ( Verilog ),一種是我不熟悉的種類 ( VHDL ),還有一種是我不太知道該怎麼分類的種類 ( 我還沒想到 )
那 Verilog 又有分兩種
阿這兩種又有什麼差?
這就好比一個問題:你可以推薦一個好吃的食物嗎?
就我這個號稱愛吃鬼巧達的綽號,我會回答 El Mundo墨多的吉拿棒(這地點在新竹,這還是我的口袋名單,建議不要來嘗試,我怕我之後吃不到)。
但其實又以過去被稱為盜版神之舌的我又想回答(自己號稱):中筋麵粉加上少量的玉米澱粉、小蘇打、鹽和糖、水還有和油,透過 180 度高溫油炸,撒上 XX 糖粉以及肉桂粉。
這個兩個回答的感覺,就如同 Behavioral 以及 Structural 的關係:
這兩個不是選一個就好,而是隨著階段不一樣出現的型態。
所以這篇廢話一大多的文章重點到底是什麼?
最後我給大家回顧幾個重點:
(我是 Joker AKA 愛吃鬼巧達 又自己號稱神之舌 最喜歡找好吃的食物吃)
( 我這篇會打那麼多廢話,單純是因為我現在當下的內心戲很多,順便給大家感受感受 XD )
希望這篇文章能讓你對數位 IC 設計中的 RTL 有個初步的了解。下次我或許 可以 分享更多關於晶片設計流程的其他環節,如果大家有想留言在下面跟我交流美食口袋名單我是會非常開心的~~