数字电路EDA设计与应用 教学课件 作者 聂小燕 鲁才 第5章 常用数字电路的设计.ppt

数字电路EDA设计与应用 教学课件 作者 聂小燕 鲁才 第5章 常用数字电路的设计.ppt

ID:50321814

大小:1.89 MB

页数:80页

时间:2020-03-08

数字电路EDA设计与应用 教学课件 作者 聂小燕 鲁才 第5章 常用数字电路的设计.ppt_第1页
数字电路EDA设计与应用 教学课件 作者 聂小燕 鲁才 第5章 常用数字电路的设计.ppt_第2页
数字电路EDA设计与应用 教学课件 作者 聂小燕 鲁才 第5章 常用数字电路的设计.ppt_第3页
数字电路EDA设计与应用 教学课件 作者 聂小燕 鲁才 第5章 常用数字电路的设计.ppt_第4页
数字电路EDA设计与应用 教学课件 作者 聂小燕 鲁才 第5章 常用数字电路的设计.ppt_第5页
资源描述:

《数字电路EDA设计与应用 教学课件 作者 聂小燕 鲁才 第5章 常用数字电路的设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、第5章常用数字电路的设计5.1组合逻辑电路设计5.2时序逻辑电路设计5.3存储器的设计5.4常用接口电路设计15.1组合逻辑电路设计2任一时刻的输出仅仅取决于当时的输入,与电路原来的状态无关,这样的数字电路叫做组合逻辑电路。用VHDL语言描述组合逻辑电路通常使用并行语句或者进程。常见的组合逻辑电路有运算电路、编码器、译码器和数据选择器等。35.1.1运算电路设计1.加法器的设计加法器有半加器和全加器两种,利用两个半加器可以构成一个全加器。半加器和全加器有什么区别?半加器只是加数与被加数相加,而全加器是加数、被加数与进位值相加。所以半加器不考虑进位,而全加器要考虑进位。4

2、【例5-1】LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYh_adderISPORT(a,b:INSTD_LOGIC;s,c:OUTSTD_LOGIC);ENDh_adder;ARCHITECTURErtlOFh_adderISBEGINc<=aANDb;s<=aXORb;ENDrtl;51位全加器可以由两个半加器和一个或门连接而成。6【例5-2】LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYf_adderISPORT(a

3、,b,ci:INSTD_LOGIC;s,co:OUTSTD_LOGIC);ENDf_adder;ARCHITECTUREarcOFf_adderISCOMPONENTh_adder--调用半加器声明语句PORT(a,b:INSTD_LOGIC;s,c:OUTSTD_LOGIC);ENDCOMPONENT;SIGNALs1,c1,c2:STD_LOGIC;--定义三个信号作为内部的连接线BEGINu1:h_adderPORTMAP(a,b,s1,c1);--例化语句u2:h_adderPORTMAP(s1,ci,s,c2);co<=c1ORc2;ENDarc;72.减法器

4、的设计1位全减器由两个半减器和一个或门连接而成。【例5-3】半减器的VHDL描述LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYh_suberISPORT(a,b:INSTD_LOGIC;diff,sub:OUTSTD_LOGIC);ENDENTITYh_suber;ARCHITECTURErtlOFh_suberISBEGINsub<=NOTaANDb;diff<=aXORb;ENDARCHITECTURErtl;8根据图5-3利用元件例化语句来实现1位全减器的顶层设计描述。9【例5-4】1位全减器LIBRARYIEEE;US

5、EIEEE.STD_LOGIC_1164.ALL;ENTITYf_suberISPORT(a,b,subin:INSTD_LOGIC;d,subout:OUTSTD_LOGIC);ENDf_suber;ARCHITECTUREarcOFf_suberISCOMPONENTh_suberPORT(a,b:INSTD_LOGIC;diff,sub:OUTSTD_LOGIC);ENDCOMPONENT;SIGNALs1,c1,c2:STD_LOGIC;BEGINu1:h_suberPORTMAP(a,b,s1,c1);u2:h_suberPORTMAP(s1,subin,d,

6、c2);subout<=c1ORc2;ENDarc;103.乘法器的设计对于乘法器,可以通过自主编写加法器和移位寄存器来实现。但是,QuartusII给设计者提供了更高效的方法,利用集成在软件内部的参数化宏功能模块LPM-MULT可以非常方便的实现乘法器。115.1.2编码器设计12【例5-5】8-3编码器LIBRARYieee;USEieee.std_logic_1164.ALL;ENTITYpriencoderISPORT(A:INSTD_LOGIC_VECTOR(7DOWNTO0);EN:INSTD_LOGIC;Y:OUTSTD_LOGIC_VECTOR(2DOW

7、NTO0));ENDpriencoder;ARCHITECTURErtlOFpriencoderISBEGINPROCESS(A)BEGINIFEN='1'THEN13CASEAISWHEN"00000001"=>Y<="000";WHEN"00000010"=>Y<="001";WHEN"00000100"=>Y<="010";WHEN"00001000"=>Y<="011";WHEN"00010000"=>Y<="100";WHEN"00100000"=>Y<="101";WHEN"01000000"=>Y<="110";WHEN"1

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。