作者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