[問題] 使用Design Complier合成

看板Electronics作者 (風)時間10年前 (2015/06/23 18:30), 10年前編輯推噓16(16041)
留言57則, 5人參與, 最新討論串1/1
前輩們好 我正在將一個電路管線化 這個電路是由很多加法 減法 乘法組成 原電路沒有插入dff(我自己寫的延遲module) 插入後的電路有加入延遲元件 在合成後time path的確是變少了 可是加了延遲元件再合成後area 還有power 居然變少了 好煩惱 不知道問題出在哪 有沒有前輩有遇過 實驗結果跑不出來 急需幫助 拜託各位前輩了 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.115.73.204 ※ 文章網址: https://www.ptt.cc/bbs/Electronics/M.1435055456.A.ECE.html

06/23 18:53, , 1F
用primetime px去跑power比較準吧 @@
06/23 18:53, 1F

06/23 18:54, , 2F
那也是design complier的功能嗎?
06/23 18:54, 2F

06/23 18:55, , 3F
可是我多加了延遲元件Area居然變小 百思不得其解
06/23 18:55, 3F

06/23 18:58, , 4F
或是我未加延遲元件前合成被亂加東西?
06/23 18:58, 4F

06/23 19:04, , 5F
你就直接report_area去看comb跟seq各自的面積不就好了?
06/23 19:04, 5F

06/23 19:05, , 6F
照理來說你加入dff做retiming, seq的面積(數量)應該是會
06/23 19:05, 6F

06/23 19:05, , 7F
增加, 但要是如果comb的面積有大幅度的變動 那area跟pow
06/23 19:05, 7F

06/23 19:06, , 8F
er會有改善也是有可能的(但還是要看你架構怎麼寫)
06/23 19:06, 8F

06/23 19:06, , 9F
另外面積不要看繞線的部分 因為很不準 -.-
06/23 19:06, 9F

06/23 19:20, , 10F
面積部分我只看cell area 但加了45個DFF 面積居然下降2W
06/23 19:20, 10F
照前輩說的分comb seq來看 加延遲前 122973 + 0 =122973 加延遲後 83891 + 23524 =107416 這樣來看是因為加了延遲 把原本comb的部分併成seq 然後面積優化過才會產生這結果摟 這樣我看面積差別 122973 跟 122973+23524 這樣比較合理嗎? ※ 編輯: windsfk (140.115.73.204), 06/23/2015 19:37:10

06/23 21:30, , 11F
為何是122973+23524? XD
06/23 21:30, 11F

06/23 21:52, , 12F
未加延遲的comb 加上 上延遲後的seq?
06/23 21:52, 12F

06/23 21:53, , 13F
這種情況面積還有功耗該怎麼比較呢
06/23 21:53, 13F

06/23 21:55, , 14F
應該是122973比107416吧~ 你原本一整塊comb就必須要在
06/23 21:55, 14F

06/23 21:56, , 15F
1個clock之內運算完畢, 你切pipeline之後 假設切成N級完
06/23 21:56, 15F

06/23 21:57, , 16F
成運算 那你的comb的運算時間就有可能大幅增加 自然area
06/23 21:57, 16F

06/23 21:57, , 17F
就有可能會下降(不用這麼高速的運算單元) 你也可以用
06/23 21:57, 17F

06/23 21:58, , 18F
report_design這個指令去確認你的設計使用到的DW librar
06/23 21:58, 18F

06/23 21:59, , 19F
y中的運算單元 架構或者總量都可以比對
06/23 21:59, 19F
前輩請問有辦法 調整模擬方法 讓加延遲後 變成 122973 + XXX 嗎? 我感覺前輩的意思是加了延遲元件 於是加法乘法那些comb元件可以使用較慢的(小面積) 有辦法不改變這些comb元件 只多加延遲元件面積嗎 ※ 編輯: windsfk (140.115.73.204), 06/23/2015 22:21:59

06/23 22:29, , 20F
我沒有這樣試過 XD 為何有效能較好的電路不用 用比較不
06/23 22:29, 20F

06/23 22:29, , 21F
好的電路呢...
06/23 22:29, 21F
我的研究題目是再不同的critical path限制下插入不同數量的暫存元件(pipeline) 然後假如限制70單位時間 那有演算法作成68單位時間 然後盡量用少的暫存元件 我是假設插入暫存元件越多會導致面積成長(不好) 但現在居然插入暫存元件 面積還變小 有點完蛋了.......該怎麼辦哪.... ※ 編輯: windsfk (140.115.73.204), 06/23/2015 22:34:23

06/23 22:42, , 22F
我有點不太懂你的意思 不過聽起來你的研究方向是EDA?
06/23 22:42, 22F

06/23 22:44, , 23F
是的...EDA..
06/23 22:44, 23F

06/23 22:44, , 24F
簡單來說就是 我限制time 盡量少用暫存器 想省area
06/23 22:44, 24F

06/23 22:45, , 25F
沒想到用了暫存器的架構面積還比較小...
06/23 22:45, 25F

06/23 22:49, , 26F
我不太懂你的意思 你是比較 1.完全沒使用暫存器的設計
06/23 22:49, 26F

06/23 22:50, , 27F
2. 有使用暫存器的pipeline架構?
06/23 22:50, 27F

06/23 22:55, , 28F
對 沒用暫存 比上 有用暫存 其他部分完全相同
06/23 22:55, 28F

06/23 22:56, , 29F
有用暫存cell面積小...
06/23 22:56, 29F

06/23 23:10, , 30F
ㄜ 應該說你的訴求是什麼 @@ 我有點不太懂
06/23 23:10, 30F

06/23 23:13, , 31F
訴求是希望減少AREA POWER (從減少暫存器作起)
06/23 23:13, 31F

06/23 23:18, , 32F
減少哪裡的暫存器? 如果是純comb電路 他是沒有暫存器呀
06/23 23:18, 32F
原本設計是沒暫存器 但隨著critical path 的限制會需要進行管線化(插暫存器) 我的演算法會盡量以critical path 為限制 盡量切少層pipeline(插少一些暫存器) 藉以減少面積 功率成本 ※ 編輯: windsfk (140.115.73.204), 06/23/2015 23:30:46

06/23 23:34, , 33F
那根據你的演算法所最佳化的設計需要比較對象是?
06/23 23:34, 33F

06/23 23:39, , 34F
未加入暫存前的電路<-- 和這個比
06/23 23:39, 34F

06/23 23:41, , 35F
那面積跟功耗都變好不是很好嗎? XD
06/23 23:41, 35F

06/23 23:42, , 36F
pipeline跟邏輯最佳化通常是一起進行的 而你的問題應該
06/23 23:42, 36F

06/23 23:42, , 37F
不可能阿QQ 我再C平台設計的 盡量用少暫存器完成管線化
06/23 23:42, 37F

06/23 23:42, , 38F
但合成後卻加了暫存面積沒變大 那我fully pipeline就好
06/23 23:42, 38F

06/23 23:42, , 39F
是希望只進行pipeline而不做邏輯最佳化 這有點怪異 @@
06/23 23:42, 39F

06/23 23:44, , 40F
我verilog code的加法乘法都用assign寫 我正再試著用
06/23 23:44, 40F

06/23 23:44, , 41F
gate level的寫法試試 這樣加了暫存器它應該也不會改我
06/23 23:44, 41F

06/23 23:45, , 42F
架構
06/23 23:45, 42F

06/23 23:45, , 43F
我剛也有想到說你直接去改合成好的gate-level netlist
06/23 23:45, 43F

06/23 23:45, , 44F
不過這樣很怪異... XD 建議先跟指導教授討論一下
06/23 23:45, 44F

06/23 23:47, , 45F
Q__Q 感謝您了 7月想口試阿 嗚嗚嗚嗚
06/23 23:47, 45F

06/24 08:33, , 46F
我覺得你看到的現象是正常的,原本的假設錯了吧
06/24 08:33, 46F

06/24 08:37, , 47F
這也不代表fully pipeline最好,可是加上前幾級pipe效果最好
06/24 08:37, 47F

06/24 08:38, , 48F
後來就邊際效應遞減,但是dff的area線性增加.
06/24 08:38, 48F

06/24 08:38, , 49F
所以最佳點會是中間的某一點
06/24 08:38, 49F

06/24 13:33, , 50F
謝bxxl大 合成40多次的確有這樣的感覺 隨著層數增加
06/24 13:33, 50F

06/24 13:34, , 51F
面積也變大 我有些鑽牛角尖了 必須要解釋這一現象才是
06/24 13:34, 51F
昨天真是有些絕望了 萬幸有來PTT發問 版上高手多且熱心 感謝你們 ※ 編輯: windsfk (140.115.73.204), 06/24/2015 13:36:59

06/25 01:35, , 52F
你是改hdl來實現嗎? 如果是這樣的話 n....
06/25 01:35, 52F

06/25 01:35, , 53F
很有可能是你寫code問題或是一開始假設就錯了
06/25 01:35, 53F

06/25 01:36, , 54F
你可以google hdl compiler結果的一些討論
06/25 01:36, 54F

06/25 01:36, , 55F
會有告訴你為什麼有些時候你寫code少gate多
06/25 01:36, 55F

06/25 01:37, , 56F
寫code多 gate少 pipeline竟然很神奇的沒效
06/25 01:37, 56F

06/29 19:00, , 57F
你的timing constraint可以提供一下嗎
06/29 19:00, 57F
文章代碼(AID): #1LYJLWxE (Electronics)