其實我覺得這話也不是這麼講, tool好像是在Flip Flop之間化簡
combination電路的能力很強, 甚至我嘗試過寫到人都覺得長得不一樣的code,
netlist 就是硬生生的一樣, 讓我覺得千萬不要跟tool pk化簡, 因為你化不贏他
但是呢, 如果是架構上整個 FF可以少用的, 其實合成出來的就會天差地遠了(自己經驗)
以前好像曾經有個同事想要寫某段電路, 寫的落落長,
好像要做某種Bit shift還啥鬼的, 被我看穿意圖
他的Behavior code寫的落落長, 用掉一堆 Flip Flop
後來我把他code改成類似以下這種風格
A = {10, 01, 00, 11}
B = {A[3:0], A[7:4]}
A <= {B[1:0}, B[3:2], B[5:4], B[7:6]}
結果主管就把我電翻了XDDDD, 明明我的Code是對的, 而且Flip Flop 少三倍,
而且這Code又短又精簡很好呀XDD
面積又省一堆, 不過沒有人看的懂我想幹嘛=_=,
可是我覺得這明明就很簡單的數學規則而已
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.226.100.129
※ 文章網址: https://webptt.cc/bbs/Tech_Job/M.1486921300.A.EA1.html
※ 編輯: baseband112 (36.226.100.129), 02/13/2017 01:43:17
推文 (54)
推
bluemkevin
RTL 組合電路的部分用 gate level 似乎沒必要, Tool
02/12 18:48
→
bluemkevin
會幫你化簡
02/12 18:48
推
a000000000
你應該跳槽
02/13 01:51
→
baseband112
跳巢喔, 還是算了吧~ 反正寫Code自己爽,
02/13 01:57
→
baseband112
公司太多要面對人的問題, 我還是自己接接案子就好
02/13 01:57
→
s860134
寫註解吧 技術好要讓別人看得懂人家才知道你是高手阿XD
02/13 02:30
→
baseband112
=_=我不是高手的說, 我只是覺得這種Code看起來賞心
02/13 02:36
→
baseband112
悅目而已XD, 很短很漂亮
02/13 02:36
→
baseband112
而且有時候寫註解別人也看不懂
02/13 02:37
→
baseband112
因為有些想法就是要轉個彎
02/13 02:38
→
baseband112
我很討厭看到那種明明幾個算式可以寫完的RTL
02/13 02:39
→
baseband112
結果寫了一堆Behavior code
02/13 02:39
→
baseband112
可是其實很多人喜歡看哪種落落長的Code, 搞不懂
02/13 02:41
→
xam
那他電你的理由是什麼?
02/13 03:15
→
s860134
我猜是可讀性吧.
02/13 03:16
→
flyawayla
這種居然電..... 可以跳槽了 XDDDDDD
02/13 03:24
推
kuohungting
這不是新人面試的基本題嗎...呃這主管...
02/13 03:45
→
danlove
沒看過你老闆的code
02/13 07:37
→
danlove
但你這種blocking和nonblockong結合在一起的behavior cod
02/13 07:38
→
danlove
e
02/13 07:38
→
danlove
也會被我電翻
02/13 07:40
→
danlove
因為很有可能RTL simulation和gate level或FPGA行為不一
02/13 07:40
→
danlove
致
02/13 07:40
推
aowen
至少文章裡面的語法是該電沒錯…
02/13 08:07
推
tkhan
慧心一笑..^_^..
02/13 08:30
噓
dakkk
少寫 assign
02/13 08:57
→
dakkk
其實A 沒什問題 B的合成 可能會拉很遠的線 又沒ff同步 你
02/13 08:58
→
dakkk
的timing會很差
02/13 08:58
→
duffrose
寫A<={A[5],A[4],A[7],A[6],A[1],A[0],A[3],A[2]} wo B
02/13 12:22
推
bluemkevin
這 Code 很容易理解阿 而且很常看見
02/13 12:38
→
dslite
combination logic需要自己搞嗎
02/13 12:40
推
bluemkevin
baseband大只是舉例 細節就不要探究了
02/13 12:41
推
chrispherd
馬的這我一定電啊 你怎麼不想想看這東西合出來會變怎
02/13 13:14
→
chrispherd
麼樣 你以為在寫C喔
02/13 13:14
推
mos888tw
我以前寫code原則絕對不是越短越好 可讀性很重要 過陣子
02/13 13:20
→
mos888tw
要mantain也許就忘記當初的想法了啦 建議還是寫成九成九
02/13 13:20
→
mos888tw
的人都看得懂的style
02/13 13:20
噓
tiencheng
滿招損,謙受益. 在職場不要隨便開口閉口電來電去的
02/13 13:21
→
tiencheng
人外有人天外有天, 態度謙遜對自己專業領域成長有幫助
02/13 13:22
推
bluemkevin
Data shift 這樣寫還好啦 程式碼其實會影響模擬軟體編
02/13 15:07
→
bluemkevin
譯的速度
02/13 15:07
推
bluemkevin
其實不少人會錯估合成軟體合出來的東西
02/13 15:09
→
uxijgil
想補充有時候多加FF, 是為了速度切pipeline
02/13 18:26
→
uxijgil
另外, 有時候寫得更落落長, 是為了parameterize, 通用型
02/13 18:26
推
stkeiko
可讀性真的很重要..對後面的接手的人來說...
02/13 18:31
推
cancboy
你以為你同事寫不出來嗎?
02/13 21:50
噓
ps0411
原PO討電,救不了你
02/13 21:52
推
laladeer
data shift 哈哈哈哈
02/13 22:33
推
ProTrader
被電是因為code寫得漂亮 但硬體不一定能實作嗎??
02/14 14:11
→
ProTrader
你弄這種東西有打算去高頻交易嗎? 搶微秒拼奈秒
02/14 14:13
→
baseband112
被電是因為, 這Code邏輯漂亮, 硬體省
02/15 23:24
→
baseband112
可是主管認為會變成比較不好懂, 因為基本邏輯完全不
02/15 23:25
→
baseband112
不同
02/15 23:25
推
ProTrader
我能認同老闆前面也很多人說 可讀性與可維護性 我有感
02/16 14:14