欢迎来到天天文库
浏览记录
ID:49262107
大小:2.04 MB
页数:74页
时间:2020-02-02
《EDA技术实用教程第11章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、EDA技术实用教程第11章优化和时序分析11.1资源优化KX康芯科技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;ARCHITECTURErtlOFmultmuxIS
2、BEGINprocess(A0,A1,B,sel)beginif(sel='0')thenResult<=A0*B;elseResult<=A1*B;endif;endprocess;ENDrtl;11.1资源优化KX康芯科技11.1.1资源共享图11-1先乘后选择的设计方法RTL结构11.1资源优化KX康芯科技11.1.1资源共享图11-2先选择后乘设计方法RTL结构11.1资源优化KX康芯科技11.1.1资源共享【例11-2】ARCHITECTURErtlOFmuxmultISsignaltemp:std_logic_vector(3downto0);BEGINprocess(A0,
3、A1,B,sel)beginif(sel='0')thentemp<=A0;elsetemp<=A1;endif;result<=temp*B;endprocess;ENDrtl;11.1资源优化KX康芯科技11.1.1资源共享图11-3资源共享反例11.1资源优化KX康芯科技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_
4、logic_vector(11downto0);mc:outstd_logic_vector(23downto0));ENDmult1;ARCHITECTURErtlOFmult1ISsignalta,tb:std_logic_vector(11downto0);BEGINprocess(clk)beginif(clk'eventandclk='1')thenta<=ma;tb<="100110111001";mc<=ta*tb;endif;endprocess;ENDrtl;11.1资源优化KX康芯科技11.1.2逻辑优化【例11-4】LIBRARYieee;USEieee.std_l
5、ogic_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);constanttb:std_logic_vector(11downto0):="10011011100
6、1";BEGINprocess(clk)beginif(clk'eventandclk='1')thenta<=ma;mc<=ta*tb;endif;endprocess;ENDrtl;11.1资源优化KX康芯科技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
7、);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
此文档下载收益归作者所有