作者chrispherd (小樹)
看板Electronics
標題[問題] Desgin Compiler addsub合成
時間Thu Jun 9 22:01:52 2011
我想要試著去合成一個addsub電路,Verilog寫法如下:
module ADDSUB(clk,rst,A,B,Mode,Sum);
input clk;
input rst;
input [13:0]A,B;
input Mode;
output reg [13:0]Sum;
reg [13:0]AI,BI;
always@(posedge clk or posedge rst)
begin
if(rst) begin
Sum<= 0;
AI <= 0;
BI <= 0;
end
else begin
Sum<= Mode? (AI-BI):(AI+BI);
AI <= A;
BI <= B;
end
end
endmodule
事實上我希望他能夠合成出一個addsub電路,而非兩個加法器,不過卻不知道怎麼讓
DC自己和出來? 希望各位前輩能指點一下
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.25.97.177
※ 編輯: chrispherd 來自: 163.25.97.177 (06/09 22:04)
1F:推 ViewMoon:自己用 gate level 兜, or instantiation 一個 06/09 22:49
2F:→ ViewMoon:Designware IP 06/09 22:49
3F:推 Pash77:Sum <= AI + (BI^{14{Mode}}) + Mode; 06/10 00:01
4F:→ Pash77:synthesis: designware, data_path, compile_ultra ...etc 06/10 00:03
5F:推 uxijgil:照你的RTL 應該是有MUX去選加法器或減法器 06/13 17:07
6F:→ uxijgil:但實際上 加法器~減法器 所以你會看到兩個加法器不奇怪 06/13 17:08
7F:→ uxijgil:所以你是希望 DC不要幫你做任何的電路簡化嗎 ? 06/13 17:09
8F:→ ViewMoon:你的目的是什麼 ? 還有種方法是改 RTL 把不同 expression 06/13 20:27
9F:→ ViewMoon:放在不同 module, 然後 bottom-up synthesis 06/13 20:28