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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 1861|回复: 1

如何通过综合工具综合后给出的一个报告修改优化自己的设计?

[复制链接]
发表于 2009-3-6 11:04:15 | 显示全部楼层 |阅读模式

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

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

x
如何通过综合工具综合后给出的一个报告修改优化自己的设计?

以下面我写的为例子

还请高手指点拉

原代码:
==========================================================================================================================
assign Transmite_Task_Sign  =~(|NUM_SIGN_r);



always @(posedge i_Clock or negedge i_Reset_n)
  if(~i_Reset_n)
   NUM_SIGN_r<=0;
  else begin
    case ({UART_WR_SWITCH,Transmite_OK_reg})
     2'b10:NUM_SIGN_r<=NUM_SIGN;
     2'b01:if(NUM_SIGN_r!==0)NUM_SIGN_r<=NUM_SIGN_r-1;
     default:NUM_SIGN_r<=NUM_SIGN_r;
    endcase
   end

==========================================================================================================================


报告:
Worst slack in design: -0.836

                     Requested     Estimated     Requested     Estimated                Clock        Clock               
Starting Clock       Frequency     Frequency     Period        Period        Slack      Type         Group               
--------------------------------------------------------------------------------------------------------------------------
I2C_TEST|i_Clock     263.4 MHz     215.9 MHz     3.796         4.632         -0.836     inferred     Autoconstr_clkgroup_0
==========================================================================================================================


Starting Points with Worst Slack
********************************


                                                                      Starting                                                                  Arrival           
Instance                                                              Reference            Type                   Pin        Net                Time        Slack
                                                                      Clock                                                                                       
------------------------------------------------------------------------------------------------------------------------------------------------------------------
UART_Controller.UART_Transmiter.Transmite_Data_CTR.NUM_SIGN_r[0]      I2C_TEST|i_Clock     cycloneii_lcell_ff     regout     NUM_SIGN_r[0]      0.255       -0.836
UART_Controller.UART_Transmiter.Transmite_Data_CTR.NUM_SIGN_r[1]      I2C_TEST|i_Clock     cycloneii_lcell_ff     regout     NUM_SIGN_r[1]      0.255       -0.817
UART_Controller.UART_Transmiter.Transmite_Data_CTR.NUM_SIGN_r[4]      I2C_TEST|i_Clock     cycloneii_lcell_ff     regout     NUM_SIGN_r[4]      0.255       -0.688
UART_Controller.UART_Transmiter.Transmite_Data_CTR.NUM_SIGN_r[5]      I2C_TEST|i_Clock     cycloneii_lcell_ff     regout     NUM_SIGN_r[5]      0.255       -0.669
UART_Controller.UART_Transmiter.Transmite_Data_CTR.NUM_SIGN_r[16]     I2C_TEST|i_Clock     cycloneii_lcell_ff     regout     NUM_SIGN_r[16]     0.255       -0.669
UART_Controller.UART_Transmiter.Transmite_Data_CTR.NUM_SIGN_r[8]      I2C_TEST|i_Clock     cycloneii_lcell_ff     regout     NUM_SIGN_r[8]      0.255       -0.561
UART_Controller.UART_Transmiter.Transmite_Data_CTR.NUM_SIGN_r[9]      I2C_TEST|i_Clock     cycloneii_lcell_ff     regout     NUM_SIGN_r[9]      0.255       -0.542
UART_Controller.UART_Transmiter.Transmite_Data_CTR.NUM_SIGN_r[17]     I2C_TEST|i_Clock     cycloneii_lcell_ff     regout     NUM_SIGN_r[17]     0.255       -0.542
UART_Controller.UART_Transmiter.Transmite_Data_CTR.NUM_SIGN_r[2]      I2C_TEST|i_Clock     cycloneii_lcell_ff     regout     NUM_SIGN_r[2]      0.255       -0.521
UART_Controller.UART_Transmiter.Transmite_Data_CTR.NUM_SIGN_r[3]      I2C_TEST|i_Clock     cycloneii_lcell_ff     regout     NUM_SIGN_r[3]      0.255       -0.394
==================================================================================================================================================================



Ending Points with Worst Slack
******************************

                                                                     Starting                                                                Required           
Instance                                                             Reference            Type                   Pin     Net                 Time         Slack
                                                                     Clock                                                                                      
----------------------------------------------------------------------------------------------------------------------------------------------------------------
UART_Controller.UART_Transmiter.Transmite_Data_CTR.NUM_SIGN_r[0]     I2C_TEST|i_Clock     cycloneii_lcell_ff     ena     NUM_SIGN_rlde_0     3.133        -0.836
UART_Controller.UART_Transmiter.Transmite_Data_CTR.NUM_SIGN_r[1]     I2C_TEST|i_Clock     cycloneii_lcell_ff     ena     NUM_SIGN_rlde_0     3.133        -0.836
UART_Controller.UART_Transmiter.Transmite_Data_CTR.NUM_SIGN_r[2]     I2C_TEST|i_Clock     cycloneii_lcell_ff     ena     NUM_SIGN_rlde_0     3.133        -0.836
UART_Controller.UART_Transmiter.Transmite_Data_CTR.NUM_SIGN_r[3]     I2C_TEST|i_Clock     cycloneii_lcell_ff     ena     NUM_SIGN_rlde_0     3.133        -0.836
UART_Controller.UART_Transmiter.Transmite_Data_CTR.NUM_SIGN_r[4]     I2C_TEST|i_Clock     cycloneii_lcell_ff     ena     NUM_SIGN_rlde_0     3.133        -0.836
UART_Controller.UART_Transmiter.Transmite_Data_CTR.NUM_SIGN_r[5]     I2C_TEST|i_Clock     cycloneii_lcell_ff     ena     NUM_SIGN_rlde_0     3.133        -0.836
UART_Controller.UART_Transmiter.Transmite_Data_CTR.NUM_SIGN_r[6]     I2C_TEST|i_Clock     cycloneii_lcell_ff     ena     NUM_SIGN_rlde_0     3.133        -0.836
UART_Controller.UART_Transmiter.Transmite_Data_CTR.NUM_SIGN_r[7]     I2C_TEST|i_Clock     cycloneii_lcell_ff     ena     NUM_SIGN_rlde_0     3.133        -0.836
UART_Controller.UART_Transmiter.Transmite_Data_CTR.NUM_SIGN_r[8]     I2C_TEST|i_Clock     cycloneii_lcell_ff     ena     NUM_SIGN_rlde_0     3.133        -0.836
UART_Controller.UART_Transmiter.Transmite_Data_CTR.NUM_SIGN_r[9]     I2C_TEST|i_Clock     cycloneii_lcell_ff     ena     NUM_SIGN_rlde_0     3.133        -0.836
================================================================================================================================================================



修改后的代码:
==========================================================================================================================
assign TX_Baudrate_Clock_Stop=Transmite_Task_Finish & StopCHECK_Ack;
  reg d1;
reg d2;
reg d3,d4,d5,d6,d7,d8,d9,d10;
reg Transmite_Task_Sign;
always @(posedge i_Clock or negedge i_Reset_n)
if(~i_Reset_n)begin
d1<=0;
d2<=0;
d3<=0;
d4<=0;
d5<=0;
d6<=0;
d7<=0;
d8<=0;
d9<=0;
d10<=0;
Transmite_Task_Sign<=0;
end
else begin
d1<=|NUM_SIGN_r[1:0];
d2<=|NUM_SIGN_r[5:3];
d3<=|NUM_SIGN_r[8:6];
d4<=|NUM_SIGN_r[11:9];
d5<=|NUM_SIGN_r[14:12];
d6<=|NUM_SIGN_r[17:15];
d7<=d1 | d2;
d8<=d3 | d4;
d9<=d5 | d6;
d10<=d7 | d8 | d9;
Transmite_Task_Sign<=~d10;
end
==========================================================================================================================

报告:

Worst slack in design: -0.601

                     Requested     Estimated     Requested     Estimated                Clock        Clock               
Starting Clock       Frequency     Frequency     Period        Period        Slack      Type         Group               
--------------------------------------------------------------------------------------------------------------------------
I2C_TEST|i_Clock     293.8 MHz     249.7 MHz     3.404         4.005         -0.601     inferred     Autoconstr_clkgroup_0
==========================================================================================================================


Starting Points with Worst Slack
********************************

                                                                      Starting                                                                        Arrival           
Instance                                                              Reference            Type                   Pin        Net                      Time        Slack
                                                                      Clock                                                                                             
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
UART_Controller.UART_Transmiter.Transmite_Data_CTR.NUM_SIGN_r[8]      I2C_TEST|i_Clock     cycloneii_lcell_ff     regout     NUM_SIGN_r[8]            0.255       -0.601
UART_Controller.UART_Transmiter.Transmite_Data_CTR.NUM_SIGN_r[11]     I2C_TEST|i_Clock     cycloneii_lcell_ff     regout     NUM_SIGN_r[11]           0.255       -0.582
UART_Controller.UART_Transmiter.Transmite_Data_CTR.NUM_SIGN_r[1]      I2C_TEST|i_Clock     cycloneii_lcell_ff     regout     NUM_SIGN_r[1]            0.255       -0.500
UART_Controller.Baudrate_Clock_Generator.RX_Clock_Div_Cnt[14]         I2C_TEST|i_Clock     cycloneii_lcell_ff     regout     RX_Clock_Div_Cnt[14]     0.255       -0.462
UART_Controller.Baudrate_Clock_Generator.TX_Clock_Div_Cnt[14]         I2C_TEST|i_Clock     cycloneii_lcell_ff     regout     TX_Clock_Div_Cnt[14]     0.255       -0.462
UART_Controller.UART_Transmiter.Transmite_Data_CTR.NUM_SIGN_r[6]      I2C_TEST|i_Clock     cycloneii_lcell_ff     regout     NUM_SIGN_r[6]            0.255       -0.453
UART_Controller.Baudrate_Clock_Generator.RX_Clock_Div_Cnt[15]         I2C_TEST|i_Clock     cycloneii_lcell_ff     regout     RX_Clock_Div_Cnt[15]     0.255       -0.443
UART_Controller.Baudrate_Clock_Generator.RX_Clock_Div_Cnt_i[6]        I2C_TEST|i_Clock     cycloneii_lcell_ff     regout     RX_Clock_Div_Cnt_i_6     0.255       -0.443
UART_Controller.Baudrate_Clock_Generator.TX_Clock_Div_Cnt[15]         I2C_TEST|i_Clock     cycloneii_lcell_ff     regout     TX_Clock_Div_Cnt[15]     0.255       -0.443
UART_Controller.Baudrate_Clock_Generator.TX_Clock_Div_Cnt_i[6]        I2C_TEST|i_Clock     cycloneii_lcell_ff     regout     TX_Clock_Div_Cnt_i_6     0.255       -0.443
========================================================================================================================================================================


Ending Points with Worst Slack
******************************

                                                                     Starting                                                         Required           
Instance                                                             Reference            Type                   Pin     Net          Time         Slack
                                                                     Clock                                                                              
---------------------------------------------------------------------------------------------------------------------------------------------------------
UART_Controller.UART_Transmiter.Transmite_Data_CTR.NUM_SIGN_r[0]     I2C_TEST|i_Clock     cycloneii_lcell_ff     ena     N_1768_i     2.741        -0.601
UART_Controller.UART_Transmiter.Transmite_Data_CTR.NUM_SIGN_r[1]     I2C_TEST|i_Clock     cycloneii_lcell_ff     ena     N_1768_i     2.741        -0.601
UART_Controller.UART_Transmiter.Transmite_Data_CTR.NUM_SIGN_r[2]     I2C_TEST|i_Clock     cycloneii_lcell_ff     ena     N_1768_i     2.741        -0.601
UART_Controller.UART_Transmiter.Transmite_Data_CTR.NUM_SIGN_r[3]     I2C_TEST|i_Clock     cycloneii_lcell_ff     ena     N_1768_i     2.741        -0.601
UART_Controller.UART_Transmiter.Transmite_Data_CTR.NUM_SIGN_r[4]     I2C_TEST|i_Clock     cycloneii_lcell_ff     ena     N_1768_i     2.741        -0.601
UART_Controller.UART_Transmiter.Transmite_Data_CTR.NUM_SIGN_r[5]     I2C_TEST|i_Clock     cycloneii_lcell_ff     ena     N_1768_i     2.741        -0.601
UART_Controller.UART_Transmiter.Transmite_Data_CTR.NUM_SIGN_r[6]     I2C_TEST|i_Clock     cycloneii_lcell_ff     ena     N_1768_i     2.741        -0.601
UART_Controller.UART_Transmiter.Transmite_Data_CTR.NUM_SIGN_r[7]     I2C_TEST|i_Clock     cycloneii_lcell_ff     ena     N_1768_i     2.741        -0.601
UART_Controller.UART_Transmiter.Transmite_Data_CTR.NUM_SIGN_r[8]     I2C_TEST|i_Clock     cycloneii_lcell_ff     ena     N_1768_i     2.741        -0.601
UART_Controller.UART_Transmiter.Transmite_Data_CTR.NUM_SIGN_r[9]     I2C_TEST|i_Clock     cycloneii_lcell_ff     ena     N_1768_i     2.741        -0.601
=========================================================================================================================================================

发表于 2009-3-6 16:57:37 | 显示全部楼层
看不懂哎,望高手指点下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-11-16 18:30 , Processed in 0.045316 second(s), 8 queries , Gzip On, Redis On.

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