第五讲优化和时序分析_第1页
第五讲优化和时序分析_第2页
第五讲优化和时序分析_第3页
第五讲优化和时序分析_第4页
第五讲优化和时序分析_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第五讲优化和时序分析第一页,共四十四页,2022年,8月28日11.1资源优化

11.1.1资源共享

【例11-1】LIBRARYieee;USEieee.std_logic_1164.all;USEieee.std_logic_unsigned.all;USEieee.std_logic_arith.all;ENTITYmultmuxISPORT(A0,A1,B:INstd_logic_vector(3downto0);sel:INstd_logic;Result:OUTstd_logic_vector(7downto0));ENDmultmux;ARCHITECTURErtlOFmultmuxISBEGINprocess(A0,A1,B,sel)beginif(sel='0')thenResult<=A0*B;elseResult<=A1*B;endif;endprocess;ENDrtl;第二页,共四十四页,2022年,8月28日11.1资源优化

11.1.1资源共享

图11-1先乘后选择的设计方法RTL结构

第三页,共四十四页,2022年,8月28日11.1资源优化

11.1.1资源共享

图11-2先选择后乘设计方法RTL结构

第四页,共四十四页,2022年,8月28日11.1资源优化

11.1.1资源共享

【例11-2】ARCHITECTURErtlOFmuxmultISsignaltemp:std_logic_vector(3downto0);BEGINprocess(A0,A1,B,sel)beginif(sel='0')thentemp<=A0;elsetemp<=A1;endif;result<=temp*B;endprocess;ENDrtl;

第五页,共四十四页,2022年,8月28日11.1资源优化

11.1.1资源共享

图11-3资源共享反例

第六页,共四十四页,2022年,8月28日11.1资源优化

11.1.2逻辑优化

【例11-3】LIBRARYieee;USEieee.std_logic_1164.all;useieee.std_logic_unsigned.all;useieee.std_logic_arith.all;ENTITYmult1ISPORT(clk:instd_logic;ma:Instd_logic_vector(11downto0);mc:outstd_logic_vector(23downto0));ENDmult1;ARCHITECTURErtlOFmult1ISsignalta,tb:std_logic_vector(11downto0);BEGINprocess(clk)beginif(clk'eventandclk='1')thenendif;endprocess;ENDrtl;第七页,共四十四页,2022年,8月28日11.1资源优化

11.1.2逻辑优化

【例11-4】LIBRARYieee;USEieee.std_logic_1164.all;useieee.std_logic_unsigned.all;useieee.std_logic_arith.all;ENTITYmult2ISPORT(clk:instd_logic;ma:Instd_logic_vector(11downto0);mc:outstd_logic_vector(23downto0));ENDmult2;ARCHITECTURErtlOFmult2ISsignalta:std_logic_vector(11downto0);BEGINprocess(clk)beginif(clk'eventandclk='1')thenta<=ma;mc<=ta*tb;endif;endprocess;ENDrtl;第八页,共四十四页,2022年,8月28日11.1资源优化

11.1.3串行化

【例11-5】LIBRARYieee;USEieee.std_logic_1164.all;useieee.std_logic_unsigned.all;useieee.std_logic_arith.all;ENTITYpmultaddISPORT(clk:instd_logic;a0,a1,a2,a3:instd_logic_vector(7downto0);b0,b1,b2,b3:instd_logic_vector(7downto0);yout:outstd_logic_vector(15downto0));ENDpmultadd;ARCHITECTUREp_archOFpmultaddISBEGINprocess(clk)beginif(clk'eventandclk='1')thenyout<=((a0*b0)+(a1*b1))+((a2*b2)+(a3*b3));endif;endprocess;ENDp_arch;yout=a0×b0+a1×b1+a2×b2+a3×b3

第九页,共四十四页,2022年,8月28日11.1资源优化

KX康芯科技11.1.3串行化

图11-4并行并行乘法RTL结构(Synplify综合)

第十页,共四十四页,2022年,8月28日KX康芯科技【例11-6】LIBRARYieee;USEieee.std_logic_1164.all;useieee.std_logic_unsigned.all;useieee.std_logic_arith.all;ENTITYsmultaddISPORT(clk,start:instd_logic;a0,a1,a2,a3:Instd_logic_vector(7downto0);b0,b1,b2,b3:Instd_logic_vector(7downto0);yout:outstd_logic_vector(15downto0));ENDsmultadd;ARCHITECTUREs_archOFsmultaddISsignalcnt:std_logic_vector(2downto0);signaltmpa,tmpb:std_logic_vector(7downto0);signaltmp,ytmp:std_logic_vector(15downto0);BEGINtmpa<=a0whencnt=0elsea1whencnt=1elsea2whencnt=2elsea3whencnt=3elsea0;tmpb<=b0whencnt=0elseb1whencnt=1elseb2whencnt=2elseb3whencnt=3elseb0;tmp<=tmpa*tmpb;process(clk)beginif(clk'eventandclk='1')thenif(start='1')thencnt<="000";ytmp<=(others=>'0');elsif(cnt<4)thencnt<=cnt+1;ytmp<=ytmp+tmp;elsif(cnt=4)thenyout<=ytmp;endif;endif;endprocess;ENDs_arch;第十一页,共四十四页,2022年,8月28日11.2速度优化

11.2.1流水线设计

图11-5未使用流水线

第十二页,共四十四页,2022年,8月28日11.2速度优化

11.2.1流水线设计

图11-6使用流水线

第十三页,共四十四页,2022年,8月28日11.2速度优化

11.2.1流水线设计

图11-7流水线工作图示

第十四页,共四十四页,2022年,8月28日KX康芯科技【例11-7】LIBRARYieee;USEieee.std_logic_1164.all;useieee.std_logic_unsigned.all;useieee.std_logic_arith.all;ENTITYadder4ISPORT(clk:instd_logic;a0,a1,a2,a3:instd_logic_vector(7downto0);yout:outstd_logic_vector(9downto0));ENDadder4;ARCHITECTUREnormal_archOFadder4ISsignalt0,t1,t2,t3:std_logic_vector(7downto0);signaladdtmp0,addtmp1:std_logic_vector(8downto0);BEGINprocess(clk)beginif(clk'eventandclk='1')thent0<=a0;t1<=a1;t2<=a2;t3<=a3;endif;endprocess;addtmp0<='0'&t0+t1;addtmp1<='0'&t2+t3;process(clk)beginif(clk'eventandclk='1')thenyout<='0'&addtmp0+addtmp1;endif;endprocess;ENDnormal_arch;第十五页,共四十四页,2022年,8月28日KX康芯科技【例11-8】LIBRARYieee;USEieee.std_logic_1164.all;useieee.std_logic_unsigned.all;useieee.std_logic_arith.all;ENTITYpipeaddISPORT(clk:instd_logic;a0,a1,a2,a3:instd_logic_vector(7downto0);yout:outstd_logic_vector(9downto0));ENDpipeadd;ARCHITECTUREpipelining_archOFpipeaddISsignalt0,t1,t2,t3:std_logic_vector(7downto0);signaladdtmp0,addtmp1:std_logic_vector(8downto0);BEGINprocess(clk)beginif(clk'eventandclk='1')thent0<=a0;t1<=a1;t2<=a2;t3<=a3;endif;endprocess;process(clk)beginif(clk'eventandclk='1')thenaddtmp0<='0'&t0+t1;addtmp1<='0'&t2+t3;yout<='0'&addtmp0+addtmp1;endif;endprocess;ENDpipelining_arch;第十六页,共四十四页,2022年,8月28日11.2速度优化

11.2.2寄存器配平

图11-8不合理的结构

第十七页,共四十四页,2022年,8月28日11.2速度优化

11.2.2寄存器配平

图11-9寄存器配平的结构

第十八页,共四十四页,2022年,8月28日11.2速度优化

11.2.3关键路径法

图11-10关键路径示意

第十九页,共四十四页,2022年,8月28日11.3优化设置与时序分析

11.3.1Settings设置

11.3.2HDL版本设置及Analysis&Synthesis功能

11.3.3Analysis&Synthesis的优化设置

11.3.4适配器Fitter设置

第二十页,共四十四页,2022年,8月28日11.3优化设置与时序分析

图9-11布线倍增器优化程度指数选择

第二十一页,共四十四页,2022年,8月28日11.3优化设置与时序分析

11.3.5增量布局布线控制设置

图11-12反标设置

第二十二页,共四十四页,2022年,8月28日11.3优化设置与时序分析

11.3.6使用DesignAssistant检查设计可靠性

图11-13DesignAssistant设置

第二十三页,共四十四页,2022年,8月28日11.3优化设置与时序分析

11.3.7时序设置与分析

图11-14全编译前时序条件设置(设置时钟信号CLK不低于130MHz)

第二十四页,共四十四页,2022年,8月28日11.3优化设置与时序分析

11.3.7时序设置与分析

图11-15由TimingWizard窗口设置时序条件

第二十五页,共四十四页,2022年,8月28日11.3优化设置与时序分析

11.3.8查看时序分析结果

图11-16时序分析报告窗

第二十六页,共四十四页,2022年,8月28日11.3优化设置与时序分析

11.3.8查看时序分析结果

图11-17TimingAnalyzerTool项进入的时序分析报告窗

第二十七页,共四十四页,2022年,8月28日11.3优化设置与时序分析

11.3.9适配优化设置示例

图11-18未用乘积项前的编译报告

第二十八页,共四十四页,2022年,8月28日【例11-9】

用CASE语句设计的正弦信号发生器LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYSINGTISPORT(CLK:INSTD_LOGIC;DOUT:OUTINTEGERRANGE255DOWNTO0);END;ARCHITECTUREDACCOFSINGTISSIGNALQ:INTEGERRANGE63DOWNTO0;SIGNALD:INTEGERRANGE255DOWNTO0;BEGINPROCESS(CLK)BEGINIFCLK'EVENTANDCLK='1'THENIFQ<63THENQ<=Q+1;ELSEQ<=0;ENDIF;ENDIF;ENDPROCESS;PROCESS(Q)BEGINCASEQIS(接下页)

第二十九页,共四十四页,2022年,8月28日WHEN00=>D<=255;WHEN01=>D<=254;WHEN02=>D<=252;WHEN03=>D<=249;WHEN04=>D<=245;WHEN05=>D<=239;WHEN06=>D<=233;WHEN07=>D<=225;WHEN08=>D<=217;WHEN09=>D<=207;WHEN10=>D<=197;WHEN11=>D<=186;WHEN12=>D<=174;WHEN13=>D<=162;WHEN14=>D<=150;WHEN15=>D<=137;WHEN16=>D<=124;WHEN17=>D<=112;WHEN18=>D<=99;WHEN19=>D<=87;WHEN20=>D<=75;WHEN21=>D<=64;WHEN22=>D<=53;WHEN23=>D<=43;WHEN24=>D<=34;WHEN25=>D<=26;WHEN26=>D<=19;WHEN27=>D<=13;WHEN28=>D<=8;WHEN29=>D<=4;WHEN30=>D<=1;WHEN31=>D<=0;WHEN32=>D<=0;WHEN33=>D<=1;WHEN34=>D<=4;WHEN35=>D<=8;WHEN36=>D<=13;WHEN37=>D<=19;WHEN38=>D<=26;WHEN39=>D<=34;WHEN40=>D<=43;WHEN41=>D<=53;WHEN42=>D<=64;WHEN43=>D<=75;WHEN44=>D<=87;WHEN45=>D<=99;WHEN46=>D<=112;WHEN47=>D<=124;WHEN48=>D<=137;WHEN49=>D<=150;WHEN50=>D<=162;WHEN51=>D<=174;WHEN52=>D<=186;WHEN53=>D<=197;WHEN54=>D<=207;WHEN55=>D<=217;WHEN56=>D<=225;WHEN57=>D<=233;WHEN58=>D<=239;WHEN59=>D<=245;WHEN60=>D<=249;WHEN61=>D<=252;WHEN62=>D<=254;WHEN63=>D<=255;WHENOTHERS=>NULL;ENDCASE;ENDPROCESS;DOUT<=D;END;

第三十页,共四十四页,2022年,8月28日11.3优化设置与时序分析

11.3.9适配优化设置示例

图11-19针对工程选择LocateinAssignmentEditor第三十一页,共四十四页,2022年,8月28日11.3优化设置与时序分析

11.3.9适配优化设置示例

图11-20选用乘积项逻辑优化

第三十二页,共四十四页,2022年,8月28日11.3优化设置与时序分析

11.3.9适配优化设置示例

图11-21在floorplan中可以看到使用了32个ESB第三十三页,共四十四页,2022年,8月28日11.3优化设置与时序分析

11.3.9适配优化设置示例

图11-22使用了乘积项的编译报告

第三十四页,共四十四页,2022年,8月28日11.3优化设置与时序分析

11.3.10SlowSlewRate设置

图11-23SlowSlewRate选择

第三十五页,共四十四页,2022年,8月28日11.3优化设置与时序分析

11.3.11LogicLock优化技术

大规模系

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论