作者windsfk (風)
看板Electronics
標題[問題] Design Complier遇到問題
時間Tue Jul 7 15:57:06 2015
我在合成加入DFF做管線化的電路後在合成時遇到warning message
它寫 Disabling timing arc between pins 'A0' and 'Y' on cell 'aaa10/sp_2/U11'
一共跳出了約50個類似的訊息 只在 ' ' 中間有不同的名子
不知道這個warning代表遇到什麼呢?
在加入DFF後電路的combinational面積變小 產生noncombinational面積
但總cell area面積變小 <== 不知這樣是否正常 (如正常該怎麼解釋呢?)
我的verilog code是用gate level連線完成的module
DFF是這樣寫的
module dff(p_in,q_out,clk,rst); //1delay q=p
input clk,rst;
input [3:0] p_in;
output reg [3:0] q_out;
always@(posedge clk)
begin
q_out= rst ? 4'b0 : p_in;
end
endmodule
DC新手 需要前輩的建議
不知道我獲得的情況正不正常 又該怎麼解釋呢? 誠心發問
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.115.73.204
※ 文章網址: https://www.ptt.cc/bbs/Electronics/M.1436255855.A.672.html
→ hsnuyi: 你幹嘛特別寫一個DFF的module出來啊? 07/07 17:28
→ hsnuyi: 再者 看到q_out =那行 就知道你習慣有問題 07/07 17:29
請問版大我該怎麼寫比較好 剛剛去查文章 好像要用叫做nba的方式寫成
q_out <= rst ? 4'b0 : p_in; 這樣 才會一起更新
版大說特別寫一個DFF是什麼意思? 可以不用寫嗎?
※ 編輯: windsfk (140.115.73.204), 07/07/2015 18:04:02
推 mmonkeyboyy: posedge/negedge就完了 07/07 21:31
版大是說在always 的括弧裡用(posedge/negedge clk) 這樣嗎
※ 編輯: windsfk (140.115.73.204), 07/07/2015 21:54:10
→ hsnuyi: 是 你sequential要用non-blocking 再者 你幹嘛要為一個DFF 07/08 00:15
→ hsnuyi: 寫module啊? 然後 下面那篇是另一個電路 跟你的功能不同 07/08 00:16
→ hsnuyi: P.S. 當然 不是所有sequential都是non-blocking 但這裡是 07/08 00:20
→ windsfk: 謝謝前輩的解答 :) 07/08 00:56
推 bakerly: 你的design裡有timing loop 才會有這廙warning 07/08 14:47