作者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/cn.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