Verilog 與 RTL Coding 新手指南:數位 IC 設計的關鍵知識

更新於 發佈於 閱讀時間約 4 分鐘
工程師的世界裡沒有魔法,只有還沒被理解的邏輯

自我介紹一下~~

我是 Joker,是目前這個 Share_N_Do_U 的創作者,也是一位在晶片設計相關領域的薪水小偷工程師。

由於我不確定對於這個領域大家有什麼概念,所以我想說就偶爾分享一下跟我這個專業相關的知識(有可能誤人子弟,請小心服用)。

反正我就想說依我現在的角度跟過往理解的知識,試著把專業講的白話分享給大家知道~(盡量)。若是有任何不懂,歡迎在底下留言跟我互動~

我的相關文章

我曾經寫過一篇用遊戲職業的角度描述我這個領域的文章 →

今天的主題:RTL coding

但我這次這篇主要是想要針對「數位 IC 設計工程師」方面的某一項工作內容做一個解釋,就當作是我想滿足我的分享欲,如果大家有什麼想交流以及指教的,我再強調一次,其實我是很期待的 !!!

那此篇的文章是 RTL coding 相關的。

工程師的刻板印象

就我認為,大多數的人對工程師都會有一個刻板印象,就是 — 應該會要打 Coding 阿!

但這種偏見是不是就跟所謂的醫師一樣~應該要會治病阿?(所以拱出有公主病的親朋好友,想要順便諮詢一番,瞬間又要醫生變成心理師

首先,每個行業的類別還有領域都會有差別的好嗎?

再來,你當你真的在看黑白大廚,可以叫日式的料理師傅去做印度料理嗎(但也好像不是不行?直接做出個日式咖哩?

總之我現在言論先澄清,這都是就我自己的想法跟偏見。如果你想把你的期待跟我討論,我很願意~

RTL 的介紹

在數位的設計的工作分類裡面,有一個工作的確是要打 Code 的沒錯。那打這個 Code 的,就是打名叫 RTL 的(不要在心裡給我同情 RTL)。

這個 RTL 的意思就是 (Redundant Technical LoserRegister Transfer Level

顧名思義就是(多餘的技術輸家)暫存器轉移級。

阿這是什麼意思?不就是把英文翻譯中文而已嗎?我能很不負責任地告訴你~沒錯!!!!

有講跟沒講一樣,聽君一席話,如聽一席話 XDDD

RTL 的白話解釋

不是啦其實我是想要講個大白話,意思就是這個名叫 RTL 的主要意義,就是控制什麼東西要在什麼時間點做什麼事而已。

RTL 的種類

而 RTL 又有分種類~一種是我熟悉的種類 ( Verilog ),一種是我不熟悉的種類 ( VHDL ),還有一種是我不太知道該怎麼分類的種類 ( 我還沒想到 )

那 Verilog 又有分兩種

  1. 變更沉重 的 Behavioral Level ( 跟我的體重一樣 )
  2. 死唱邱 的 Structural Level ( 這是台語發音 )

Behavioral vs Structural 的比喻

阿這兩種又有什麼差?

這就好比一個問題:你可以推薦一個好吃的食物嗎?

就我這個號稱愛吃鬼巧達的綽號,我會回答 El Mundo墨多的吉拿棒(這地點在新竹,這還是我的口袋名單,建議不要來嘗試,我怕我之後吃不到)。

但其實又以過去被稱為盜版神之舌的我又想回答(自己號稱):中筋麵粉加上少量的玉米澱粉、小蘇打、鹽和糖、水還有和油,透過 180 度高溫油炸,撒上 XX 糖粉以及肉桂粉。

這個兩個回答的感覺,就如同 Behavioral 以及 Structural 的關係:

  • Behavioral 是在人家可以很快理解的情況下,知道可以去哪裡取得
  • Structural 是在人家需要很詳細的材料組成下,知道組合過程與步驟

這兩個不是選一個就好,而是隨著階段不一樣出現的型態。

總結

所以這篇廢話一大多的文章重點到底是什麼?

最後我給大家回顧幾個重點:

我是 Joker AKA 愛吃鬼巧達 又自己號稱神之舌 最喜歡找好吃的食物吃

  1. 晶片設計有個工作是打 RTL code 的
  2. RTL code 目的就是控制什麼東西在什麼時間點做什麼事
  3. Verilog 是 RTL code 的一種,還有分 變更沉重的先生 與 死唱邱小姐 ( 或許你也可以用 SB 傻逼 來記 )

( 我這篇會打那麼多廢話,單純是因為我現在當下的內心戲很多,順便給大家感受感受 XD )

希望這篇文章能讓你對數位 IC 設計中的 RTL 有個初步的了解。下次我或許 可以 分享更多關於晶片設計流程的其他環節,如果大家有想留言在下面跟我交流美食口袋名單我是會非常開心的~~

avatar-img
9會員
29內容數
嗨大家好~我是 Joker 背景是因為曾經沒有做好資產配置跟風險管理 導致投資到一屁股債的爸爸 育有一子我都叫他豆哥 因為還沒擺脫債務所以想記錄到這中間的過程 所以有了這個空間 "分享給你" 這邊主要是 : 1. 分享觀點 2. 練習輸出 3. 記錄生活 可以來信聊聊:jokerandsharen@gmail.com
留言
avatar-img
留言分享你的想法!
Share-N-Do-U 的其他內容
你可能也想看
Google News 追蹤
IC設計流程大致如下 每個步驟都是必經過程,走完整個過程後輸出一版real chip |-----------------------| | 定SPEC | --- 決定 Function/clk period/製程liberary .
Thumbnail
你好,在下最近在學習開發web,學了html css js,也得出一些心得,由於網路上已有許多教學,所以我會著重在如何開發出to do List,以及解釋我寫的程式碼。相關的教學我會直接貼網址。如果我有什麼地方出錯,或者是可以寫得更好,歡迎在下方留言,討論。 首先先介紹我的開發環境: 我用了vs
Thumbnail
實際就業後,會發現收集與分析需求,通常都不是工程師在做,會有另一群人,以非工程的角度收集及分析需求,然後在開發過程中蹦出不同的火花,於是很好奇另一群人的想法是什麼?我不敢說這本書能完全代表另一群人的想法,但確實能夠得到很多有用的思維。推薦給所有的軟體工程師。
Thumbnail
經過這麼多年的觀察與實踐,一個成熟的軟體工程師還需要第四個要素,它是讓決定你通往熟手的重要關鍵沒有之一。
Thumbnail
替產業做設計 有人要我談程式設計,那我就稍微談一下。我從事的大都是產業的工作,所以我們也從如何替產業做設計來談起。基本上,每個產業都會有自己的作業流程,大同小異。但是基礎來做都是一樣的,都會有客戶、物料、產品、供應商、員工等資料。不同的是,由於企業型態的不同,他們每個人有不同的作業流程。這個作業流
Thumbnail
介紹C++ 語法 資料型態,架構說明 程式語言為人類與電腦溝通的工具 程式設計流程: 定義問題 -> 問題分析 -> 撰寫演算法 ->程式撰寫 -> 程式執行及維護
IC設計流程大致如下 每個步驟都是必經過程,走完整個過程後輸出一版real chip |-----------------------| | 定SPEC | --- 決定 Function/clk period/製程liberary .
Thumbnail
你好,在下最近在學習開發web,學了html css js,也得出一些心得,由於網路上已有許多教學,所以我會著重在如何開發出to do List,以及解釋我寫的程式碼。相關的教學我會直接貼網址。如果我有什麼地方出錯,或者是可以寫得更好,歡迎在下方留言,討論。 首先先介紹我的開發環境: 我用了vs
Thumbnail
實際就業後,會發現收集與分析需求,通常都不是工程師在做,會有另一群人,以非工程的角度收集及分析需求,然後在開發過程中蹦出不同的火花,於是很好奇另一群人的想法是什麼?我不敢說這本書能完全代表另一群人的想法,但確實能夠得到很多有用的思維。推薦給所有的軟體工程師。
Thumbnail
經過這麼多年的觀察與實踐,一個成熟的軟體工程師還需要第四個要素,它是讓決定你通往熟手的重要關鍵沒有之一。
Thumbnail
替產業做設計 有人要我談程式設計,那我就稍微談一下。我從事的大都是產業的工作,所以我們也從如何替產業做設計來談起。基本上,每個產業都會有自己的作業流程,大同小異。但是基礎來做都是一樣的,都會有客戶、物料、產品、供應商、員工等資料。不同的是,由於企業型態的不同,他們每個人有不同的作業流程。這個作業流
Thumbnail
介紹C++ 語法 資料型態,架構說明 程式語言為人類與電腦溝通的工具 程式設計流程: 定義問題 -> 問題分析 -> 撰寫演算法 ->程式撰寫 -> 程式執行及維護