作者ian7030 (ian)
看板Electronics
標題[問題] DC合成 訊號變high impedance
時間Thu Dec 29 23:41:05 2016
如題
我的design有兩個clock domain
這邊簡述一下我的tcl file
# set clock constraints
create_clock -name clk_a -period $cycle_a [get_ports clk_a]
ceeate_clock -name clk_b -period $cycle_b [get_ports clk_b]
後面分別對兩個clock設constraints
# set design rule constraints
設面積、fanout、transition
# solve multiple instance
set_fix_multiple_port_nets -all -buffer_constants [get_designs *]
compile -map_effort high
合成完後我用ncverilog模擬再用verdi看波型
發現我有些訊號完全變成high impedance,而有些則是部分bit有這問題
有在想是否為兩個clock domain造成DC會認為我有一些false path或化簡掉一些cell
但小弟實在是DC新手,不太知道怎麼找出這bug
另外set_fix_multiple_port_nets這指令不是用了就不會寫出assign嗎?
我看我合出來的verilog file依然有
求解各位大神,謝謝!!
-----這邊補上我的tcl file,不好意思一直亂試註解有點多-----
http://imgur.com/a/sEUir
http://imgur.com/a/M8yP6
http://imgur.com/a/zB6Mr
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.42.161.27
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Electronics/M.1483026067.A.1B3.html
1F:推 Baneling: 兩個domain之間有訊號溝通? 12/31 12:32
有,溝通的訊號有經過synchronizer
※ 編輯: ian7030 (114.42.161.27), 12/31/2016 13:48:41
2F:推 hsucheng: 要remove unconnect什麼的才不會合出assign 12/31 19:22
3F:→ hsucheng: remove_unconnected_ports -blast_buses [get_cells -hi 12/31 20:38
4F:→ hsucheng: erarchical *] 12/31 20:38
5F:→ hsucheng: 另外 set verilogout_no_tri true加了嗎 12/31 20:39
6F:→ hsucheng: 合完有再跑過timing嗎? 12/31 22:46
hsu大你說的兩個指令我都有設,我是合完再去跑模擬發現了訊號被化簡的情形
另外我將我design中的localparam改寫為parameter,以及刪除部分//註解
發現有些原本high impedance的bit變正常了...
而有些則是直接被移除(例如原本模擬結果是4'b000z變成3'b000)
不太了解是否這些因素也會影響合成結果?
※ 編輯: ian7030 (36.225.197.3), 01/01/2017 16:01:26
7F:推 hsucheng: 貼一下你的script比較好確認 01/01 18:49
已補在上方,麻煩了QQ
※ 編輯: ian7030 (36.225.197.3), 01/02/2017 01:34:53
8F:推 hsucheng: 你有用designware嗎? 我現在寫一個小design也是跑不出 01/02 08:18
9F:→ hsucheng: 後模擬 01/02 08:18
我只有在.synopsys_dc.setup連結dw的library,design中沒用
※ 編輯: ian7030 (140.118.7.160), 01/02/2017 14:08:44
10F:推 ViewMoon: 合成出 assign 沒什麼不好呀... 後段 EDA 都 support 01/03 00:28
11F:→ ViewMoon: 不要 assign 卻放了 BUF cell, 那 chip area 會增加 01/03 00:28
原來後段EDA都support!
另外我想到一個問題,若我有內部產生clock,而沒有用指令去告訴DC
會是出現high impedance或被化簡訊號的原因嗎?
※ 編輯: ian7030 (36.225.197.3), 01/03/2017 00:38:05
12F:→ ilovepachaya: Lec有過嗎? 01/03 12:32
13F:推 ilovepachaya: 有clock 但沒constrain. 不會化簡。會花很多精神在 01/03 12:33
14F:→ ilovepachaya: 處理high fan out 01/03 12:33
請問Lec是指??
※ 編輯: ian7030 (140.118.7.160), 01/03/2017 12:52:53
15F:推 ilovepachaya: Logic equivalence checking (LEC) 01/03 14:41
這步驟我沒做到,我查看看EDA cloud有無支援的tool
※ 編輯: ian7030 (140.118.7.160), 01/03/2017 15:08:07
16F:推 hsucheng: 最後解決了嗎? 我發現是我ncverilog時,讀進去的tb 01/07 15:09
17F:→ hsucheng: 有parameter沒設定好,你在確認一下 01/07 15:10