欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    EDA技术实用教程第12章.ppt

    • 资源ID:6504906       资源大小:336KB        全文页数:34页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    EDA技术实用教程第12章.ppt

    EDA 技术实用教程,第 12 章 系统仿真,12.1 仿真,KX康芯科技,仿真也称模拟(Simulation)是对电路设计的一种间接的检测方法,是利用计算机对整个硬件系统进行模拟检测,但却可以不接触具体的硬件系统。,12.2 VHDL源程序仿真,KX康芯科技,图12-1 VHDL仿真流程,12.2 VHDL源程序仿真,KX康芯科技,【例12-1】LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY and1 ISPORT(aaa,bbb:IN STD_LOGIC;ccc:OUT STD_LOGIC);END and1;ARCHITECTURE one OF and1 ISBEGINccc=aaa AND bbb;END;,12.2 VHDL源程序仿真,KX康芯科技,【例12-2】LIBRARY IEEE;USE IEEE.std_logic_1164.all;ENTITY TRIBUF_and1 IS GENERIC(ttri:TIME:=1 ns;ttxz:TIME:=1 ns;ttzx:TIME:=1 ns);PORT(in1:IN std_logic;oe:IN std_logic;y:OUT std_logic);END TRIBUF_and1;ARCHITECTURE behavior OF TRIBUF_and1 ISBEGIN PROCESS(in1,oe)BEGIN IF oeEVENT THEN(接下页),KX康芯科技,IF oe=0 THEN y=TRANSPORT Z AFTER ttxz;ELSIF oe=1 THEN y=TRANSPORT in1 AFTER ttzx;END IF;ELSIF oe=1 THEN y=TRANSPORT in1 AFTER ttri;ELSIF oe=0 THEN y=TRANSPORT Z AFTER ttxz;END IF;END PROCESS;END behavior;LIBRARY IEEE;USE IEEE.std_logic_1164.all;USE work.tribuf_and1;ENTITY and1 IS PORT(aaa:IN std_logic;bbb:IN std_logic;ccc:OUT std_logic);END and1;ARCHITECTURE EPF10K10LC84_a3 OF and1 IS.END EPF10K10LC84_a3;,12.3 仿真激励信号的产生,KX康芯科技,【例12-3】LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY ADDER4 IS PORT(a,b:IN INTEGER RANGE 0 TO 15;c:OUT INTEGER RANGE 0 TO 15);END ADDER4;ARCHITECTURE one OF ADDER4 ISBEGIN c=a+b;END one;,第一种方法:,12.3 仿真激励信号的产生,KX康芯科技,【例12-4】ENTITY SIGGEN IS PORT(sig1:OUT INTEGER RANGE 0 TO 15;sig2:OUT INTEGER RANGE 0 TO 15);END;ARCHITECTURE Sim OF SIGGEN ISBEGIN sig1=10,5 AFTER 200 ns,8 AFTER 400 ns;sig2=3,4 AFTER 100 ns,6 AFTER 300 ns;END;,12.3 仿真激励信号的产生,KX康芯科技,图12-2 SIGGEN的仿真输出波形,12.3 仿真激励信号的产生,KX康芯科技,【例12-5】ENTITY BENCH ISEND;ARCHITECTURE one OF BENCH IS COMPONENT ADDER4 PORT(a,b:integer range 0 to 15;c:OUT INTEGER RANGE 0 TO 15);END COMPONENT;COMPONENT SIGGEN PORT(sig1:OUT INTEGER RANGE 0 TO 15;sig2:OUT INTEGER RANGE 0 TO 15);END COMPONENT;SIGNAL a,b,c:INTEGER RANGE 0 TO 15;BEGIN U1:ADDER4 PORT MAP(a,b,c);U2:SIGGEN PORT MAP(sig1=a,sig2=b);END;,12.3 仿真激励信号的产生,KX康芯科技,图12-3 BENCH仿真波形图,12.3 仿真激励信号的产生,KX康芯科技,force,-repeat,第二种方法:,force a 0(强制信号的当前值为0)force b 0 0,1 10(强制信号b在时刻0的值为0,在时刻10的值为1)force clk 0 0,1 15 repeat 20(clk为周期信号,周期为20,force a 10 0,5 200,8 400force b 3 0,4 100,6 300,12.4 VHDL测试基准,KX康芯科技,【例12-6】Library IEEE;use IEEE.std_logic_1164.all;entity counter8 is port(CLK,CE,LOAD,DIR,RESET:in STD_LOGIC;DIN:in INTEGER range 0 to 255;COUNT:out INTEGER range 0 to 255);end counter8;architecture counter8_arch of counter8 isbeginprocess(CLK,RESET)variable COUNTER:INTEGER range 0 to 255;begin if RESET=1 then COUNTER:=0;elsif CLK=1 and CLKevent then if LOAD=1 then COUNTER:=DIN;(接下页),KX康芯科技,Else if CE=1 then if DIR=1 then if COUNTER=255 then COUNTER:=0;Else COUNTER:=COUNTER+1;end if;else if COUNTER=0 then COUNTER:=255;Else COUNTER:=COUNTER-1;end if;end if;end if;end if;end if;COUNT=COUNTER;end process;end counter8_arch;,12.4 VHDL测试基准,KX康芯科技,【例12-7】Entity testbench is end testbench;Architecture testbench_arch of testbench isFile RESULTS:TEXT open WRITE_MODE is results.txt;Component counter8 port(CLK:in STD_LOGIC;RESET:in STD_LOGIC;CE,LOAD,DIR:in STD_LOGIC;DIN:in INTEGER range 0 to 255;COUNT:out INTEGER range 0 to 255);end component;shared variable end_sim:BOOLEAN:=false;signal CLK,RESET,CE,LOAD,DIR:STD_LOGIC;signal DIN:INTEGER range 0 to 255;signal COUNT:INTEGER range 0 to 255;procedure WRITE_RESULTS(CLK,CE,LOAD,LOAD,RESET:STD_LOGIC;(接下页),KX康芯科技,DIN,COUNT:INTEGER)isVariable V_OUT:LINE;Beginwrite(V_OUT,now,right,16,ps);-输入时间write(V_OUT,CLK,right,2);write(V_OUT,RESET,right,2);write(V_OUT,CE,right,2);write(V_OUT,LOAD,right,2);write(V_OUT,DIR,right,2);write(V_OUT,DIN,right,257);-write outputswrite(V_OUT,COUNT,right,257);writeline(RESULTS,V_OUT);end WRITE_RESULTS;beginUUT:COUNTER8port map(CLK=CLK,RESET=RESET,CE=CE,LOAD=LOAD,DIR=DIR,DIN=DIN,COUNT=COUNT);CLK_IN:processBegin(接下页),KX康芯科技,if end_sim=false then CLK=0;Wait for 15 ns;CLk=1;Wait for 15 ns;Else Wait;end if;end process;STIMULUS:processBeginRESET=1;CE=1;-计数使能 DIR=1;-加法计数 DIN=250;-输入数据LOAD=0;-禁止加载输入的数据 wait for 15 ns;RESET=0;wait for 1 us;CE=0;-禁止计数脉冲信号进入 wait for 200 ns;CE=1;wait for 200 ns;(接下页),KX康芯科技,DIR=0;wait for 500 ns;LOAD=1;wait for 60 ns;LOAD=0;wait for 500 ns;DIN=60;DIR=1;LOAD=1;wait for 60 ns;LOAD=0;wait for 1 us;CE=0;wait for 500 ns;CE=1;wait for 500 ns;end_sim:=true;wait;end process;WRITE_TO_FILE:WRITE_RESULTS(CLK,RESET,CE,LOAD,DIR,DIN,COUNT);End testbench_arch;,12.4 VHDL测试基准,KX康芯科技,图12-4 8位计数器测试基准仿真部分波形图,12.5 VHDL系统级仿真,KX康芯科技,图12-5 VHDL系统仿真模型示意图,12.5 VHDL系统级仿真,12.6 使用ModelSim进行仿真,KX康芯科技,12.5 VHDL系统级仿真,【例12-8】LIBRARY ieee;USE ieee.std_logic_1164.all;USEieee.std_logic_unsigned.all;ENTITY cnt4 ISPORT(rst:IN STD_LOGIC;d:IN STD_LOGIC_VECTOR(3 downto 0);load:IN STD_LOGIC;clk,ce:IN STD_LOGIC;q:OUT STD_LOGIC_VECTOR(3 downto 0);cout:OUT STD_LOGIC);END cnt4;ARCHITECTURE syn OF cnt4 ISsignal count:std_logic_vector(3 downto 0);BEGIN(接下页),KX康芯科技,12.5 VHDL系统级仿真,cntproc:process(clk,rst)beginif rst=1 thencount 0);elsif rising_edge(clk)thenif ce=1 thenif load=1 thencount=d;elsecount=count+1;end if;end if;end if;end process;coutproc:process(clk,rst)beginif rst=1 thencout=0;elsif rising_edge(clk)thenif count=1111 thencout=1;elsecout=0;end if;end if;end process;q=count;END syn;,12.6 使用ModelSim进行仿真,KX康芯科技,图12-6 ModelSim的启动界面,12.5 VHDL系统级仿真,12.6 使用ModelSim进行仿真,KX康芯科技,图12-7 建立工程建立项目,12.5 VHDL系统级仿真,12.6 使用ModelSim进行仿真,KX康芯科技,图12-8 开始编译仿真文件,12.5 VHDL系统级仿真,12.6 使用ModelSim进行仿真,KX康芯科技,图12-9 ModelSim编译时的提示信息,12.5 VHDL系统级仿真,12.6 使用ModelSim进行仿真,KX康芯科技,图12-10 装载设计模块,12.5 VHDL系统级仿真,KX康芯科技,图12-11 ModelSim的仿真观察窗,12.5 VHDL系统级仿真,KX康芯科技,12.5 VHDL系统级仿真,【例12-9】library ieee;use ieee.std_logic_1164.all;ENTITY wavegen ISPORT(clk,rst:OUT STD_LOGIC);end wavegen;ARCHITECTURE sim OF wavegen isconstant cycle:Time:=10 ns;BEGINprocess beginclk=0;wait for cycle/2;clk=1;wait for cycle/2;end process;process beginrst=1;wait for cycle*5;rst=0;wait;end process;END sim;,12.6 使用ModelSim进行仿真,KX康芯科技,图12-12 ModelSim的波形观察窗,12.5 VHDL系统级仿真,12.6 使用ModelSim进行仿真,KX康芯科技,图12-12 时钟与复位信号生成,12.5 VHDL系统级仿真,12.7 VHDL的RTL表述,KX康芯科技,12.5 VHDL系统级仿真,12.7.1 行为描述,【例12-10】LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;;ENTITY cunter_up ISPORT(reset,clock:IN STD_LOGIC;counter:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END;ARCHITECTURE behv of cunter_up ISSIGNAL cnt_ff:UNSIGNED(7 DOWNTO 0);BEGINPROCESS(clock,reset,cnt_ff)BEGIN IF reset=1 THEN cnt_ff=X00;ELSIF(clock=1 AND clockEVENT)THEN cnt_ff=cnt_ff+1;END IF;END PROCESS;counter=STD_LOGIC_VECTOR(cnt_ff);END ARCHITECTURE behv;,12.7 VHDL的RTL表述,KX康芯科技,12.5 VHDL系统级仿真,12.7.1 行为描述,【例12-11】MODULE counter_up Clock,reset,PIN;Counter7.counter0 PIN ISTYPE COM;Cnt_t_ff0 NODE ISTYPE REG;Counter=counter7.counter0;Cnt=cnt_t_ff0;EQUATIONS Cnt.CLK=clock;Cnt.AR=reset;Cnt:=cnt.FB+1;Counter=cnt;END counter_up,12.7 VHDL的RTL表述,KX康芯科技,12.5 VHDL系统级仿真,12.7.2 数据流描述,12.7.3 结构描述,

    注意事项

    本文(EDA技术实用教程第12章.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开