欢迎来到装配图网! | 帮助中心 装配图网zhuangpeitu.com!
装配图网
ImageVerifierCode 换一换
首页 装配图网 > 资源分类 > PPT文档下载
 

EDA课件VHDL设计初步.ppt

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

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

EDA课件VHDL设计初步.ppt

EDA技术实用教程,第4章VHDL设计初步,4.1多路选择器的VHDL描述,4.1.12选1多路选择器的VHDL描述,图4-1mux21a实体,4.1多路选择器的VHDL描述,4.1.12选1多路选择器的VHDL描述,图4-2mux21a结构体,4.1多路选择器的VHDL描述,4.1.12选1多路选择器的VHDL描述,【例4-1】ENTITYmux21aISPORT(a,b:INBIT;s:INBIT;y:OUTBIT);ENDENTITYmux21a;ARCHITECTUREoneOFmux21aISBEGINy<=aWHENs=0ELSEb;ENDARCHITECTUREone;,4.1多路选择器的VHDL描述,4.1.12选1多路选择器的VHDL描述,【例4-2】ENTITYmux21aISPORT(a,b:INBIT;s:INBIT;y:OUTBIT);ENDENTITYmux21a;ARCHITECTUREoneOFmux21aISSIGNALd,e:BIT;BEGINd<=aAND(NOTS);e<=bANDs;y<=dORe;ENDARCHITECTUREone;,4.1多路选择器的VHDL描述,4.1.12选1多路选择器的VHDL描述,【例4-3】ENTITYmux21aISPORT(a,b,s:INBIT;y:OUTBIT);ENDENTITYmux21a;ARCHITECTUREoneOFmux21aISBEGINPROCESS(a,b,s)BEGINIFs=0THENy<=a;ELSEy<=b;ENDIF;ENDPROCESS;ENDARCHITECTUREone;,4.1多路选择器的VHDL描述,4.1.12选1多路选择器的VHDL描述,图4-3mux21a功能时序波形,4.1多路选择器的VHDL描述,4.1.2相关语句结构和语法说明,【例4-4】ENTITYe_nameISPORT(p_name:port_mdata_type;.p_namei:port_midata_type);ENDENTITYe_name;,1.实体表达,2.实体名,3.端口语句和端口信号名,4.1多路选择器的VHDL描述,4.1.2相关语句结构和语法说明,4.端口模式,4.1多路选择器的VHDL描述,4.1.2相关语句结构和语法说明,5.数据类型,6.结构体表达,【例4-5】ARCHITECTUREarch_nameOFe_nameIS说明语句BEGIN(功能描述语句)ENDARCHITECTUREarch_name;,4.1多路选择器的VHDL描述,4.1.2相关语句结构和语法说明,7.赋值符号和数据比较符号,赋值符“<=”,表式中的等号“=”没有赋值的含义,只是一种数据比较符号。,IFaTHEN.-注意,a的数据类型必须是booleanIF(s1=0)AND(s2=1)OR(c<b+1)THEN.,4.1多路选择器的VHDL描述,4.1.2相关语句结构和语法说明,8.逻辑操作符,AND、OR、NOT,9.条件语句,IF_THEN_ELSE,IF语句必须以语句“ENDIF;”结束,4.1多路选择器的VHDL描述,4.1.2相关语句结构和语法说明,10.WHEN_ELSE条件信号赋值语句,赋值目标<=表达式WHEN赋值条件ELSE表达式WHEN赋值条件ELSE.表达式;,zb1THENq1<=1;ELSIFa1<b1THENq1b1THENq1<=1;ELSEq1<=0;ENDIF;.,4.2.3实现时序电路的VHDL不同表述,4.2寄存器描述及其VHDL语言现象,【例4-9】.PROCESS(CLK)BEGINIFCLKEVENTAND(CLK=1)AND(CLKLAST_VALUE=0)THENQ<=D;-确保CLK的变化是一次上升沿的跳变ENDIF;ENDPROCESS;,4.2.3实现时序电路的VHDL不同表述,4.2寄存器描述及其VHDL语言现象,【例4-10】.PROCESS(CLK)BEGINIFCLK=1ANDCLKLAST_VALUE=0-同例3-9THENQ<=D;ENDIF;ENDPROCESS;,【例4-11】LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYDFF3ISPORT(CLK,D:INSTD_LOGIC;Q:OUTSTD_LOGIC);END;ARCHITECTUREbhvOFDFF3ISSIGNALQ1:STD_LOGIC;BEGINPROCESS(CLK)BEGINIFrising_edge(CLK)-必须打开STD_LOGIC_1164程序包THENQ1<=D;ENDIF;ENDPROCESS;Q<=Q1;-在此,赋值语句可以放在进程外,作为并行赋值语句END;,4.2.3实现时序电路的VHDL不同表述,4.2寄存器描述及其VHDL语言现象,【例4-12】.PROCESSBEGINwaituntilCLK=1;-利用wait语句Q<=D;ENDPROCESS;,4.2.3实现时序电路的VHDL不同表述,【例4-13】.PROCESS(CLK)BEGINIFCLK=1THENQ<=D;-利用进程的启动特性产生对CLK的边沿检测ENDIF;ENDPROCESS;,图4-7例4-13的时序波形,4.2.3实现时序电路的VHDL不同表述,【例4-14】.PROCESS(CLK,D)BEGINIFCLK=1-电平触发型寄存器THENQ<=D;ENDIF;ENDPROCESS;,图4-8例4-14的时序波形,4.2.4异步时序电路设计,【例4-15】.ARCHITECTUREbhvOFMULTI_DFFISSIGNALQ1,Q2:STD_LOGIC;BEGINPRO1:PROCESS(CLK)BEGINIFCLKEVENTANDCLK=1THENQ1<=NOT(Q2ORA);ENDIF;ENDPROCESS;PRO2:PROCESS(Q1)BEGINIFQ1EVENTANDQ1=1THENQ2<=D;ENDIF;ENDPROCESS;QQ<=Q2;.,图4-9例4-15综合后的电路(Synplify综合),4.2.4异步时序电路设计,4.2寄存器描述及其VHDL语言现象,图4-10半加器h_adder电路图及其真值表,4.3.1半加器描述,4.31位二进制全加器的VHDL描述,图4-11全加器f_adder电路图及其实体模块,4.3.1半加器描述,4.31位二进制全加器的VHDL描述,4.3.1半加器描述,4.31位二进制全加器的VHDL描述,【例4-16】LIBRARYIEEE;-半加器描述(1):布尔方程描述方法USEIEEE.STD_LOGIC_1164.ALL;ENTITYh_adderISPORT(a,b:INSTD_LOGIC;co,so:OUTSTD_LOGIC);ENDENTITYh_adder;ARCHITECTUREfh1OFh_adderisBEGINso<=NOT(aXOR(NOTb);co<=aANDb;ENDARCHITECTUREfh1;,【例4-17】LIBRARYIEEE;-半加器描述(2):真值表描述方法USEIEEE.STD_LOGIC_1164.ALL;ENTITYh_adderISPORT(a,b:INSTD_LOGIC;co,so:OUTSTD_LOGIC);ENDENTITYh_adder;ARCHITECTUREfh1OFh_adderisSIGNALabc:STD_LOGIC_VECTOR(1DOWNTO0);-定义标准逻辑位矢量数据类型BEGINabcsosososoNULL;ENDCASE;ENDPROCESS;ENDARCHITECTUREfh1;,4.3.1半加器描述,4.31位二进制全加器的VHDL描述,【例4-18】LIBRARYIEEE;-或门逻辑描述USEIEEE.STD_LOGIC_1164.ALL;ENTITYor2aISPORT(a,b:INSTD_LOGIC;c:OUTSTD_LOGIC);ENDENTITYor2a;ARCHITECTUREoneOFor2aISBEGINcain,b=>bin,co=>d,so=>e);-例化语句u2:h_adderPORTMAP(a=>e,b=>cin,co=>f,so=>sum);u3:or2aPORTMAP(a=>d,b=>f,c=>cout);ENDARCHITECTUREfd1;,4.3.2CASE语句,4.31位二进制全加器的VHDL描述,1.CASE语句,CASEISWhen=>.;;When=>.;;.WHENOTHERS=>ENDCASE;,4.3.2CASE语句,4.31位二进制全加器的VHDL描述,2.标准逻辑矢量数据类型,STD_LOGIC_VECTORSTD_LOGIC,在使用STD_LOGIC_VECTOR中,必须注明其数组宽度,即位宽,如:B:OUTSTD_LOGIC_VECTOR(7DOWNTO0);或SIGNALA:STD_LOGIC_VECTOR(1TO4),B<="01100010"-B(7)为0B(4DOWNTO1)<="1101"-B(4)为1B(7DOWNTO4)<=A;-B(6)等于A(2),4.3.2CASE语句,4.31位二进制全加器的VHDL描述,3.并置操作符,SIGNALa:STD_LOGIC_VECTOR(3DOWNTO0);SIGNALd:STD_LOGIC_VECTOR(1DOWNTO0);.a连接端口名,.);,4.4计数器设计,【例4-20】ENTITYCNT4ISPORT(CLK:INBIT;Q:BUFFERINTEGERRANGE15DOWNTO0);END;ARCHITECTUREbhvOFCNT4ISBEGINPROCESS(CLK)BEGINIFCLKEVENTANDCLK=1THENQ<=Q+1;ENDIF;ENDPROCESS;ENDbhv;,4.4计数器设计,4.4.14位二进制加法计数器设计,表式Q<=Q+1的右项与左项并非处于相同的时刻内,对于时序电路,除了传输延时外,前者的结果出现于当前时钟周期;后者,即左项要获得当前的Q+1,需等待下一个时钟周期。,4.4计数器设计,4.4.2整数类型,Q:BUFFERINTEGERRANGE15DOWNTO0;,Q:BUFFERNATURALRANGE15DOWNTO0;,4.4.3计数器设计的其他表述方法,【例4-21】LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYCNT4ISPORT(CLK:INSTD_LOGIC;Q:OUTSTD_LOGIC_VECTOR(3DOWNTO0);END;ARCHITECTUREbhvOFCNT4ISSIGNALQ1:STD_LOGIC_VECTOR(3DOWNTO0);BEGINPROCESS(CLK)BEGINIFCLKEVENTANDCLK=1THENQ1<=Q1+1;ENDIF;ENDPROCESS;Q0);-计数器异步复位ELSIFCLKEVENTANDCLK=1THEN-检测时钟上升沿接下页,4.5一般加法计数器设计,IFEN=1THEN-检测是否允许计数(同步使能)IFCQI0);-大于9,计数值清零ENDIF;ENDIF;ENDIF;IFCQI=9THENCOUT<=1;-计数大于9,输出进位信号ELSECOUT<=0;ENDIF;CQX),SIGNALd1:STD_LOGIC_VECTOR(4DOWNTO0);VARIABLEa1:STD_LOGIC_VECTOR(15DOWNTO0);.d10);a1:=(OTHERS=>0);,d1e(3),3=>e(5),OTHERS=>e(1);,f<=e(1),4.5一般加法计数器设计,4.5.2程序分析,图4-14例4-22的RTL电路(Synplify综合),4.5一般加法计数器设计,4.5.2程序分析,图4-15例4-22的工作时序,4.5.3含并行置位的移位寄存器设计,【例4-23】LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYSHFRTIS-8位右移寄存器PORT(CLK,LOAD:INSTD_LOGIC;DIN:INSTD_LOGIC_VECTOR(7DOWNTO0);QB:OUTSTD_LOGIC);ENDSHFRT;ARCHITECTUREbehavOFSHFRTISBEGINPROCESS(CLK,LOAD)VARIABLEREG8:STD_LOGIC_VECTOR(7DOWNTO0);BEGINIFCLKEVENTANDCLK=1THENIFLOAD=1THENREG8:=DIN;-由(LOAD=1)装载新数据ELSEREG8(6DOWNTO0):=REG8(7DOWNTO1);ENDIF;ENDIF;QB<=REG8(0);-输出最低位ENDPROCESS;ENDbehav;,4.5一般加法计数器设计,4.5.3含并行置位的移位寄存器设计,图4-16例4-23的工作时序,习题,4-1.画出与下例实体描述对应的原理图符号元件:ENTITYbuf3sIS-实体1:三态缓冲器PORT(input:INSTD_LOGIC;-输入端enable:INSTD_LOGIC;-使能端output:OUTSTD_LOGIC);-输出端ENDbuf3x;ENTITYmux21IS-实体2:2选1多路选择器PORT(in0,in1,sel:INSTD_LOGIC;output:OUTSTD_LOGIC);,习题,4-2.图4-17所示的是4选1多路选择器,试分别用IF_THEN语句和CASE语句的表达方式写出此电路的VHDL程序。选择控制的信号s1和s0的数据类型为STD_LOGIC_VECTOR;当s1=0,s0=0;s1=0,s0=1;s1=1,s0=0和s1=1,s0=1分别执行y<=a、y<=b、y<=c、y<=d。,图4-174选1多路选择器,习题,4-3.图4-18所示的是双2选1多路选择器构成的电路MUXK,对于其中MUX21A,当s=0和1时,分别有y<=a和y<=b。试在一个结构体中用两个进程来表达此电路,每个进程中用CASE语句描述一个2选1多路选择器MUX21A。,图4-18双2选1多路选择器,习题,4-4.图4-19是一个含有上升沿触发的D触发器的时序电路,试写出此电路的VHDL设计文件。,图4-19时序电路图,习题,4-5.给出1位全减器的VHDL描述。要求:(1)首先设计1位半减器,然后用例化语句将它们连接起来,图4-20中h_suber是半减器,diff是输出差,s_out是借位输出,sub_in是借位输入。(2)以1位全减器为基本硬件,构成串行借位的8位减法器,要求用例化语句来完成此项设计(减法运算是xy-sun_in=diffr)。,图4-19时序电路图,习题,4-6.根据图4-21,写出顶层文件MX3256.VHD的VHDL设计文件。,图4-21题4-6电路图,4-7.设计含有异步清零和计数使能的16位二进制加减可控计数器。,

注意事项

本文(EDA课件VHDL设计初步.ppt)为本站会员(tia****nde)主动上传,装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知装配图网(点击联系客服),我们立即给予删除!

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




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!