(精品)EDA技术实用教程第11章.ppt
《(精品)EDA技术实用教程第11章.ppt》由会员分享,可在线阅读,更多相关《(精品)EDA技术实用教程第11章.ppt(74页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、EDA 技术实用教程技术实用教程第第 11 11 章章 优化和时序分析优化和时序分析 11.1 资源优化资源优化 K KX康芯科技康芯科技11.1.1 资源共享资源共享【例【例11-1】LIBRARY ieee;USE ieee.std_logic_1164.all;USE ieee.std_logic_unsigned.all;USE ieee.std_logic_arith.all;ENTITY multmux IS PORT(A0,A1,B :IN std_logic_vector(3 downto 0);sel :IN std_logic;Result :OUT std_logic_v
2、ector(7 downto 0);END multmux;ARCHITECTURE rtl OF multmux ISBEGIN process(A0,A1,B,sel)begin if(sel=0)then Result=A0*B;else Result=A1*B;end if;end process;END rtl;11.1 资源优化资源优化 K KX康芯科技康芯科技11.1.1 资源共享资源共享 图图11-1 先乘后选择的设计方法先乘后选择的设计方法RTL结构结构 11.1 资源优化资源优化 K KX康芯科技康芯科技11.1.1 资源共享资源共享 图图11-2 先选择后乘设计方法先选择
3、后乘设计方法RTL结构结构 11.1 资源优化资源优化 K KX康芯科技康芯科技11.1.1 资源共享资源共享【例【例11-2】ARCHITECTURE rtl OF muxmult IS signal temp:std_logic_vector(3 downto 0);BEGIN process(A0,A1,B,sel)begin if(sel=0)then temp=A0;else temp=A1;end if;result=temp*B;end process;END rtl;11.1 资源优化资源优化 K KX康芯科技康芯科技11.1.1 资源共享资源共享 图图11-3 资源共享反例资
4、源共享反例 11.1 资源优化资源优化 K KX康芯科技康芯科技11.1.2 逻辑优化逻辑优化【例【例11-3】LIBRARY ieee;USE ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;ENTITY mult1 IS PORT(clk:in std_logic;ma:In std_logic_vector(11 downto 0);mc:out std_logic_vector(23 downto 0);END mult1;ARCHITECTURE rtl OF m
5、ult1 IS signal ta,tb:std_logic_vector(11 downto 0);BEGINprocess(clk)begin if(clkevent and clk=1)then ta=ma;tb=100110111001;mc=ta*tb;end if;end process;END rtl;11.1 资源优化资源优化 K KX康芯科技康芯科技11.1.2 逻辑优化逻辑优化【例【例11-4】LIBRARY ieee;USE ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic
6、_arith.all;ENTITY mult2 IS PORT(clk:in std_logic;ma:In std_logic_vector(11 downto 0);mc:out std_logic_vector(23 downto 0);END mult2;ARCHITECTURE rtl OF mult2 IS signal ta:std_logic_vector(11 downto 0);constant tb:std_logic_vector(11 downto 0):=100110111001;BEGINprocess(clk)begin if(clkevent and clk=
7、1)then ta=ma;mc=ta*tb;end if;end process;END rtl;11.1 资源优化资源优化 K KX康芯科技康芯科技11.1.3 串行化串行化【例【例11-5】LIBRARY ieee;USE ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;ENTITY pmultadd IS PORT(clk:in std_logic;a0,a1,a2,a3:in std_logic_vector(7 downto 0);b0,b1,b2,b3:in s
8、td_logic_vector(7 downto 0);yout:out std_logic_vector(15 downto 0);END pmultadd;ARCHITECTURE p_arch OF pmultadd ISBEGINprocess(clk)begin if(clkevent and clk=1)then yout=(a0*b0)+(a1*b1)+(a2*b2)+(a3*b3);end if;end process;END p_arch;yout=a0 b0+a1 b1+a2 b2+a3 b3 11.1 资源优化资源优化 K KX康芯科技康芯科技11.1.3 串行化串行化
9、图图11-4 并行并行乘法并行并行乘法RTL结构(结构(Synplify综合)综合)K KX康芯科技康芯科技【例【例11-6】LIBRARY ieee;USE ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;ENTITY smultadd IS PORT(clk,start:in std_logic;a0,a1,a2,a3:In std_logic_vector(7 downto 0);b0,b1,b2,b3:In std_logic_vector(7 downto 0);
10、yout:out std_logic_vector(15 downto 0);END smultadd;ARCHITECTURE s_arch OF smultadd IS signal cnt:std_logic_vector(2 downto 0);signal tmpa,tmpb:std_logic_vector(7 downto 0);signal tmp,ytmp:std_logic_vector(15 downto 0);BEGINtmpa=a0 when cnt=0 else a1 when cnt=1 else a2 when cnt=2 else a3 when cnt=3
11、else a0;tmpb=b0 when cnt=0 else b1 when cnt=1 else b2 when cnt=2 else b3 when cnt=3 else b0;tmp=tmpa*tmpb;process(clk)begin if(clkevent and clk=1)then if(start=1)then cnt=000;ytmp 0);elsif(cnt4)then cnt=cnt+1;ytmp=ytmp+tmp;elsif(cnt=4)then yout=ytmp;end if;end if;end process;END s_arch;11.2 速度优化速度优化
12、 K KX康芯科技康芯科技11.2.1 流水线设计流水线设计 图图11-5 未使用流水线未使用流水线 11.2 速度优化速度优化 K KX康芯科技康芯科技11.2.1 流水线设计流水线设计 图图11-6 使用流水线使用流水线 11.2 速度优化速度优化 K KX康芯科技康芯科技11.2.1 流水线设计流水线设计 图图11-7 流水线工作图示流水线工作图示 K KX康芯科技康芯科技【例【例11-7】LIBRARY ieee;USE ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.al
13、l;ENTITY adder4 IS PORT(clk:in std_logic;a0,a1,a2,a3:in std_logic_vector(7 downto 0);yout:out std_logic_vector(9 downto 0);END adder4;ARCHITECTURE normal_arch OF adder4 IS signal t0,t1,t2,t3:std_logic_vector(7 downto 0);signal addtmp0,addtmp1:std_logic_vector(8 downto 0);BEGINprocess(clk)begin if(cl
14、kevent and clk=1)then t0=a0;t1=a1;t2=a2;t3=a3;end if;end process;addtmp0=0&t0+t1;addtmp1=0&t2+t3;process(clk)begin if(clkevent and clk=1)then yout=0&addtmp0+addtmp1;end if;end process;END normal_arch;K KX康芯科技康芯科技【例【例11-8】LIBRARY ieee;USE ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ie
15、ee.std_logic_arith.all;ENTITY pipeadd IS PORT(clk:in std_logic;a0,a1,a2,a3:in std_logic_vector(7 downto 0);yout:out std_logic_vector(9 downto 0);END pipeadd;ARCHITECTURE pipelining_arch OF pipeadd IS signal t0,t1,t2,t3:std_logic_vector(7 downto 0);signal addtmp0,addtmp1:std_logic_vector(8 downto 0);
16、BEGINprocess(clk)begin if(clkevent and clk=1)then t0=a0;t1=a1;t2=a2;t3=a3;end if;end process;process(clk)begin if(clkevent and clk=1)then addtmp0=0&t0+t1;addtmp1=0&t2+t3;yout=0&addtmp0+addtmp1;end if;end process;END pipelining_arch;11.2 速度优化速度优化 K KX康芯科技康芯科技11.2.2 寄存器配平寄存器配平 图图11-8 不合理的结构不合理的结构 11.2
17、 速度优化速度优化 K KX康芯科技康芯科技11.2.2 寄存器配平寄存器配平 图图11-9 寄存器配平的结构寄存器配平的结构 11.2 速度优化速度优化 K KX康芯科技康芯科技11.2.3 关键路径法关键路径法 图图11-10 关键路径示意关键路径示意 11.3 优化设置与时序分析优化设置与时序分析 K KX康芯科技康芯科技11.3.1 Settings设置设置 11.3.2 HDL版本设置及版本设置及Analysis&Synthesis功能功能 11.3.3 Analysis&Synthesis的优化设置的优化设置 11.3.4 适配器适配器Fitter设置设置 11.3 优化设置与时序
18、分析优化设置与时序分析 K KX康芯科技康芯科技图图9-11 布线倍布线倍增器优化程度增器优化程度指数选择指数选择 11.3 优化设置与时序分析优化设置与时序分析 K KX康芯科技康芯科技11.3.5 增量布局布线控制设置增量布局布线控制设置 图图11-12 反标反标设置设置 11.3 优化设置与时序分析优化设置与时序分析 K KX康芯科技康芯科技11.3.6 使用使用Design Assistant检查设计可靠性检查设计可靠性 图图11-13 Design Assistant设置设置 11.3 优化设置与时序分析优化设置与时序分析 11.3.7 时序设置与分析时序设置与分析 图图11-14
19、全编译前时序条件设置(设置时钟信号全编译前时序条件设置(设置时钟信号CLK不低于不低于130MHz)11.3 优化设置与时序分析优化设置与时序分析 11.3.7 时序设置与分析时序设置与分析 图图11-15 由由Timing Wizard窗口设置时序条件窗口设置时序条件 11.3 优化设置与时序分析优化设置与时序分析 11.3.8 查看时序分析结果查看时序分析结果 图图11-16 时序分析报告窗时序分析报告窗 11.3 优化设置与时序分析优化设置与时序分析 11.3.8 查看时序分析结果查看时序分析结果 图图11-17 Timing Analyzer Tool 项进入的时序分析报告窗项进入的时
20、序分析报告窗 11.3 优化设置与时序分析优化设置与时序分析 11.3.9 适配优化设置示例适配优化设置示例 图图11-18 未用乘积项前的编译报告未用乘积项前的编译报告 K KX康芯科技康芯科技【例【例11-9】用用CASE语句设计的正弦信号发生器语句设计的正弦信号发生器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY SINGT IS PORT(CLK :IN STD_LOGIC;DOUT :OUT INTEGER RANGE 255 DOWNTO 0 );END;ARCHITEC
21、TURE DACC OF SINGT IS SIGNAL Q :INTEGER RANGE 63 DOWNTO 0;SIGNAL D :INTEGER RANGE 255 DOWNTO 0;BEGINPROCESS(CLK)BEGIN IF CLKEVENT AND CLK=1 THENIF Q 63 THEN Q=Q+1;ELSE Q D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D NU
22、LL;END CASE;END PROCESS;DOUT=D;END;11.3 优化设置与时序分析优化设置与时序分析 11.3.9 适配优化设置示例适配优化设置示例 图图11-19 针对工程选择针对工程选择Locate in Assignment Editor K KX康芯科技康芯科技11.3 优化设置与时序分析优化设置与时序分析 11.3.9 适配优化设置示例适配优化设置示例 图图11-20 选用乘积项逻辑优化选用乘积项逻辑优化 K KX康芯科技康芯科技11.3 优化设置与时序分析优化设置与时序分析 11.3.9 适配优化设置示例适配优化设置示例 图图11-21在在floorplan中可以看
23、到使用了中可以看到使用了32个个ESB K KX康芯科技康芯科技11.3 优化设置与时序分析优化设置与时序分析 11.3.9 适配优化设置示例适配优化设置示例 图图11-22使用了乘积项的编译报告使用了乘积项的编译报告 K KX康芯科技康芯科技11.3 优化设置与时序分析优化设置与时序分析 11.3.10 Slow Slew Rate设置设置 图图11-23 Slow Slew Rate选择选择 K KX康芯科技康芯科技11.3 优化设置与时序分析优化设置与时序分析 11.3.11 LogicLock优化技术优化技术 K KX康芯科技康芯科技 大规模系统开发中,应用逻辑锁定技术可以优化大规模系
24、统开发中,应用逻辑锁定技术可以优化设计,合理分配硬件资料,提高系统的工作速度和可设计,合理分配硬件资料,提高系统的工作速度和可靠性。靠性。QuartusII支持逻辑锁定技术的支持逻辑锁定技术的FPGA器件系列器件系列有有APEX20K、APEXII、Excalibur、Cyclone/II和和Stratix/II等。等。11.4 Chip Editor应用应用 11.4.1 Chip Editor应用实例应用实例 K KX康芯科技康芯科技图图9-24 最左侧是最左侧是CNT4B占用的占用的LAB 11.4 Chip Editor应用应用 11.4.1 Chip Editor应用实例应用实例 K
25、 KX康芯科技康芯科技9-25 放大后的放大后的LAB分布分布 11.4 Chip Editor应用应用 11.4.1 Chip Editor应用实例应用实例 图图11-26 被占用的被占用的LAB 图图11-27 LAB中被占用的中被占用的5个个LCs 11.4 Chip Editor应用应用 11.4.1 Chip Editor应用实例应用实例 K KX康芯科技康芯科技图图11-28 Resource Property Editor的门级原理图编辑窗的门级原理图编辑窗 11.4 Chip Editor应用应用 11.4.1 Chip Editor应用实例应用实例 K KX康芯科技康芯科技图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精品 EDA 技术 实用教程 11
限制150内