VHDL组合逻辑电路设计.ppt

上传人:sh****n 文档编号:6559135 上传时间:2020-02-29 格式:PPT 页数:52 大小:417.81KB
返回 下载 相关 举报
VHDL组合逻辑电路设计.ppt_第1页
第1页 / 共52页
VHDL组合逻辑电路设计.ppt_第2页
第2页 / 共52页
VHDL组合逻辑电路设计.ppt_第3页
第3页 / 共52页
点击查看更多>>
资源描述
第五章组合逻辑电路设计 5 1门电路5 2编码器5 3优先编码器5 4译码器5 5多路选择器5 6数值比较器5 7加法器 在前面的各章里 分别介绍了VHDL语言的语句 语法以及利用VHDL语言设计硬件电路的基本方法 本章重点介绍利用VHDL语言设计基本组合逻辑模块的方法 5 1门电路 二输入异或门二输入异或门的逻辑表达式如下所示 二输入异或门的逻辑符号如图所示 真值表如下表所示 aby000011101110 例 采用行为描述方式设计的异或门 依据逻辑表达式 LIBRARYIEEE USEIEEE STD LOGIC 1164 ALL ENTITYxor2 v1ISPORT a b INSTD LOGIC y OUTSTD LOGIC ENDxor2 v1 ARCHITECTUREbehaveOFxor2 v1ISBEGINy aXORb ENDbehave 例 采用数据流描述方式设计的异或门 依据真值表 LIBRARYIEEE USEIEEE STD LOGIC 1164 ALL ENTITYxor2 v2ISPORT a b INSTD LOGIC y OUTSTD LOGIC ENDxor2 v2 ARCHITECTUREdataflowOFxor2 v2ISBEGINPROCESS a b VARIABLEcomb STD LOGIC VECTOR 1DOWNTO0 BEGINcomb a CASEcombISWHEN 00 yyyyy X ENDCASE ENDPROCESS ENDdataflow 二输入异或门的仿真波形 5 2编码器 用一组二进制代码按一定规则表示给定字母 数字 符号等信息的方法称为编码 能够实现这种编码功能的逻辑电路称为编码器 I0I1I2I3I4I5I6I7A2A1A0000000000001000000001001000000100001000001100001000100000001001010000001011000000001111 8线 3线编码器真值表 输入输出 8线 3线编码器逻辑表达式 A2 I4 I5 I6 I7A1 I2 I3 I6 I7A0 I1 I3 I5 I7 例 采用行为描述方式的8线 3线编码器VHDL源代码 依据逻辑表达式 LIBRARYIEEE USEIEEE STD LOGIC 1164 ALL ENTITYcoder83 v1ISPORT I0 I1 I2 I3 I4 I5 I6 I7 INSTD LOGIC A0 A1 A2 OUTSTD LOGIC ENDcoder83 v1 ARCHITECTUREbehaveOFcoder83 v1ISBEGIN A2 I4ORI5ORI6ORI7 A1 I2ORI3ORI6ORI7 A0 I1ORI3ORI5ORI7 ENDbehave 采用行为描述方式的8线 3线编码器仿真波形 例 采用数据流描述方式的8线 3线编码器VHDL源代码 依据真值表 LIBRARYIEEE USEIEEE STD LOGIC 1164 ALL ENTITYcoder83 v2ISPORT I INSTD LOGIC VECTOR 7DOWNTO0 A OUTSTD LOGIC VECTOR 2DOWNTO0 ENDcoder83 v2 ARCHITECTUREdataflowOFcoder83 v2ISBEGINPROCESS I BEGIN CASEIISWHEN 10000000 AAAAAAAA 000 ENDCASE ENDPROCESS ENDdataflow 采用数据流描述方式的8线 3线编码器仿真波形 总线显示方式 5 3优先编码器 EII0I1I2I3I4I5I6I7A2A1A0GSEO1 11111011111111111100 0000010 01001010 011010010 0111011010 01111100010 011111101010 01111111100100111111111101 输入输出 74148优先编码器真值表 反码编码方案 各输出端的逻辑方程 以74148逻辑表达式为依据 按行为描述方式编写的VHDL源代码如下 LIBRARYIEEE USEIEEE STD LOGIC 1164 ALL ENTITYprioritycoder83 v1ISPORT I7 I6 I5 I4 I3 I2 I1 I0 INSTD LOGIC EI INSTD LOGIC A2 A1 A0 OUTSTD LOGIC GS EO OUTSTD LOGIC ENDprioritycoder83 v1 ARCHITECTUREbehaveOFprioritycoder83 v1ISBEGINA2 EIOR I7ANDI6ANDI5ANDI4 A1 EIOR I7ANDI6ANDI3ANDI2 OR I7ANDI6ANDNOTI5 OR I7ANDI6ANDNOTI4 A0 EIOR I7ANDNOTI6 OR I7ANDI5ANDNOTI4 OR I7ANDI5ANDI3ANDI1 OR I7ANDI5ANDI3ANDNOTI2 GS EIOR I7ANDI6ANDI5ANDI4ANDI3ANDI2ANDI1ANDI0 EO EIORNOT I7ANDI6ANDI5ANDI4ANDI3ANDI2ANDI1ANDI0 ENDbehave 74148优先编码器的仿真波形 注意 采用数据流编写优先编码器时 因为VHDL语言目前还不能描述任意项 即下面的语句形式是非法的 WHEN 0XXXXXXX A 000 因此不能用CASE语句来描述74148 采用IF语句对74148进行了逻辑描述如下 LIBRARYIEEE USEIEEE STD LOGIC 1164 ALL ENTITYprioritycoder83 v2ISPORT I INSTD LOGIC VECTOR 7DOWNTO0 EI INSTD LOGIC A OUTSTD LOGIC VECTOR 2DOWNTO0 GS EO OUTSTD LOGIC ENDprioritycoder83 v2 ARCHITECTUREdataflowOFprioritycoder83 v2ISBEGINPROCESS EI I BEGINIF EI 1 THENA 111 GS 1 EO 1 ELSIF I 11111111 ANDEI 0 THENA 111 GS 1 EO 0 ELSIF I 7 0 ANDEI 0 THENA 000 GS 0 EO 1 ELSIF I 6 0 ANDEI 0 THENA 001 GS 0 EO 1 ELSIF I 5 0 ANDEI 0 THENA 010 GS 0 EO 1 ELSIF I 4 0 ANDEI 0 THENA 011 GS 0 EO 1 ELSIF I 3 0 ANDEI 0 THENA 100 GS 0 EO 1 ELSIF I 2 0 ANDEI 0 THENA 101 GS 0 EO 1 ELSIF I 1 0 ANDEI 0 THENA 110 GS 0 EO 1 ELSE I 0 0 ANDEI 0 THENA 111 GS 0 EO 1 ENDIF ENDPROCESS ENDdataflow 74148优先编码器的仿真波形 总线方式 5 4译码器 G1G2AG2BA2A1A0Y0Y1Y2Y3Y4Y5Y6Y7 1 11111111 1 111111110 111111111000000111111110000110111111100010110111111000111110111110010011110111100101111110111001101111110110011111111110 输入输出 3线 8线译码器74138真值表 按数据流描述方式编写的3线 8线译码器74138VHDL源代码 LIBRARYIEEE USEIEEE STD LOGIC 1164 ALL ENTITYdecoder138 v2ISPORT G1 G2A G2B INSTD LOGIC A INSTD LOGIC VECTOR 2DOWNTO0 Y OUTSTD LOGIC VECTOR 7DOWNTO0 ENDdecoder138 v2 ARCHITECTUREdataflowOFdecoder138 v2ISBEGINPROCESS G1 G2A G2B A BEGINIF G1 1 ANDG2A 0 ANDG2B 0 THEN CASEAISWHEN 000 YYYYYYYY 01111111 ENDCASE ELSEY 11111111 ENDIF ENDPROCESS ENDdataflow 总线显示方式的3线 8线译码器74138仿真波形图 5 5多路选择器 使能地址选择YYbGA2A1A01 010000D0D00001D1D10010D2D20011D3D30100D4D40101D5D50110D6D60111D7D7 输入输出 741518选1数据选择器真值表 参考74151的真值表 采用IF语句结构编写的VHDL源代码如下 LIBRARYIEEE USEIEEE STD LOGIC 1164 ALL ENTITYmux8 v2ISPORT A INSTD LOGIC VECTOR 2DOWNTO0 D0 D1 D2 D3 D4 D5 D6 D7 INSTD LOGIC G INSTD LOGIC Y OUTSTD LOGIC YB OUTSTD LOGIC ENDmux8 v2 ARCHITECTUREdataflowOFmux8 v2ISBEGINPROCESS A D0 D1 D2 D3 D4 D5 D6 D7 G BEGINIF G 1 THENY 0 YB 1 ELSIF G 0 ANDA 000 THENY D0 YB NOTD0 ELSIF G 0 ANDA 001 THENY D1 YB NOTD1 ELSIF G 0 ANDA 010 THENY D2 YB NOTD2 ELSIF G 0 ANDA 011 THENY D3 YB NOTD3 ELSIF G 0 ANDA 100 THENY D4 YB NOTD4 ELSIF G 0 ANDA 101 THENY D5 YB NOTD5 ELSIF G 0 ANDA 110 THENY D6 YB NOTD6 ELSEY D7 YB NOTD7 ENDIF ENDPROCESS ENDdataflow IF语句结构8选1数据选择器仿真波形 参考74151的真值表 采用CASE语句结构编写的VHDL源代码如下 LIBRARYIEEE USEIEEE STD LOGIC 1164 ALL ENTITYmux8 v3ISPORT A2 A1 A0 INSTD LOGIC D0 D1 D2 D3 D4 D5 D6 D7 INSTD LOGIC G INSTD LOGIC Y OUTSTD LOGIC YB OUTSTD LOGIC ENDmux8 v3 ARCHITECTUREdataflowOFmux8 v3ISSIGNALcomb STD LOGIC VECTOR 3DOWNTO0 BEGINcombYYY D2 YB NOTD2 WHEN 0011 YYYY D6 YB NOTD6 WHEN 0111 YY 0 YB 1 ENDCASE ENDPROCESS ENDdataflow CASE语句结构8选1数据选择器仿真波形 5 6数值比较器 数值比较器是对两个位数相同的二进制数进行比较并判定其大小关系的算术运算电路 下例是一个采用IF语句编制的对两个4位二进制数进行比较例子 其中A和B分别是参与比较的两个4位二进制数 YA YB和YC是用来分别表示A B A B和A B的3个输出端 LIBRARYIEEE USEIEEE STD LOGIC 1164 ALL ENTITYcomp4 v1ISPORT A INSTD LOGIC VECTOR 3DOWNTO0 B INSTD LOGIC VECTOR 3DOWNTO0 YA YB YC OUTSTD LOGIC ENDcomp4 v1 ARCHITECTUREbehaveOFcomp4 v1ISBEGINPROCESS A B BEGINIF A B THENYA 1 YB 0 YC 0 ELSIF A B THENYA 0 YB 1 YC 0 ELSEYA 0 YB 0 YC 1 ENDIF ENDPROCESS ENDbehave 两个4位二进制数比较器的仿真波形 5 7加法器 加法器是数字电路中的基本运算单元 下例是直接利用VHDL运算符 实现加法运算的8位加法器源代码 其中A和B是两个相加的8位二进制数 Cin是低位进位位 S是A B相加之和 Co是A B相加之后的进位位 LIBRARYIEEE USEIEEE STD LOGIC 1164 ALL USEIEEE STD LOGIC UNSIGNED ALL ENTITYadder8 vISPORT A INSTD LOGIC VECTOR 7DOWNTO0 B INSTD LOGIC VECTOR 7DOWNTO0 Cin INSTD LOGIC Co OUTSTD LOGIC S OUTSTD LOGIC VECTOR 7DOWNTO0 ENDadder8 v ARCHITECTUREbehaveOFadder8 vISSIGNALSint STD LOGIC VECTOR 8DOWNTO0 SIGNALAA BB STD LOGIC VECTOR 8DOWNTO0 BEGINAA 0 8位加法器仿真波形
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


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

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


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