[請益] ic design類似建築學的書籍

看板: tech_job時間: 2022年05月17日作者: a0916581938

打擾各位資深學長姐,小弟進入ic design產業, 目前已把線上資源HDL ,Verilog基本給念完 想詢問板上各位學長姐有推薦 ic design相關進階書籍嗎(原文也沒關係) 教導什麼樣的code會合出什麼樣的電路 或是一些Verilog的延伸技巧 我發現HDL是真的難, 最近練習交大lab,功能什麼的很快就寫完了, 跑模擬,波形也正確, 但合出來的電路根本不能用, 組合電路跟循序電路搞在一起,完全錯誤! 後續很怕自己一直在用錯誤的觀念在寫code, 但又沒有相關資源可輔助學習, 只有好心的學長在教我,但我不想一直麻煩他,怕造成學長困擾,因此來板上詢問前輩們 --
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 27.52.169.34 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Tech_Job/M.1652753645.A.3D4.html
1Fabyssa1: 洗文章嗎?google不會用? 05/17 10:17
2Fwwwson1256: 去上TSRI的課啊 有教Synthesis的觀念 05/17 10:19
3Fwwwson1256: 不然自強基金會看有沒有 05/17 10:20
4Fedison106: HDL當一般語言在寫嗎? 05/17 10:29
5Fa0916581938: 謝謝w大 05/17 10:41
6Fa0916581938: aby 大 我有先自己搜尋一遍,但資訊通常都太片面, 05/17 10:42
7Fa0916581938: 因此想詢問板上有無推薦的書籍 05/17 10:42
8Fa0916581938: Edi大 我目前確實是有這樣的壞毛病,因此想改掉 05/17 10:43
9Fpponywong: 看github學阿 github也有verilog project 05/17 10:59
10Findi16: 先從基本邏輯設計開始吧 05/17 11:04
11FMax112358: 你這樣都能進ic產業,我好不平衡喔 05/17 11:04
12Fbcew: 如果計算機架構夠熟,可以看胡振波的手把手設計CPU 05/17 11:07
13Fbcew: 印象中”複用ip的數位ic設計技術”也值得看一下 05/17 11:10
14FTsmcEE: 會把combination 跟sequential 混用…… 其實網路書 05/17 11:15
15FTsmcEE: 很多。 先看下 Reuse methodology manual , 記得裡 05/17 11:15
16FTsmcEE: 頭有寫到coding guideline 05/17 11:15
17Faowen: 不用那麼複雜 從入門的邏設看起吧 你連基礎都沒打 05/17 11:29
18Fbcew: 你的問題蠻需要經驗累積的,我建議一開始設計任何小 05/17 11:31
19Fbcew: 功能,1)訂好input/output,2)畫出input/output的 05/17 11:31
20Fbcew: 對應波形,3)靠組合電路、循序電路,把input轉成ou 05/17 11:31
21Fbcew: tput的波形,寫錯波形就會不一樣;之後就是拼裝小功 05/17 11:31
22Fbcew: 能成一個module…至於要知道hdl會合成什麼電路,多d 05/17 11:31
23Fbcew: ebug幾次gate sim或多ECO幾次就知道,你先波形對就 05/17 11:31
24Fbcew: 好。 05/17 11:31
25Fsuper88168: 邏設+1 05/17 11:32
26Fvivid23: 其實你只要把 seq 電路和 combinational 電路分兩 05/17 11:51
27Fvivid23: 個 always block 來寫,問題就會少很多 05/17 11:51
28Fa0916581938: 謝謝各位前輩建議小弟發現可能原因,邏輯設計念的 05/17 12:17
29Fa0916581938: 不夠熟,這個禮拜我再來好好研讀一次 05/17 12:17
30Fa0916581938: Vi 大經過學長提點,目前我也是這樣寫,就分得蠻清 05/17 12:18
31Fa0916581938: 楚的 05/17 12:18
32Fa0916581938: 其實想詢問ic design建築學書,另外是想要建構自己 05/17 12:22
33Fa0916581938: 寫code的同時,心中要有電路,但這部分我覺得有點 05/17 12:22
34Fa0916581938: 難,想說能不能看範例code對應實際電路,來輔助自己 05/17 12:22
35Fa0916581938: 能更快達成 05/17 12:22
36Fa0916581938: Bc大 我目前寫lab,有先分好功能 畫好block diagram 05/17 12:26
37Fa0916581938: ,後續分別實現出來,因為lab電路算小,我是全部塞在 05/17 12:26
38Fa0916581938: 同一個module裡面,這樣子是正確的嗎,還是不同bloc 05/17 12:26
39Fa0916581938: k diagram就要用不同的module實現,後續再接線會比 05/17 12:26
40Fa0916581938: 較好 05/17 12:26
41Fa0916581938: Max大不好意思讓你有這種觀感,我目前是真的非常努 05/17 12:31
42Fa0916581938: 力的再補,如果您有好的建議,不介意的話,多鞭策 05/17 12:31
43Fa0916581938: 我,我會記在心裡,謝謝 05/17 12:31
44Fqwertyu12388: 邏輯設計>計算機組織>交大ICLAB 順序應該是這樣 05/17 12:32
45Fsnow10725: 卡卡 05/17 13:44
46Fvagor: Verilog HDL: A Guide to Digital Design and Synth 05/17 13:53
47Fvagor: esis 用這幾個關鍵字找找 05/17 13:53
48Fbcew: 一個module要多大沒硬性規定,我個人是以能否複用 05/17 13:57
49Fbcew: 來切,像是syncer、crc;或者是能減少port,像FSM和 05/17 13:57
50Fbcew: 相關中途訊號…也是靠經驗累積,寫出自己覺得乾淨 05/17 13:57
51Fbcew: 的code 05/17 13:57
52FGABA: 去考研究所拿到碩士 保證會 05/17 14:09
53Fpeterlin0224: 你有把blocking和non-blocking搞清楚嗎?感覺你是 05/17 14:25
54Fpeterlin0224: 不是combinational block 用non-blocking, sequenti 05/17 14:25
55Fpeterlin0224: al block 用 blocking寫法?或是更糟的是混用? 05/17 14:25
56Fgoodideals: 太麻煩了 去念個碩士就好了 05/17 14:28
57Fpeterlin0224: 你可以自己先把簡單電路的timing 圖先把組合和時序 05/17 14:28
58Fpeterlin0224: 電路的timing分別畫出來,寫rtl時照timing圖寫,sim 05/17 14:28
59Fpeterlin0224: ulation出來比對看看對不對,這樣慢慢練習應該就有 05/17 14:28
60Fpeterlin0224: 概念了 05/17 14:28
61Fgoodideals: 自己學那種半套的不如不要學 05/17 14:28
62Fgoodideals: 那個觀念出去工作都會跟其他人格格不入 05/17 14:28
63Fgoodideals: 而且自學沒人帶你兩年也學不到什麼 05/17 14:29
64Fpeterlin0224: 時序電路DFF delay可以在simulation時加個 #1 (ns) 05/17 14:29
65Fpeterlin0224: 去跑 05/17 14:29
66Fgoodideals: 然後面試官也不會想冒那麼大的風險 05/17 14:29
67Fgoodideals: 不如找一個碩士至少有被Q過 05/17 14:30
68Fgoodideals: 你花一個月搞懂的東西 有人教可能只需一天 05/17 14:31
69Fgoodideals: 不是說自學不好 而是效率問題 05/17 14:32
70Fpeterlin0224: 另外建議sequential和combinational 分2個always bl 05/17 14:33
71Fpeterlin0224: ocks寫,別混在一起寫 05/17 14:33
72Fpeterlin0224: 還有一個always block 可以的話只描述一個訊號就好 05/17 14:37
73Fcalither: 給個關鍵字cdc, 這才是數位的門檻啊 05/17 14:52
74Fxx890197: 你的敘述就是你的組合邏輯跟序向邏輯觀念一團糟, 05/17 15:04
75Fxx890197: 才會寫出那種合不出來的東西 05/17 15:04
76Fpeterlin0224: 他先把同clock domain的搞好再進階到跨clock domain 05/17 15:05
77Fpeterlin0224: 處理吧......XDDD 05/17 15:05
78Fxx890197: 先把觀念搞懂,時序搞懂,尤其是DFF的操作,沒弄懂 05/17 15:05
79Fxx890197: 的話一定會合成出垃圾 05/17 15:05
80Fpeterlin0224: 現在要他理解cdc可能還太早 05/17 15:05
81Fxx890197: 他現在連同CLK的設計都有問題了,拜託不要叫他先看 05/17 15:06
82Fxx890197: CDC,雖然CDC面試必考就是了 05/17 15:06
83Fxx890197: 邏輯設計先學好吧 05/17 15:07
84Fxx890197: 先搞清楚DFF的操作和組合邏輯的差別 05/17 15:08
85FKururu8079: 原po學歷一定很高 05/17 15:13
86Fduffrose: https://tinyurl.com/2p85fkdr 電路跟code的對照書 05/17 15:36
87Fcalither: HDL會變成實際的電路,就是所有code 都會一起動作 05/17 15:36
88Fcalither: ,需分清楚seq和非seq 差別,了解為什麼那樣寫會是 05/17 15:36
89Fcalither: FF,不要寫出combinational loop和latch。 05/17 15:36
90Fduffrose: https://tinyurl.com/22xm9w4f 很多電路的code的書 05/17 15:38
91Fwwwson1256: 還有multiple clock會遇到的各種問題 都可以練習看 05/17 16:13
92Fwwwson1256: 看怎麼加設計避免metastable 05/17 16:13
93Fwwwson1256: 然後還有一些Memory block的操作之類的 05/17 16:14
94Fwwwson1256: 寫TB可以用verdi vcs debug跟找coverage 100%的test 05/17 16:15
95Fwwwson1256: pattern會好測很多 05/17 16:15
96Flarryedaybon: verilog不用想得太複雜,交大線上課程看一看就差不 05/17 16:22
97Flarryedaybon: 多了,我碩班不是IC組,畢業後也是在一線豬屎當數 05/17 16:22
98Flarryedaybon: 位RD當了三年 05/17 16:22
99Fpeterlin0224: 很好奇原po在哪一家公司? 05/17 16:23
100Fa0916581938: 感謝各位前輩,我再根據關鍵字去搜索內容 05/17 16:34
101Fa0916581938: 很抱歉無法對每個前輩的回答做出感謝,但提出的關 05/17 16:36
102Fa0916581938: 鍵字和建議,我一定會記錄下來,真的感謝各位前輩 05/17 16:36
103Fa0916581938: 的幫忙 05/17 16:36
104Fpeterlin0224: 讚 05/17 17:26
105Fpeterlin0224: 有想努力就成功一半了 05/17 17:27
106Fpeterlin0224: 對了,不確定你知不知道,所以補充我前面說的,test 05/17 17:31
107Fpeterlin0224: bench的timescale 分子部分要寫1ns,這樣#1的單位 05/17 17:31
108Fpeterlin0224: 才是1ns,實際分子和分母要怎麼寫得看你的電路頻率 05/17 17:31
109Fpeterlin0224: 而定,但只是要練習驗function的話,分子寫1ns就好 05/17 17:31
110Fa0916581938: Per大 有! 我都寫1ns/1ns 看波形時比較好看 05/17 17:47
111Fa0916581938: 我發現每次認真發文問問題 05/17 17:57
112Fa0916581938: 其實Ptt上的人都蠻不錯的,雖然都刀子口豆腐心,但 05/17 17:57
113Fa0916581938: 大家還是會給出有用的建議,此篇不會刪,希望能幫助 05/17 17:57
114Fa0916581938: 其他初入門的designer 05/17 17:57
115Fsmith2012: 你需要的可能是一個優質的範例,有需要私信我 05/17 18:22
116FOBTea: 身為一個整合者,不太建議用#1 05/17 19:41
117FOBTea: EDA 有時會水土不服 05/17 19:45
118Fpeterlin0224: 嗯嗯,也是,純粹希望幫原po釐清電路動作 05/17 20:36
119Fpeterlin0224: 他應該還在function sim的階段,只能這樣多增加一 05/17 20:39
120Fpeterlin0224: 些瞭解 05/17 20:39
121Fpeterlin0224: 不過我印象DC會自動忽略#才對,好奇是哪個階段的EDA 05/17 20:40
122Fpeterlin0224: tool會水土不服? 05/17 20:40
123Fgz9548171: 前面幾樓都這麼派的嗎 05/18 00:26
124FOBTea: 印象中是Simens家出的事 05/18 07:46
125Faowen: 遲早要習慣沒有#,不如一開始就不寫 05/18 08:29
126Fpeterlin0224: 熟了平常design用不太到是真的,但有些情況例如跑po 05/18 08:46
127Fpeterlin0224: st-STA時,有些整進來的IP是掛model,沒有辦法有spe 05/18 08:46
128Fpeterlin0224: f,這時候也是要自己去對model DFF output 加delay 05/18 08:46
129Fpeterlin0224: ,不然有時候會有一些不真實或奇怪的現象 05/18 08:46
130Fpeterlin0224: 所以他自己最好要有這種概念,對他將來clarify一些 05/18 08:47
131Fpeterlin0224: 狀況會有幫助….XDDD 05/18 08:47
132Fsamm3320: 你的機運真好 05/18 09:09
133Fpeterlin0224: 可能有點講錯,是post-sim時有些時期合作部門還給 05/18 09:15
134Fpeterlin0224: 不出整進來ip的netlist和sdf,這時候會先掛model跑 05/18 09:15
135Fpeterlin0224: ,有些model interface output要自己加delay,不然p 05/18 09:15
136Fpeterlin0224: ost-sim會跑出一些奇怪現象 05/18 09:15
137Fpeterlin0224: Post-sta一般要查interface timing,會整個netlist 05/18 09:22
138Fpeterlin0224: 都掛spef 或sdf ,不會掛model,釐清一下 05/18 09:22
139Fpeterlin0224: 總之,我覺得他自己還是要知道哪些情況可以自己加# 05/18 09:26
140Fpeterlin0224: delay來釐清或學習比較好,當然現在design階段是 05/18 09:26
141Fpeterlin0224: 不太會特別去加這東西沒錯 05/18 09:26
142FOBTea: macro化的IP 可以用 hierarchical STA 05/18 09:35
143Fpeterlin0224: Post sta我們公司整合部門會直接給這一區塊完整的sp 05/18 09:44
144Fpeterlin0224: ef,主要問題在post-sim對方暫時給不出hardmacro sd 05/18 09:44
145Fpeterlin0224: f 時,需要自己去對model做一些修改,這算是一個deb 05/18 09:44
146Fpeterlin0224: ug知識和技巧 05/18 09:44
147Fpeterlin0224: 其實spef 或sdf也是Apr 部門(physical design部門) 05/18 09:46
148Fpeterlin0224: 給,整合部門算中間部門,會幫忙整進環境後給我們跑 05/18 09:46
149Fpeterlin0224: 有些公司會有DV幫忙跑post sim,我們這邊是post sim 05/18 09:47
150Fpeterlin0224: 和post sta都是designer自己跑,事情比較多一點 05/18 09:47
151Fpeterlin0224: DV只跑function regression和一些coverage check 05/18 09:48
152FOBTea: HSTA 是一個讓 top 和 macro 可以同時收斂timing的 05/18 10:47
153FOBTea: 方法 05/18 10:47
154Fpeterlin0224: 我不是整合部門的人,但認知上HSTA應該是一個在複 05/18 11:17
155Fpeterlin0224: 雜soc下,整合度較高,節省較多sta run time或減少 05/18 11:17
156Fpeterlin0224: 來回更迭的方式,實際timing收斂無論是前面階段改de 05/18 11:17
157Fpeterlin0224: sign,或後面階段靠APR和整合部門透過一些手段改net 05/18 11:17
158Fpeterlin0224: list來收斂timing,應該沒辦法完全用 HSTA取代,不 05/18 11:17
159Fpeterlin0224: 知道我的認知對不對?觀念上STA最終還是給report用 05/18 11:17
160Fpeterlin0224: ,「修」timing讓timing 收斂這件事應該沒辦法透過s 05/18 11:17
161Fpeterlin0224: ta flow完成吧? 05/18 11:17
162Fpeterlin0224: 我也不是整合專業的人,有說錯麻煩更正,大家交流一 05/18 11:18
163Fpeterlin0224: 下,也能增加新知 05/18 11:18
164Fpeterlin0224: 因為我看整合部門後面階段還是會用tweaked和Apr 討 05/18 11:19
165Fpeterlin0224: 論來「修」timing,STA還是用來「看」timing 05/18 11:19
166Fpeterlin0224: Typo: tweaker 05/18 11:20
167Fpeterlin0224: 收斂timing在後面階段還是要下去「修」才會收斂, 05/18 11:22
168Fpeterlin0224: 所以我對您那句HSTA可以「收斂」timing有點疑問,您 05/18 11:22
169Fpeterlin0224: 的意思是HSTA這個flow可以靠STA tool 自動「修」tim 05/18 11:22
170Fpeterlin0224: ing嗎? 05/18 11:22
171FOBTea: 重點是同時,的確HSTA其中一個目的是加速內部R2R分 05/18 11:45
172FOBTea: 析,可是interface間的收斂PD需要HSTA 相關session 05/18 11:45
173FOBTea: 來作參照 05/18 11:45
174Fpeterlin0224: 還是你是在說HSTA是加強版的 PT physical aware這 05/18 11:45
175Fpeterlin0224: 件事? (純粹猜測,可能說錯) 05/18 11:45
176FOBTea: 然後題外話Primetime也可以作ECO 05/18 11:46
177Fpeterlin0224: 嗯嗯,請忽略我剛剛那個留言,我剛剛還沒看到你的 05/18 11:46
178Fpeterlin0224: 最新留言 05/18 11:46
179Fpeterlin0224: 嗯嗯,PT的eco應該就是我上面說的 physical aware 05/18 11:48
180Fpeterlin0224: 我跟整合同事聊過,他們覺得tweaker好像比較強 05/18 11:48
181FOBTea: 不過一般是用tweaker修沒錯,只是timing 資訊要抽給 05/18 11:49
182FOBTea: PD用 05/18 11:49
183Fpeterlin0224: 不過那個eco的thinking最終應該還是靠人手動試,然 05/18 11:50
184Fpeterlin0224: 後跑出report看,複雜的soc應該還沒辦法自動做到tim 05/18 11:50
185Fpeterlin0224: ing收斂,不知道這樣講對不對? 05/18 11:50
186FOBTea: 有些PD會有些對策tcl 05/18 11:53
187Fpeterlin0224: 嗯嗯,瞭解,後面階段timing收斂需要整合部門和PD 05/18 12:19
188Fpeterlin0224: 緊密合作沒錯 05/18 12:19
189Fleocorter: 入門推薦 05/18 17:38
191Fleocorter: 0_AV_rVbay0pWmED7992G 05/18 17:38
192Fk20057: 這樣也很能進 當初面了20多家都沒錄取 嫌我能力不 05/19 08:37
193Fk20057: 夠 05/19 08:37

tech_job熱門文章

11 [請益] 緯創 vs 華碩
40 tech_job 2022-06-29 22:59
26 [請益] GG offer請益
62 tech_job 2022-06-28 11:31
20 [請益] 高通offer
88 tech_job 2022-06-28 04:18
37 [請益] 英業達OFFER
79 tech_job 2022-06-27 19:31

全站熱門文章

19 [問題] 打電話問攻略……
49 tos 2022-07-03 20:38