用VHDL语言设计基本逻辑电路

用VHDL语言设计基本逻辑电路

ID:40681404

大小:1015.10 KB

页数:125页

时间:2019-08-06

用VHDL语言设计基本逻辑电路_第1页
用VHDL语言设计基本逻辑电路_第2页
用VHDL语言设计基本逻辑电路_第3页
用VHDL语言设计基本逻辑电路_第4页
用VHDL语言设计基本逻辑电路_第5页
资源描述:

《用VHDL语言设计基本逻辑电路》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、CHAPTER3 DIGITALCURCUITSWITHVHDLDESIGN在前面的学习中,我们对VHDL语言的语句、语法及利用VHDL语言设计逻辑电路的基本方法作了详细介绍。为了深入理解使用VHDL语言设计逻辑电路的具体步骤和方法,本章以常用的基本逻辑电路设计为例,再次对其进行系统和详细的介绍,以使大家初步掌握用VHDL语言描述基本逻辑电路的方法。3.1SummaryofbasicstatementsinVHDLcodes1、SequentialAssignmentStatements1)IF、CASE、LOOP、NULLstateme

2、ntsonlyusinginprocess,procedureandfunction.2)IF、CASE用于条件选择;LOOP用于循环控制偏重计算;NULL是一条空语句,一般用于CASE语句中。2、ConcurrentAssignmentStatements1)PROCESS语句注意敏感信号表,一般将进程中的输入信号或变量都写入敏感信号表中,如无敏感信号,则使用WAIT语句。2)BLOCK语句改善并行语句及其结构的可读性。3)并行信号赋值语句:(1)简单信号赋值语句(2)WHEN……ELSE语句(ELSE后面无符号)(3)选择信号赋值语句的

3、用法ARCHITECTUREar_7OFfzh_2ISBEGINWITHqSELECTy<=aWHEN″00″,--选择值用“,”结束bWHEN″01″,cWHEN″10″,dWHENOTHERS;ENDar_7;4)元件例化语句:主要用于在VHDL中的层次设计。5)生成语句:作用就是复制FOR循环变量IN取值范围GENERATE3.SubprogramVHDL中的子程序包括函数(FUNCTION)和过程(PROCEDURE)等两类。函数的作用就是输入若干个参数,通过函数运算求值,最后直接返回一个值。过程的调用是一条语句,调用时通过其接口返

4、回0个或多个值。4.LibraryandPackage3.2VHDLforCombinationalCircuitsHavinglearnedanumberofusefulcircuitsthatcanbeusedasbuildingblocksinlargercircuitsinbeforecourses,suchaslogicgates,multiplexers,decodersandencoders,wewillnowconsiderhowsuchcircuitscanbedescribedinVHDL.3.2.1LogicGates

5、简单门电路包括2输入“与非”门、集电极开路的2输入“与非”门、2输入“或非”门、反相器、集电极开路的反相器、3输入“与非”门、2输入“或”门和2输入“异或”门等,它们是构成所有逻辑电路的基本电路。Two-inputXORGatef.e.3.2.2Encoder,DecoderandMultiplexer编、译码器和选择器是组合电路中较简单的3种通用电路。它们可以由简单的门电路组合连接而成,但采用这种方式,只给出电路,让读者来判断该电路的功能,那么要读通该电路需要花较多的时间。如果采用VHDL语言,从行为、功能来描述,不仅逻辑设计变得非常容易

6、,而且阅读也会很方便。例1:一位共阴七段数码管译码器LIBRARYieee;USEieee.std_logic_1164.ALL;entitybcd7ISPORT(d3,d2,d1,d0:INstd_logic;a,b,c,d,e,f,g:OUTstd_logic);END;ARCHITECTUREarc_bcd7OFbcd7ISSIGNALdin:std_logic_vector(3DOWNTO0);SIGNALdout:std_logic_vector(6DOWNTO0);BEGINdin<=d3&d2&d1&d0;--&为并置运算符P

7、ROCESS(din)BEGINCASEdinIS--abcdefg,输出的7段码WHEN“0000”=>dout<=“1111110”;--显示0WHEN"0001"=>dout<="0110000";--显示1WHEN"0010"=>dout<="1101101";--显示2WHEN"0011"=>dout<="1111001";--显示3WHEN"0100"=>dout<="0110011";--显示4WHEN"0101"=>dout<="1011011";--显示5WHEN"0110"=>dout<="1011111";--显示6W

8、HEN"1000"=>dout<="1111111";--显示8WHEN"1001"=>dout<="1111011";--显示9WHEN"0111"=>dout<="11100

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

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

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