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