※ 本文轉寄自 ptt.cc 更新時間: 2022-05-17 19:05:13
看板 Tech_Job
作者 標題 [請益] ic design類似建築學的書籍
時間 Tue May 17 10:14:03 2022
打擾各位資深學長姐,小弟進入ic design產業,
目前已把線上資源HDL ,Verilog基本給念完
想詢問板上各位學長姐有推薦
ic design相關進階書籍嗎(原文也沒關係)
教導什麼樣的code會合出什麼樣的電路
或是一些Verilog的延伸技巧
我發現HDL是真的難,
最近練習交大lab,功能什麼的很快就寫完了,
跑模擬,波形也正確,
但合出來的電路根本不能用,
組合電路跟循序電路搞在一起,完全錯誤!
後續很怕自己一直在用錯誤的觀念在寫code,
但又沒有相關資源可輔助學習,
只有好心的學長在教我,但我不想一直麻煩他,怕造成學長困擾,因此來板上詢問前輩們
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 27.52.169.34 (臺灣)
※ 文章代碼(AID): #1YWmJjFK (Tech_Job)
※ 文章網址: https://www.ptt.cc/bbs/Tech_Job/M.1652753645.A.3D4.html
噓 : 洗文章嗎?google不會用?1F 05/17 10:17
推 : 去上TSRI的課啊 有教Synthesis的觀念2F 05/17 10:19
→ : 不然自強基金會看有沒有
→ : 不然自強基金會看有沒有
推 : HDL當一般語言在寫嗎?4F 05/17 10:29
→ : 謝謝w大5F 05/17 10:41
→ : aby 大 我有先自己搜尋一遍,但資訊通常都太片面,
→ : 因此想詢問板上有無推薦的書籍
→ : Edi大 我目前確實是有這樣的壞毛病,因此想改掉
→ : aby 大 我有先自己搜尋一遍,但資訊通常都太片面,
→ : 因此想詢問板上有無推薦的書籍
→ : Edi大 我目前確實是有這樣的壞毛病,因此想改掉
推 : 看github學阿 github也有verilog project9F 05/17 10:59
推 : 先從基本邏輯設計開始吧10F 05/17 11:04
推 : 你這樣都能進ic產業,我好不平衡喔11F 05/17 11:04
→ : 如果計算機架構夠熟,可以看胡振波的手把手設計CPU12F 05/17 11:07
→ : 印象中”複用ip的數位ic設計技術”也值得看一下
→ : 印象中”複用ip的數位ic設計技術”也值得看一下
→ : 會把combination 跟sequential 混用…… 其實網路書14F 05/17 11:15
→ : 很多。 先看下 Reuse methodology manual , 記得裡
→ : 頭有寫到coding guideline
→ : 很多。 先看下 Reuse methodology manual , 記得裡
→ : 頭有寫到coding guideline
推 : 不用那麼複雜 從入門的邏設看起吧 你連基礎都沒打17F 05/17 11:29
→ : 你的問題蠻需要經驗累積的,我建議一開始設計任何小18F 05/17 11:31
→ : 功能,1)訂好input/output,2)畫出input/output的
→ : 對應波形,3)靠組合電路、循序電路,把input轉成ou
→ : tput的波形,寫錯波形就會不一樣;之後就是拼裝小功
→ : 能成一個module…至於要知道hdl會合成什麼電路,多d
→ : ebug幾次gate sim或多ECO幾次就知道,你先波形對就
→ : 好。
→ : 功能,1)訂好input/output,2)畫出input/output的
→ : 對應波形,3)靠組合電路、循序電路,把input轉成ou
→ : tput的波形,寫錯波形就會不一樣;之後就是拼裝小功
→ : 能成一個module…至於要知道hdl會合成什麼電路,多d
→ : ebug幾次gate sim或多ECO幾次就知道,你先波形對就
→ : 好。
→ : 邏設+125F 05/17 11:32
→ : 其實你只要把 seq 電路和 combinational 電路分兩26F 05/17 11:51
→ : 個 always block 來寫,問題就會少很多
→ : 個 always block 來寫,問題就會少很多
→ : 謝謝各位前輩建議小弟發現可能原因,邏輯設計念的28F 05/17 12:17
→ : 不夠熟,這個禮拜我再來好好研讀一次
→ : Vi 大經過學長提點,目前我也是這樣寫,就分得蠻清
→ : 楚的
→ : 其實想詢問ic design建築學書,另外是想要建構自己
→ : 寫code的同時,心中要有電路,但這部分我覺得有點
→ : 難,想說能不能看範例code對應實際電路,來輔助自己
→ : 能更快達成
→ : Bc大 我目前寫lab,有先分好功能 畫好block diagram
→ : ,後續分別實現出來,因為lab電路算小,我是全部塞在
→ : 同一個module裡面,這樣子是正確的嗎,還是不同bloc
→ : k diagram就要用不同的module實現,後續再接線會比
→ : 較好
→ : Max大不好意思讓你有這種觀感,我目前是真的非常努
→ : 力的再補,如果您有好的建議,不介意的話,多鞭策
→ : 我,我會記在心裡,謝謝
→ : 不夠熟,這個禮拜我再來好好研讀一次
→ : Vi 大經過學長提點,目前我也是這樣寫,就分得蠻清
→ : 楚的
→ : 其實想詢問ic design建築學書,另外是想要建構自己
→ : 寫code的同時,心中要有電路,但這部分我覺得有點
→ : 難,想說能不能看範例code對應實際電路,來輔助自己
→ : 能更快達成
→ : Bc大 我目前寫lab,有先分好功能 畫好block diagram
→ : ,後續分別實現出來,因為lab電路算小,我是全部塞在
→ : 同一個module裡面,這樣子是正確的嗎,還是不同bloc
→ : k diagram就要用不同的module實現,後續再接線會比
→ : 較好
→ : Max大不好意思讓你有這種觀感,我目前是真的非常努
→ : 力的再補,如果您有好的建議,不介意的話,多鞭策
→ : 我,我會記在心裡,謝謝
推 : 邏輯設計>計算機組織>交大ICLAB 順序應該是這樣44F 05/17 12:32
推 : 卡卡45F 05/17 13:44
→ : Verilog HDL: A Guide to Digital Design and Synth46F 05/17 13:53
→ : esis 用這幾個關鍵字找找
→ : esis 用這幾個關鍵字找找
→ : 一個module要多大沒硬性規定,我個人是以能否複用48F 05/17 13:57
→ : 來切,像是syncer、crc;或者是能減少port,像FSM和
→ : 相關中途訊號…也是靠經驗累積,寫出自己覺得乾淨
→ : 的code
→ : 來切,像是syncer、crc;或者是能減少port,像FSM和
→ : 相關中途訊號…也是靠經驗累積,寫出自己覺得乾淨
→ : 的code
→ : 去考研究所拿到碩士 保證會52F 05/17 14:09
推 : 你有把blocking和non-blocking搞清楚嗎?感覺你是53F 05/17 14:25
→ : 不是combinational block 用non-blocking, sequenti
→ : al block 用 blocking寫法?或是更糟的是混用?
→ : 不是combinational block 用non-blocking, sequenti
→ : al block 用 blocking寫法?或是更糟的是混用?
推 : 太麻煩了 去念個碩士就好了56F 05/17 14:28
推 : 你可以自己先把簡單電路的timing 圖先把組合和時序57F 05/17 14:28
→ : 電路的timing分別畫出來,寫rtl時照timing圖寫,sim
→ : ulation出來比對看看對不對,這樣慢慢練習應該就有
→ : 概念了
→ : 電路的timing分別畫出來,寫rtl時照timing圖寫,sim
→ : ulation出來比對看看對不對,這樣慢慢練習應該就有
→ : 概念了
→ : 自己學那種半套的不如不要學61F 05/17 14:28
→ : 那個觀念出去工作都會跟其他人格格不入
→ : 而且自學沒人帶你兩年也學不到什麼
→ : 那個觀念出去工作都會跟其他人格格不入
→ : 而且自學沒人帶你兩年也學不到什麼
→ : 時序電路DFF delay可以在simulation時加個 #1 (ns)64F 05/17 14:29
→ : 去跑
→ : 去跑
→ : 然後面試官也不會想冒那麼大的風險66F 05/17 14:29
→ : 不如找一個碩士至少有被Q過
→ : 你花一個月搞懂的東西 有人教可能只需一天
→ : 不是說自學不好 而是效率問題
→ : 不如找一個碩士至少有被Q過
→ : 你花一個月搞懂的東西 有人教可能只需一天
→ : 不是說自學不好 而是效率問題
推 : 另外建議sequential和combinational 分2個always bl70F 05/17 14:33
→ : ocks寫,別混在一起寫
推 : 還有一個always block 可以的話只描述一個訊號就好
→ : ocks寫,別混在一起寫
推 : 還有一個always block 可以的話只描述一個訊號就好
→ : 給個關鍵字cdc, 這才是數位的門檻啊73F 05/17 14:52
推 : 你的敘述就是你的組合邏輯跟序向邏輯觀念一團糟,74F 05/17 15:04
→ : 才會寫出那種合不出來的東西
→ : 才會寫出那種合不出來的東西
推 : 他先把同clock domain的搞好再進階到跨clock domain76F 05/17 15:05
→ : 處理吧......XDDD
→ : 處理吧......XDDD
→ : 先把觀念搞懂,時序搞懂,尤其是DFF的操作,沒弄懂78F 05/17 15:05
→ : 的話一定會合成出垃圾
→ : 的話一定會合成出垃圾
→ : 現在要他理解cdc可能還太早80F 05/17 15:05
→ : 他現在連同CLK的設計都有問題了,拜託不要叫他先看81F 05/17 15:06
→ : CDC,雖然CDC面試必考就是了
→ : 邏輯設計先學好吧
→ : 先搞清楚DFF的操作和組合邏輯的差別
→ : CDC,雖然CDC面試必考就是了
→ : 邏輯設計先學好吧
→ : 先搞清楚DFF的操作和組合邏輯的差別
推 : 原po學歷一定很高85F 05/17 15:13
推 : HDL會變成實際的電路,就是所有code 都會一起動作87F 05/17 15:36
→ : ,需分清楚seq和非seq 差別,了解為什麼那樣寫會是
→ : FF,不要寫出combinational loop和latch。
→ : ,需分清楚seq和非seq 差別,了解為什麼那樣寫會是
→ : FF,不要寫出combinational loop和latch。
推 : 還有multiple clock會遇到的各種問題 都可以練習看91F 05/17 16:13
→ : 看怎麼加設計避免metastable
→ : 然後還有一些Memory block的操作之類的
→ : 寫TB可以用verdi vcs debug跟找coverage 100%的test
→ : pattern會好測很多
→ : 看怎麼加設計避免metastable
→ : 然後還有一些Memory block的操作之類的
→ : 寫TB可以用verdi vcs debug跟找coverage 100%的test
→ : pattern會好測很多
推 : verilog不用想得太複雜,交大線上課程看一看就差不96F 05/17 16:22
→ : 多了,我碩班不是IC組,畢業後也是在一線豬屎當數
→ : 位RD當了三年
→ : 多了,我碩班不是IC組,畢業後也是在一線豬屎當數
→ : 位RD當了三年
推 : 很好奇原po在哪一家公司?99F 05/17 16:23
→ : 感謝各位前輩,我再根據關鍵字去搜索內容100F 05/17 16:34
→ : 很抱歉無法對每個前輩的回答做出感謝,但提出的關
→ : 鍵字和建議,我一定會記錄下來,真的感謝各位前輩
→ : 的幫忙
→ : 很抱歉無法對每個前輩的回答做出感謝,但提出的關
→ : 鍵字和建議,我一定會記錄下來,真的感謝各位前輩
→ : 的幫忙
推 : 讚104F 05/17 17:26
推 : 有想努力就成功一半了
推 : 對了,不確定你知不知道,所以補充我前面說的,test
→ : bench的timescale 分子部分要寫1ns,這樣#1的單位
→ : 才是1ns,實際分子和分母要怎麼寫得看你的電路頻率
→ : 而定,但只是要練習驗function的話,分子寫1ns就好
推 : 有想努力就成功一半了
推 : 對了,不確定你知不知道,所以補充我前面說的,test
→ : bench的timescale 分子部分要寫1ns,這樣#1的單位
→ : 才是1ns,實際分子和分母要怎麼寫得看你的電路頻率
→ : 而定,但只是要練習驗function的話,分子寫1ns就好
→ : Per大 有! 我都寫1ns/1ns 看波形時比較好看110F 05/17 17:47
→ : 我發現每次認真發文問問題
→ : 其實Ptt上的人都蠻不錯的,雖然都刀子口豆腐心,但
→ : 大家還是會給出有用的建議,此篇不會刪,希望能幫助
→ : 其他初入門的designer
→ : 我發現每次認真發文問問題
→ : 其實Ptt上的人都蠻不錯的,雖然都刀子口豆腐心,但
→ : 大家還是會給出有用的建議,此篇不會刪,希望能幫助
→ : 其他初入門的designer
推 : 你需要的可能是一個優質的範例,有需要私信我115F 05/17 18:22
--
※ 看板: Tech_Job 文章推薦值: 0 目前人氣: 0 累積人氣: 119
回列表(←)
分享