用VHDL进行基本逻辑电路设计总结.ppt

用VHDL进行基本逻辑电路设计总结.ppt

ID:52046405

大小:578.50 KB

页数:35页

时间:2020-03-31

用VHDL进行基本逻辑电路设计总结.ppt_第1页
用VHDL进行基本逻辑电路设计总结.ppt_第2页
用VHDL进行基本逻辑电路设计总结.ppt_第3页
用VHDL进行基本逻辑电路设计总结.ppt_第4页
用VHDL进行基本逻辑电路设计总结.ppt_第5页
资源描述:

《用VHDL进行基本逻辑电路设计总结.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、用VHDL进行基本逻辑电路设计总结组合逻辑电路设计时序逻辑电路设计状态机设计存储器设计(调用宏功能模块进行设计)1组合逻辑电路设计常见组合逻辑电路设计主要有:基本门电路、3-8译码器、8-3线优先编码器、比较器、多路选择器、三态门电路、单向总线驱动器、双向总线缓冲器等。1.1基本门电路基本门电路用VHDL语言来描述十分方便。为方便起见,在下面的两输入模块中,使用VHDL中定义的逻辑运算符,同时实现一个与门、或门、与非门、或非门、异或门及反相器的逻辑。LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYGATEISPORT(A,B:INSTD_LOGI

2、C;YAND,YOR,YNAND,YNOR,YNOT,YXOR:OUTSTD_LOGIC);ENDGATE;ARCHITECTUREARTOFGATEISBEGINYAND<=AANDB;--与门输出YOR<=AORB;--或门输出YNAND<=ANANDB;--与非门输出YNOR<=ANORB;--或非门输出YNOT<=ANOTB;--反相器输出YXOR<=AXORB;--异或门输出ENDART;方法1:使用CASE_WHEN语句LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYDECODERISPORT(SEL:INSTD_LOGIC_VECT

3、OR(2DOWNTO0);EN:INSTD_LOGIC;---加使能控制端Y:OUTSTD_LOGIC_VECTOR(7DOWNTO0));END;1.23-8译码器下面我们分别以2种方法描述一个3-8译码器。ARCHITECTUREART1OFDECODERISBEGINPROCESS(SEL,EN)BEGINY<=”11111111”;IF(EN=’1’)THENCASESELISWHEN"000"=>Y(0)<=‘0’;--输出低有效WHEN"001"=>Y(1)<=‘0’;WHEN"010"=>Y(2)<=‘0’;WHEN"011"=>Y(3)<=‘0’;WHEN"100"=>Y

4、(4)<=‘0’;WHEN"101"=>Y(5)<=‘0’;WHEN"110"=>Y(6)<=‘0’;WHEN"111"=>Y(7)<=‘0’;WHENOTHERS=>NULL;ENDCASE;ELSEY<=”11111111”;ENDIF;ENDPROCESS;ENDART1;方法2:使用条件选择WHENELSE语句ARCHITECTUREART2OFDECODERISBEGINY(0)<=‘0’WHEN(EN=’1’ANDSEL="000")ELSE’1’;Y(1)<=‘0’WHEN(EN=’1’ANDSEL="001")ELSE’1’;Y(2)<=‘0’WHEN(EN=’1’AND

5、SEL="010")ELSE’1’;Y(3)<=‘0’WHEN(EN=’1’ANDSEL="011")ELSE’1’;Y(4)<=‘0’WHEN(EN=’1’ANDSEL="100")ELSE’1’;Y(5)<=‘0’WHEN(EN=’1’ANDSEL="101")ELSE’1’;Y(6)<=‘0’WHEN(EN=’1’ANDSEL="110")ELSE’1’;Y(7)<=’0’WHEN(EN=’1’ANDSEL="111")ELSE’1’;ENDART2;注意:使用了8条WHENELSE语句1.38-3线优先编码器8-3线优先编码器输入信号为y0、y1、y2、y3、y4、y5、y6和y

6、7,输出信号为OUT0、OUT1和OUT2。输入信号中y0的优先级别最低,依次类推,y7的优先级别最高。下面我们用两种方法设计8-3线优先编码器。方法1:使用条件赋值语句LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYENCODERISPORT(y0,y1,y2,y3,y4,y5,y6,y7:INSTD_LOGIC;OUT0,OUT1,OUT2:OUTSTD_LOGIC);ENDENCODER;ARCHITECTUREART1OFENCODERISSIGNALOUTS:STD_LOGIC_VECTOR(2DOWNTO0);BEGINOUTS(2D

7、OWNTO0)<="111”WHENy7=‘1’ELSE"110"WHENy6=‘1’ELSE"101"WHENy5=‘1’ELSE"100"WHENy4=‘1’ELSE"011"WHENy3=‘1’ELSE"010"WHENy2=‘1’ELSE"001"WHENy1=‘1’ELSE"000"WHENy0=‘1’ELSE"XXX";OUT0<=OUTS(0);OUT1<=OUTS(1);OUT2<=OUTS(2);ENDART1;方

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

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

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