在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 26032|回复: 36

[原创] FPGA Tools Synthesis QoR Benchmark

[复制链接]
发表于 2013-6-22 20:47:07 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
就这样,楼主对四款常用FPGA工具的综合质量进行了对比测试。。。

--它们分别是(括号内为综合时选择的器件):

Synplify Premier H-2013.03 (Virtex5)
Quartus 13.0 (Cyclone III)
ISE 14.6 (Spartan6)
Vivado 2013.2 (Artix7)

测试使用了5种简单场景,包括:

1. in2reg Timing-Driven QoR Test -- 输入到寄存器的优化能力
2. reg2reg Timing-Driven QoR Test -- 寄存器到寄存器的优化能力
3. Sequential Optimization Test -- 跨寄存器的优化能力
4. Register Replication Test (Logical) -- 根据逻辑关系复制寄存器的能力
5. Register Replication Test (Physical) -- 根据布局关系复制寄存器的能力
 楼主| 发表于 2013-6-22 21:36:21 | 显示全部楼层
本帖最后由 Timme 于 2013-6-22 21:46 编辑

========= Test Case 1. in2reg Timing-Driven QoR Test =========

本例子对256个输入信号进行“与”后送给一个寄存器,并仅对其中一个输入信号添加时序约束。在添加约束前,电路逻辑应该是对称树状的(如果用两输入与门,则有8级,因2^8=256);在添加约束后,约束的路径的组合逻辑应该被收到一级。在这里我们对第128个输入信号添加了时序约束,并禁用了全局时钟(否则时钟延时会改善Slack)。该例子RTL如下:




  1. module i2r(input clk,input [255:0] dat_i,output reg dat_o);
  2. always@(posedge clk) dat_o <= &dat_i;
  3. endmodule


复制代码

Synplify/Quartus/Vivado使用的SDC约束如下:




  1. create_clock [get_ports clk] -period 1
  2. set_input_delay -clock clk -max 0.9 [get_ports {dat_i[127]}]


复制代码

ISE使用的XCF/UCF约束如下(在XST中把位宽标识符从<>改为[]):




  1. NET clk TNM_NET = clk;
  2. TIMESPEC TS_clk = PERIOD clk 1.000 ns;
  3. NET "dat_i[127]" OFFSET = IN 0.1 BEFORE clk;


复制代码

Synplify综合结果如下,dat_i[127]只经过了一个LUT4就到达了dat_o:




  1. Instance / Net                 Pin            Pin               Arrival
  2. Name                Type       Name           Dir     Delay     Time   
  3. -----------------------------------------------------------------------
  4. dat_i[255:0]        Port       dat_i[127]     In      0.000     0.900  
  5. dat_i[127]          Net        -              -       0.000     -      
  6. dat_i_ibuf[127]     IBUF       I              In      -         0.900  
  7. dat_i_ibuf[127]     IBUF       O              Out     0.992     1.892  
  8. dat_i_c[127]        Net        -              -       0.360     -      
  9. dat_o_RNO           LUT4_L     I3             In      -         2.252  
  10. dat_o_RNO           LUT4_L     LO             Out     0.376     2.628  
  11. dat_o_2             Net        -              -       0.000     -      
  12. dat_o               FD         D              In      -         2.628  
  13. =======================================================================


复制代码
Quartus综合结果如下,dat_i[127]只经过了一个LCCOMB就到达了dat_o:





  1. 0.900      0.000    FF  IC    IOIBUF_X0_Y3_N1     dat_i[127]~input|i
  2. 1.786      0.886    FF  CELL  IOIBUF_X0_Y3_N1     dat_i[127]~input|o
  3. 2.277      0.491    FF  IC    LCCOMB_X1_Y3_N20    WideAnd0~84|datad
  4. 2.387      0.110    FF  CELL  LCCOMB_X1_Y3_N20    WideAnd0~84|combout
  5. 2.387      0.000    FF  IC    FF_X1_Y3_N21        dat_o~reg0|d
  6. 2.478      0.091    FF  CELL  FF_X1_Y3_N21        dat_o~reg0


复制代码
ISE综合结果如下(评论略...):





  1.      Location             Delay type         Delay(ns)  Physical Resource
  2.                                                         Logical Resource(s)
  3.      -------------------------------------------------  -------------------
  4.      R22.I                Tiopi                 0.902   dat_i[127]
  5.                                                         dat_i[127]
  6.                                                         dat_i_127_IBUF
  7.                                                         ProtoComp3.IMUX.143
  8.      SLICE_X52Y37.B6      net (fanout=1)        2.846   dat_i_127_IBUF
  9.      SLICE_X52Y37.COUT    Topcyb                0.423   out_wg_cy[19]
  10.                                                         out_wg_lut[17]
  11.                                                         out_wg_cy[19]
  12.      SLICE_X52Y38.CIN     net (fanout=1)        0.003   out_wg_cy[19]
  13.      SLICE_X52Y38.COUT    Tbyp                  0.086   out_wg_cy[23]
  14.                                                         out_wg_cy[23]
  15.      SLICE_X52Y39.CIN     net (fanout=1)        0.003   out_wg_cy[23]
  16.      SLICE_X52Y39.COUT    Tbyp                  0.086   out_wg_cy[27]
  17.                                                         out_wg_cy[27]
  18.      SLICE_X52Y40.CIN     net (fanout=1)        0.214   out_wg_cy[27]
  19.      SLICE_X52Y40.COUT    Tbyp                  0.086   out_wg_cy[31]
  20.                                                         out_wg_cy[31]
  21.      SLICE_X52Y41.CIN     net (fanout=1)        0.003   out_wg_cy[31]
  22.      SLICE_X52Y41.COUT    Tbyp                  0.086   out_wg_cy[35]
  23.                                                         out_wg_cy[35]
  24.      SLICE_X52Y42.CIN     net (fanout=1)        0.003   out_wg_cy[35]
  25.      SLICE_X52Y42.COUT    Tbyp                  0.086   out_wg_cy[39]
  26.                                                         out_wg_cy[39]
  27.      SLICE_X52Y43.CIN     net (fanout=1)        0.003   out_wg_cy[39]
  28.      SLICE_X52Y43.CLK     Tckcin      (-Th)    -0.107   dat_o_OBUF
  29.                                                         out_wg_cy[42]
  30.                                                         dat_o


复制代码

Vivado综合结果如下(评论略...):





  1. Location      Delay type           Incr(ns) Path(ns)   Netlist Resource(s)
  2. ----------------------------------------------------   -------------------
  3.               (clock clk rise edge)   0.000    0.000 r
  4.               input delay             0.900    0.900   
  5. D19                                   0.000    0.900 r dat_i[127]
  6.               net (fo=0)              0.000    0.900   dat_i[127]
  7. D19           IBUF (Prop_ibuf_I_O)    0.978    1.878 r dat_i_IBUF[127]_inst/O
  8.               net (fo=1, routed)      2.250    4.128   dat_i_IBUF[127]
  9. SLICE_X1Y113  LUT6 (Prop_lut6_I5_O)   0.124    4.252 r dat_o_reg_i_25/O
  10.               net (fo=1, routed)      0.151    4.403   n_0_dat_o_reg_i_25
  11. SLICE_X1Y113  LUT6 (Prop_lut6_I2_O)   0.124    4.527 r dat_o_reg_i_17/O
  12.               net (fo=1, routed)      0.303    4.830   n_0_dat_o_reg_i_17
  13. SLICE_X0Y111  LUT6 (Prop_lut6_I0_O)   0.124    4.954 r dat_o_reg_i_4/O
  14.               net (fo=1, routed)      0.290    5.244   n_0_dat_o_reg_i_4
  15. SLICE_X1Y110  LUT3 (Prop_lut3_I2_O)   0.124    5.368 r dat_o_reg_i_1/O
  16.               net (fo=1, routed)      0.000    5.368   p_0_in
  17. SLICE_X1Y110  FDRE                                   r dat_o_reg/D


复制代码
 楼主| 发表于 2013-6-22 21:49:37 | 显示全部楼层
本帖最后由 Timme 于 2013-6-22 22:07 编辑

========= Test Case 2. reg2reg Timing-Driven QoR Test =========

本例子跟上一个类似,只不过换成了256个寄存器输出进行“与”后送给一个寄存器,并将其中255个寄存器的输出设为False Path。留下的那一条路径应该被Timing-Driven到最短。在这里留下的是从dat_buf[127]输出的路径。该例子RTL如下:




  1. module r2r(input clk,input [255:0] dat_i,output reg dat_o);
  2. reg [255:0] dat_buf;
  3. always@(posedge clk) dat_buf <= dat_i;
  4. always@(posedge clk) dat_o <= &dat_buf;
  5. endmodule


复制代码

Synplify/Quartus使用的SDC约束如下:




  1. create_clock [get_ports clk] -period 1
  2. set_false_path -from [get_cells {dat_buf[0]}]
  3. set_false_path -from [get_cells {dat_buf[1]}]
  4. ...
  5. set_false_path -from [get_cells {dat_buf[126]}]
  6. set_false_path -from [get_cells {dat_buf[128]}]
  7. ...
  8. set_false_path -from [get_cells {dat_buf[255]}]


复制代码

Vivado使用的SDC约束如下(Vivado SDC不支持-from Cell):




  1. create_clock [get_ports clk] -period 1
  2. set_false_path -through [get_pins {dat_buf_reg[0]/Q}]
  3. set_false_path -through [get_pins {dat_buf_reg[1]/Q}]
  4. ...
  5. set_false_path -through [get_pins {dat_buf_reg[126]/Q}]
  6. set_false_path -through [get_pins {dat_buf_reg[128]/Q}]
  7. ...
  8. set_false_path -through [get_pins {dat_buf_reg[255]/Q}]


复制代码

ISE使用的XCF/UCF约束如下:




  1. NET clk TNM_NET = clk;
  2. TIMESPEC TS_clk = PERIOD clk 1.000 ns;
  3. INST "dat_buf_0" TIG;
  4. INST "dat_buf_1" TIG;
  5. ...
  6. INST "dat_buf_126" TIG;
  7. INST "dat_buf_128" TIG;
  8. ...
  9. INST "dat_buf_255" TIG;


复制代码

Synplify综合结果如下,dat_buf[127]只经过了一个LUT4就到达了dat_o:





  1. Instance / Net                Pin      Pin               Arrival
  2. Name               Type       Name     Dir     Delay     Time   
  3. ----------------------------------------------------------------
  4. dat_buf[127]       FD         Q        Out     0.450     4.588  
  5. dat_buf[127]       Net        -        -       0.360     -      
  6. dat_o_RNO          LUT4_L     I3       In      -         4.948  
  7. dat_o_RNO          LUT4_L     LO       Out     0.376     5.324  
  8. dat_o_2            Net        -        -       0.000     -      
  9. dat_o              FD         D        In      -         5.324


复制代码

Quartus综合结果如下,dat_buf[127]只经过了一个LCCOMB就到达了dat_o:





  1. 2.624    0.199          uTco    FF_X40_Y14_N19        dat_buf[127]
  2. 2.624    0.000    FF    CELL    FF_X40_Y14_N19        dat_buf[127]|q
  3. 2.910    0.286    FF    IC      LCCOMB_X40_Y14_N24    WideAnd0~84|datad
  4. 3.020    0.110    FF    CELL    LCCOMB_X40_Y14_N24    WideAnd0~84|combout
  5. 3.020    0.000    FF    IC      FF_X40_Y14_N25        dat_o~reg0|d
  6. 3.111    0.091    FF    CELL    FF_X40_Y14_N25        dat_o~reg0


复制代码

不过在上一个例子和本个例子中,随着约束的变化,Quartus有时不能收敛到最佳结果;有时会经过两级才到达,有时本来综合后只经过一级的开了物理综合又会多出好几级,总之收敛得不是特别的稳定。

ISE综合结果如下(评论略...):





  1.      Location             Delay type         Delay(ns)  Physical Resource
  2.                                                         Logical Resource(s)
  3.      -------------------------------------------------  -------------------
  4.      SLICE_X25Y35.DQ      Tcko                  0.430   dat_buf[127]
  5.                                                         dat_buf_127
  6.      SLICE_X26Y35.B6      net (fanout=1)        0.351   dat_buf[127]
  7.      SLICE_X26Y35.COUT    Topcyb                0.483   out_wg_cy[19]
  8.                                                         out_wg_lut[17]
  9.                                                         out_wg_cy[19]
  10.      SLICE_X26Y36.CIN     net (fanout=1)        0.003   out_wg_cy[19]
  11.      SLICE_X26Y36.COUT    Tbyp                  0.093   out_wg_cy[23]
  12.                                                         out_wg_cy[23]
  13.      SLICE_X26Y37.CIN     net (fanout=1)        0.003   out_wg_cy[23]
  14.      SLICE_X26Y37.COUT    Tbyp                  0.093   out_wg_cy[27]
  15.                                                         out_wg_cy[27]
  16.      SLICE_X26Y38.CIN     net (fanout=1)        0.003   out_wg_cy[27]
  17.      SLICE_X26Y38.COUT    Tbyp                  0.093   out_wg_cy[31]
  18.                                                         out_wg_cy[31]
  19.      SLICE_X26Y39.CIN     net (fanout=1)        0.003   out_wg_cy[31]
  20.      SLICE_X26Y39.COUT    Tbyp                  0.093   out_wg_cy[35]
  21.                                                         out_wg_cy[35]
  22.      SLICE_X26Y40.CIN     net (fanout=1)        0.214   out_wg_cy[35]
  23.      SLICE_X26Y40.COUT    Tbyp                  0.093   out_wg_cy[39]
  24.                                                         out_wg_cy[39]
  25.      SLICE_X26Y41.CIN     net (fanout=1)        0.003   out_wg_cy[39]
  26.      SLICE_X26Y41.CLK     Tcinck                0.295   dat_o_OBUF
  27.                                                         out_wg_cy[42]
  28.                                                         dat_o


复制代码

Vivado综合结果如下(评论略...):





  1. Location       Delay type           Incr(ns) Path(ns)   Netlist Resource(s)
  2. -----------------------------------------------------   -------------------
  3. SLICE_X55Y110  FDRE (Prop_fdre_C_Q)    0.456    5.517 r dat_buf_reg[127]/Q
  4.                net (fo=1, routed)      0.165    5.682   dat_buf[127]
  5. SLICE_X54Y110  LUT6 (Prop_lut6_I5_O)   0.124    5.806 r dat_o_reg_i_25/O
  6.                net (fo=1, routed)      0.497    6.304   n_0_dat_o_reg_i_25
  7. SLICE_X52Y106  LUT6 (Prop_lut6_I2_O)   0.124    6.428 r dat_o_reg_i_17/O
  8.                net (fo=1, routed)      0.447    6.874   n_0_dat_o_reg_i_17
  9. SLICE_X52Y102  LUT6 (Prop_lut6_I0_O)   0.124    6.998 r dat_o_reg_i_4/O
  10.                net (fo=1, routed)      0.159    7.157   n_0_dat_o_reg_i_4
  11. SLICE_X52Y102  LUT3 (Prop_lut3_I2_O)   0.124    7.281 r dat_o_reg_i_1/O
  12.                net (fo=1, routed)      0.000    7.281   p_0_in
  13. SLICE_X52Y102  FDRE                                   r dat_o_reg/D


复制代码
 楼主| 发表于 2013-6-22 21:55:04 | 显示全部楼层
本帖最后由 Timme 于 2013-6-23 10:43 编辑

========= Test Case 3. Sequential Optimization Test =========

本例子主要测试跨寄存器的优化能力,在本例子的RTL中描述了一段完全Dummy的电路,不过需要跨寄存器才能识别:




  1. module seq_opt(input clk,dat_i,output reg dat_o);
  2. reg dat_buf,dat_buf2,dat_buf2n;
  3. always@(posedge clk) dat_buf <= dat_i;
  4. always@(posedge clk) dat_buf2 <= dat_buf;
  5. always@(posedge clk) dat_buf2n <= ~dat_buf;
  6. always@(posedge clk) dat_o <= dat_buf2 | dat_buf2n;
  7. endmodule


复制代码

在SDC/XCF/UCF中声明了clk是频率为1GHz的时钟。

Synplify综合结果如下,电路被完全优化掉:




  1. @W:CL169 : seq_opt.v(6) | Pruning register dat_buf2
  2. @W:CL169 : seq_opt.v(7) | Pruning register dat_buf2n
  3. @W:CL169 : seq_opt.v(5) | Pruning register dat_buf
  4. @W:CL189 : seq_opt.v(8) | Register bit dat_o is always 1, optimizing ...
  5. @W:CL159 : seq_opt.v(1) | Input clk is unused
  6. @W:CL159 : seq_opt.v(1) | Input dat_i is unused


复制代码

Quartus综合结果如下,电路也被完全优化掉。注意如果去掉第一级dat_buf,Quartus就不会进行优化了;这种行为更为安全,不会把鉴相器之类的电路优化掉:





  1. Register        Reason for Removal                Register Causing Removal
  2. dat_buf2n       Merged with dat_buf2
  3. dat_buf2        Lost fanout
  4. dat_buf         Lost fanout                       dat_buf2   
  5. dat_o~reg0      Stuck at VCC due to stuck port data_in


复制代码

ISE只有打开Register Balancing时才能把电路优化掉(但其实这并不是一个Retiming相关的功能):




  1. WARNING:Xst:2677 - Node <dat_buf> of sequential type is unconnected in block <seq_opt>.


复制代码

Vivado完整的保留了电路:





  1. Location      Delay type          Incr(ns) Path(ns)   Netlist Resource(s)
  2. ---------------------------------------------------   -------------------
  3.               (clock clk rise edge)  0.000    0.000 r
  4. N13                                  0.000    0.000 r clk
  5.               net (fo=0)             0.000    0.000   clk
  6. N13           IBUF (Prop_ibuf_I_O)   1.012    1.012 r clk_IBUF_inst/O
  7.               net (fo=1, routed)     2.016    3.028   clk_IBUF
  8. BUFGCTRL_X0Y0 BUFG (Prop_bufg_I_O)   0.096    3.124 r clk_IBUF_BUFG_inst/O
  9.               net (fo=4, routed)     1.722    4.846   clk_IBUF_BUFG
  10. SLICE_X5Y54                                         r dat_buf2n_reg/C
  11. ---------------------------------------------------   -------------------
  12. SLICE_X5Y54   FDRE (Prop_fdre_C_Q)   0.456    5.302 r dat_buf2n_reg/Q
  13.               net (fo=1, routed)     0.280    5.582   dat_buf2n
  14. SLICE_X4Y54   LUT2 (Prop_lut2_I0_O)  0.124    5.706 r dat_o_reg_i_1/O
  15.               net (fo=1, routed)     0.000    5.706   n_0_dat_o_reg_i_1
  16. SLICE_X4Y54   FDRE                                  r dat_o_reg/D


复制代码
 楼主| 发表于 2013-6-22 21:56:29 | 显示全部楼层
本帖最后由 Timme 于 2013-6-22 22:00 编辑

========= Test Case 4. Register Replication Test (Logical) =========

本例子中含有一个寄存器到256个寄存器的路径。显然,对这个寄存器复制多份可以大大改善时序。本例子RTL如下:




  1. module reg_dup(input clk,dat_i,output reg [255:0] dat_o);
  2. reg dat_buf,dat_buf2;
  3. always@(posedge clk) dat_buf <= dat_i;
  4. always@(posedge clk) dat_buf2 <= dat_buf;
  5. always@(posedge clk) dat_o <= {({255{dat_buf2}} & dat_o[254:0]),dat_buf2};
  6. endmodule


复制代码

在SDC/XCF/UCF中声明了clk是频率为1GHz的时钟。

Synplify不开启Physical Synthesis时没有动作,开启后dat_buf2仅被复制了两个:




  1. Starting Points with Worst Slack
  2. ********************************
  3.                    Starting                                       
  4. Instance           Reference     Type     Pin     Net            
  5.                    Clock                                          
  6. ------------------------------------------------------------------
  7. dat_buf2_rep_0     clk           FD       Q       dat_buf2_0_rep_0
  8. dat_o[23]          clk           FDR      Q       dat_o_0[23]     
  9. dat_buf2           clk           FD       Q       dat_buf2_0      
  10. dat_buf2_rep_1     clk           FD       Q       dat_buf2_0_rep_1


复制代码

Quartus不开启物理综合时也没有动作,开启后dat_buf2被复制了16份:





  1. Node       Action       Operation            Destination Node
  2. dat_buf2   Duplicated   Physical Synthesis   dat_buf2~_Duplicate_1
  3. dat_buf2   Duplicated   Physical Synthesis   dat_buf2~_Duplicate_3
  4. dat_buf2   Duplicated   Physical Synthesis   dat_buf2~_Duplicate_5
  5. dat_buf2   Duplicated   Physical Synthesis   dat_buf2~_Duplicate_7
  6. dat_buf2   Duplicated   Physical Synthesis   dat_buf2~_Duplicate_9
  7. dat_buf2   Duplicated   Physical Synthesis   dat_buf2~_Duplicate_11
  8. dat_buf2   Duplicated   Physical Synthesis   dat_buf2~_Duplicate_13
  9. dat_buf2   Duplicated   Physical Synthesis   dat_buf2~_Duplicate_15
  10. dat_buf2   Duplicated   Physical Synthesis   dat_buf2~_Duplicate_17
  11. dat_buf2   Duplicated   Physical Synthesis   dat_buf2~_Duplicate_19
  12. dat_buf2   Duplicated   Physical Synthesis   dat_buf2~_Duplicate_21
  13. dat_buf2   Duplicated   Physical Synthesis   dat_buf2~_Duplicate_23
  14. dat_buf2   Duplicated   Physical Synthesis   dat_buf2~_Duplicate_25
  15. dat_buf2   Duplicated   Physical Synthesis   dat_buf2~_Duplicate_27
  16. dat_buf2   Duplicated   Physical Synthesis   dat_buf2~_Duplicate_29
  17. dat_buf2   Duplicated   Physical Synthesis   dat_buf2~_Duplicate_31


复制代码
ISE在逻辑综合阶段(XST)就把dat_buf2复制了17份,不需要动用什么物理综合:




  1. FlipFlop dat_buf2 has been replicated 17 time(s)


复制代码

Vivado无论怎么设置都没有动作,包括将物理综合策略设为AggressiveFanoutOpt也没有效果:




  1. Phase 9 Very High Fanout Optimization
  2. INFO: [Physopt 32-76] Pass 1. Identified 1 candidate net for fanout optimization.
  3. INFO: [Physopt 32-29] End Pass 1. Optimized 0 net. Created 0 new instance.


复制代码
 楼主| 发表于 2013-6-22 22:01:06 | 显示全部楼层
========= Test Case 5. Register Replication Test (Physical) =========

本例子中含有一个寄存器到2个寄存器的路径,但是这2个寄存器天南地北,因此基于逻辑扇出的计算是认不出这条路径的,只有读入布局信息才能针对这条路径进行复制寄存器的优化,即将原来的一个寄存器分别往2个寄存器的方向复制两份。本例子RTL如下(同时将dat_o[0]和dat_o[1]定义为IOB并相隔很远放置):




  1. module reg_dup_phy(input clk,dat_i,output reg [1:0] dat_o);
  2. reg dat_buf,dat_buf2;
  3. always@(posedge clk) dat_buf <= dat_i;
  4. always@(posedge clk) dat_buf2 <= dat_buf;
  5. always@(posedge clk) dat_o <= {dat_buf2,~dat_buf2};
  6. endmodule


复制代码

在SDC/XCF/UCF中声明了clk是频率为1GHz的时钟。

Synplify无论使用Physical Synthesis还是Physical Plus都没有任何反应;

Quartus优化结果如下:





  1. Node        Action        Operation             Destination Node
  2. dat_buf2    Duplicated    Physical Synthesis    dat_buf2~_Duplicate_1
  3. dat_buf2    Duplicated    Physical Synthesis    dat_buf2~_Duplicate_3
  4. dat_buf2    Deleted       Physical Synthesis


复制代码


ISE和Vivado也没有任何反应;
发表于 2013-6-22 22:35:40 | 显示全部楼层
xilinx花了500+ person years 开发vivado看来是白干了。。
LZ是否能用各个工具来综合一套benchmark suite比如mcnc或iscas,然后来比较各个工具综合出来电路的最高运行频率。这样或许能够更贴近现实地来进行比较。
发表于 2013-6-25 09:36:55 | 显示全部楼层
现在各家也是在跑opencores上面的工程,来进行PK,希望可以有这样的banchmark
发表于 2013-6-25 09:39:00 | 显示全部楼层
本帖最后由 chinafpga 于 2013-6-25 12:53 编辑

回复 7# Timme

这样对比的话Altera完胜额,楼主如果有空可以评测下CME的国产FPGA的综合工具性能。

CME(京微雅格)工具下载网址如下:

http://www.capital-micro.com/download_software_p4.htm

注:
1. FTP账户名:ftp_temp,FTP密码:hello123

2. License请跟帖申请吧!
发表于 2013-6-25 11:01:50 | 显示全部楼层
回复 11# chinafpga


    CME的国产FPGA的综合工具在哪里下载?给个链接
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-27 01:55 , Processed in 0.047215 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表