ic design類似建築學的書籍 - 工程師

Table of Contents

打擾各位資深學長姐,小弟進入ic design產業,
目前已把線上資源HDL ,Verilog基本給念完

想詢問板上各位學長姐有推薦
ic design相關進階書籍嗎(原文也沒關係)
教導什麼樣的code會合出什麼樣的電路
或是一些Verilog的延伸技巧


我發現HDL是真的難,
最近練習交大lab,功能什麼的很快就寫完了,
跑模擬,波形也正確,
但合出來的電路根本不能用,
組合電路跟循序電路搞在一起,完全錯誤!
後續很怕自己一直在用錯誤的觀念在寫code,
但又沒有相關資源可輔助學習,
只有好心的學長在教我,但我不想一直麻煩他,怕造成學長困擾,因此來板上詢問前輩們




--

All Comments

Barb Cronin avatarBarb Cronin2022-05-17
洗文章嗎?google不會用?
Daniel avatarDaniel2022-05-18
去上TSRI的課啊 有教Synthesis的觀念
Irma avatarIrma2022-05-18
不然自強基金會看有沒有
Susan avatarSusan2022-05-19
HDL當一般語言在寫嗎?
Irma avatarIrma2022-05-18
謝謝w大
Eartha avatarEartha2022-05-19
aby 大 我有先自己搜尋一遍,但資訊通常都太片面,
因此想詢問板上有無推薦的書籍
Hedy avatarHedy2022-05-18
Edi大 我目前確實是有這樣的壞毛病,因此想改掉
Bennie avatarBennie2022-05-19
看github學阿 github也有verilog project
Yuri avatarYuri2022-05-18
先從基本邏輯設計開始吧
Catherine avatarCatherine2022-05-19
你這樣都能進ic產業,我好不平衡喔
Ina avatarIna2022-05-18
如果計算機架構夠熟,可以看胡振波的手把手設計CPU
Isla avatarIsla2022-05-19
印象中”複用ip的數位ic設計技術”也值得看一下
Cara avatarCara2022-05-18
會把combination 跟sequential 混用…… 其實網路書
很多。 先看下 Reuse methodology manual , 記得裡
頭有寫到coding guideline
Ida avatarIda2022-05-19
不用那麼複雜 從入門的邏設看起吧 你連基礎都沒打
Annie avatarAnnie2022-05-18
你的問題蠻需要經驗累積的,我建議一開始設計任何小
功能,1)訂好input/output,2)畫出input/output的
對應波形,3)靠組合電路、循序電路,把input轉成ou
tput的波形,寫錯波形就會不一樣;之後就是拼裝小功
能成一個module…至於要知道hdl會合成什麼電路,多d
ebug幾次gate sim或多ECO幾次就知道,你先波形對就
好。
Damian avatarDamian2022-05-19
邏設+1
Linda avatarLinda2022-05-18
其實你只要把 seq 電路和 combinational 電路分兩
個 always block 來寫,問題就會少很多
Connor avatarConnor2022-05-19
謝謝各位前輩建議小弟發現可能原因,邏輯設計念的
不夠熟,這個禮拜我再來好好研讀一次
Lydia avatarLydia2022-05-18
Vi 大經過學長提點,目前我也是這樣寫,就分得蠻清
楚的
Ethan avatarEthan2022-05-19
其實想詢問ic design建築學書,另外是想要建構自己
寫code的同時,心中要有電路,但這部分我覺得有點
難,想說能不能看範例code對應實際電路,來輔助自己
能更快達成
Margaret avatarMargaret2022-05-18
Bc大 我目前寫lab,有先分好功能 畫好block diagram
,後續分別實現出來,因為lab電路算小,我是全部塞在
同一個module裡面,這樣子是正確的嗎,還是不同bloc
k diagram就要用不同的module實現,後續再接線會比
較好
Megan avatarMegan2022-05-19
Max大不好意思讓你有這種觀感,我目前是真的非常努
力的再補,如果您有好的建議,不介意的話,多鞭策
我,我會記在心裡,謝謝
Lucy avatarLucy2022-05-18
邏輯設計>計算機組織>交大ICLAB 順序應該是這樣
Todd Johnson avatarTodd Johnson2022-05-19
卡卡
Eartha avatarEartha2022-05-18
Verilog HDL: A Guide to Digital Design and Synth
esis 用這幾個關鍵字找找
Ethan avatarEthan2022-05-19
一個module要多大沒硬性規定,我個人是以能否複用
來切,像是syncer、crc;或者是能減少port,像FSM和
相關中途訊號…也是靠經驗累積,寫出自己覺得乾淨
的code
Bethany avatarBethany2022-05-18
去考研究所拿到碩士 保證會
Gary avatarGary2022-05-19
你有把blocking和non-blocking搞清楚嗎?感覺你是
不是combinational block 用non-blocking, sequenti
al block 用 blocking寫法?或是更糟的是混用?
Jack avatarJack2022-05-18
太麻煩了 去念個碩士就好了
自己學那種半套的不如不要學
那個觀念出去工作都會跟其他人格格不入
Hardy avatarHardy2022-05-19
你可以自己先把簡單電路的timing 圖先把組合和時序
電路的timing分別畫出來,寫rtl時照timing圖寫,sim
ulation出來比對看看對不對,這樣慢慢練習應該就有
概念了
Rosalind avatarRosalind2022-05-18
而且自學沒人帶你兩年也學不到什麼
然後面試官也不會想冒那麼大的風險
Rachel avatarRachel2022-05-19
時序電路DFF delay可以在simulation時加個 #1 (ns)
去跑
Adele avatarAdele2022-05-18
不如找一個碩士至少有被Q過
John avatarJohn2022-05-19
你花一個月搞懂的東西 有人教可能只需一天
Valerie avatarValerie2022-05-18
不是說自學不好 而是效率問題
Jessica avatarJessica2022-05-19
另外建議sequential和combinational 分2個always bl
ocks寫,別混在一起寫
Lauren avatarLauren2022-05-18
還有一個always block 可以的話只描述一個訊號就好
Candice avatarCandice2022-05-19
給個關鍵字cdc, 這才是數位的門檻啊
Heather avatarHeather2022-05-18
你的敘述就是你的組合邏輯跟序向邏輯觀念一團糟,
才會寫出那種合不出來的東西
Valerie avatarValerie2022-05-19
他先把同clock domain的搞好再進階到跨clock domain
處理吧......XDDD
現在要他理解cdc可能還太早
Yedda avatarYedda2022-05-18
先把觀念搞懂,時序搞懂,尤其是DFF的操作,沒弄懂
的話一定會合成出垃圾
Xanthe avatarXanthe2022-05-19
他現在連同CLK的設計都有問題了,拜託不要叫他先看
CDC,雖然CDC面試必考就是了
Sarah avatarSarah2022-05-18
邏輯設計先學好吧
Doris avatarDoris2022-05-19
先搞清楚DFF的操作和組合邏輯的差別
Belly avatarBelly2022-05-18
原po學歷一定很高
Poppy avatarPoppy2022-05-19
https://tinyurl.com/2p85fkdr 電路跟code的對照書
Susan avatarSusan2022-05-18
HDL會變成實際的電路,就是所有code 都會一起動作
,需分清楚seq和非seq 差別,了解為什麼那樣寫會是
FF,不要寫出combinational loop和latch。
Poppy avatarPoppy2022-05-19
https://tinyurl.com/22xm9w4f 很多電路的code的書
Regina avatarRegina2022-05-18
還有multiple clock會遇到的各種問題 都可以練習看
看怎麼加設計避免metastable
Oscar avatarOscar2022-05-19
然後還有一些Memory block的操作之類的
Eden avatarEden2022-05-18
寫TB可以用verdi vcs debug跟找coverage 100%的test
pattern會好測很多
Elvira avatarElvira2022-05-19
verilog不用想得太複雜,交大線上課程看一看就差不
多了,我碩班不是IC組,畢業後也是在一線豬屎當數
位RD當了三年
George avatarGeorge2022-05-18
很好奇原po在哪一家公司?
Elvira avatarElvira2022-05-19
感謝各位前輩,我再根據關鍵字去搜索內容
Blanche avatarBlanche2022-05-18
很抱歉無法對每個前輩的回答做出感謝,但提出的關
鍵字和建議,我一定會記錄下來,真的感謝各位前輩
的幫忙
Donna avatarDonna2022-05-19
Ula avatarUla2022-05-18
有想努力就成功一半了
Mason avatarMason2022-05-19
對了,不確定你知不知道,所以補充我前面說的,test
bench的timescale 分子部分要寫1ns,這樣#1的單位
才是1ns,實際分子和分母要怎麼寫得看你的電路頻率
而定,但只是要練習驗function的話,分子寫1ns就好
Regina avatarRegina2022-05-18
Per大 有! 我都寫1ns/1ns 看波形時比較好看
Franklin avatarFranklin2022-05-19
我發現每次認真發文問問題
其實Ptt上的人都蠻不錯的,雖然都刀子口豆腐心,但
大家還是會給出有用的建議,此篇不會刪,希望能幫助
其他初入門的designer
Kyle avatarKyle2022-05-18
你需要的可能是一個優質的範例,有需要私信我
Kyle avatarKyle2022-05-19
身為一個整合者,不太建議用#1
Odelette avatarOdelette2022-05-18
EDA 有時會水土不服
Zenobia avatarZenobia2022-05-19
嗯嗯,也是,純粹希望幫原po釐清電路動作
Gilbert avatarGilbert2022-05-18
他應該還在function sim的階段,只能這樣多增加一
些瞭解
Gilbert avatarGilbert2022-05-19
不過我印象DC會自動忽略#才對,好奇是哪個階段的EDA
tool會水土不服?
Brianna avatarBrianna2022-05-18
前面幾樓都這麼派的嗎
Hardy avatarHardy2022-05-19
印象中是Simens家出的事
Leila avatarLeila2022-05-18
遲早要習慣沒有#,不如一開始就不寫
Charlotte avatarCharlotte2022-05-19
熟了平常design用不太到是真的,但有些情況例如跑po
st-STA時,有些整進來的IP是掛model,沒有辦法有spe
f,這時候也是要自己去對model DFF output 加delay
,不然有時候會有一些不真實或奇怪的現象
Zora avatarZora2022-05-18
所以他自己最好要有這種概念,對他將來clarify一些
狀況會有幫助….XDDD
Leila avatarLeila2022-05-19
你的機運真好
Bethany avatarBethany2022-05-18
可能有點講錯,是post-sim時有些時期合作部門還給
不出整進來ip的netlist和sdf,這時候會先掛model跑
,有些model interface output要自己加delay,不然p
ost-sim會跑出一些奇怪現象
Ula avatarUla2022-05-19
Post-sta一般要查interface timing,會整個netlist
都掛spef 或sdf ,不會掛model,釐清一下
Rosalind avatarRosalind2022-05-18
總之,我覺得他自己還是要知道哪些情況可以自己加#
delay來釐清或學習比較好,當然現在design階段是
不太會特別去加這東西沒錯
Thomas avatarThomas2022-05-19
macro化的IP 可以用 hierarchical STA
Donna avatarDonna2022-05-18
Post sta我們公司整合部門會直接給這一區塊完整的sp
ef,主要問題在post-sim對方暫時給不出hardmacro sd
f 時,需要自己去對model做一些修改,這算是一個deb
ug知識和技巧
Carolina Franco avatarCarolina Franco2022-05-19
其實spef 或sdf也是Apr 部門(physical design部門)
給,整合部門算中間部門,會幫忙整進環境後給我們跑
Isla avatarIsla2022-05-18
有些公司會有DV幫忙跑post sim,我們這邊是post sim
和post sta都是designer自己跑,事情比較多一點
Sandy avatarSandy2022-05-19
DV只跑function regression和一些coverage check
Frederic avatarFrederic2022-05-18
HSTA 是一個讓 top 和 macro 可以同時收斂timing的
方法
Adele avatarAdele2022-05-19
我不是整合部門的人,但認知上HSTA應該是一個在複
雜soc下,整合度較高,節省較多sta run time或減少
來回更迭的方式,實際timing收斂無論是前面階段改de
sign,或後面階段靠APR和整合部門透過一些手段改net
list來收斂timing,應該沒辦法完全用 HSTA取代,不
知道我的認知對不對?觀念上STA最終還是給report用
,「修」timing讓timing 收斂這件事應該沒辦法透過s
ta flow完成吧?
Freda avatarFreda2022-05-18
我也不是整合專業的人,有說錯麻煩更正,大家交流一
下,也能增加新知
Damian avatarDamian2022-05-19
因為我看整合部門後面階段還是會用tweaked和Apr 討
論來「修」timing,STA還是用來「看」timing
Mia avatarMia2022-05-18
Typo: tweaker
Ophelia avatarOphelia2022-05-19
收斂timing在後面階段還是要下去「修」才會收斂,
所以我對您那句HSTA可以「收斂」timing有點疑問,您
的意思是HSTA這個flow可以靠STA tool 自動「修」tim
ing嗎?
Callum avatarCallum2022-05-18
重點是同時,的確HSTA其中一個目的是加速內部R2R分
析,可是interface間的收斂PD需要HSTA 相關session
來作參照
Jake avatarJake2022-05-19
還是你是在說HSTA是加強版的 PT physical aware這
件事? (純粹猜測,可能說錯)
Daniel avatarDaniel2022-05-18
然後題外話Primetime也可以作ECO
Damian avatarDamian2022-05-19
嗯嗯,請忽略我剛剛那個留言,我剛剛還沒看到你的
最新留言
Victoria avatarVictoria2022-05-18
嗯嗯,PT的eco應該就是我上面說的 physical aware
我跟整合同事聊過,他們覺得tweaker好像比較強
Vanessa avatarVanessa2022-05-19
不過一般是用tweaker修沒錯,只是timing 資訊要抽給
PD用
Daniel avatarDaniel2022-05-18
不過那個eco的thinking最終應該還是靠人手動試,然
後跑出report看,複雜的soc應該還沒辦法自動做到tim
ing收斂,不知道這樣講對不對?
Cara avatarCara2022-05-19
有些PD會有些對策tcl
Erin avatarErin2022-05-18
嗯嗯,瞭解,後面階段timing收斂需要整合部門和PD
緊密合作沒錯
Faithe avatarFaithe2022-05-19
入門推薦
https://youtube.com/playlist?list=PLZU5hLL_713x
0_AV_rVbay0pWmED7992G
Emma avatarEmma2022-05-18
這樣也很能進 當初面了20多家都沒錄取 嫌我能力不