欢迎来到天天文库
浏览记录
ID:59436121
大小:251.50 KB
页数:42页
时间:2020-09-18
《2019年第8章VHDL设计进阶ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第8章VHDL设计进阶EDA技术与VHDL设计VHDL设计进阶VHDL语言允许设计人员采用不同的描述方式进行设计实体中结构体的书写。结构体的3种描述方式为:行为描述方式、寄存器传输描述方式和结构描述方式,分别对应的结构体名为behave、rtl和structure。这3种描述方式从不同角度对设计实体的行为和功能进行描述,具有各自的特点。8.1VHDL行为描述方式VHDL结构化描述方式VHDLRTL描述方式有限状态机(FSM)设计8.28.38.4VHDL设计进阶以一位全加器的VHDL语言描述为例,对结构体的这3种描述方式进行分别讨论。一位全加器的逻
2、辑示意图和实现的逻辑电路图如图所示。8.1VHDL行为描述方式=1ABCinSCo=1&&11ABCinSCo一位全加器的逻辑示意图和实现的逻辑电路图所谓行为描述,就是对设计实体的数学模型的描述,其抽象程度远远高于寄存器传输描述方式和结构描述方式。行为描述类似于高级编程语言,当描述一个设计实体的行为时,无需知道具体电路的结构,只需要用一组状态来描述即可。行为描述的优点在于只需要描述清楚输入与输出的行为,而不需要花费更多的精力关注设计功能的门级实现。8.1VHDL行为描述方式例8.1行为描述方式描述的1位全加器LIBRARYIEEE;USEIEEE.
3、std_logic_1164.ALL;ENTITYfull_adderISPORT(A,B:INstd_logic;Cin:INstd_logic;Co:OUTstd_logic;S:OUTstd_logic);ENDfull_adder;ARCHITECTUREbehaveOFfull_adderISBEGINPROCESS(A,B,Cin)VARIABLEn:integerRANGE0TO3;CONSTANTS_vector:std_logic_vector(0TO3):=”0101”;CONSTANTCo_vector:std_logic_v
4、ector(0TO3):=”0011”;8.1VHDL行为描述方式例8.1行为描述方式描述的1位全加器BEGINn:=0;IF(A=’1’)THENn:=n+1;ENDIF;IF(B=’1’)THENn:=n+1;ENDIF;IF(Cin=’1’)THENn:=n+1;ENDIF;S<=S_vector(n);Co<=Co_vector(n);ENDPROCESS;ENDbehave;8.1VHDL行为描述方式例8.2行为描述方式描述的10位二进制全加器LIBRARYIEEE;USEIEEE.std_logic_1164.ALL;Useieee.s
5、td_logic_unsigned.all;Entityadder1isport(a,b:instd_logic_vector(9downto0);co:instd_logic_vector(9downto0);c1:outstd_logic;sum:outstd_logic_vector(10downto0));end;8.1VHDL行为描述方式architecturebehaveofadder1issignala_temp:std_logic_vector(10downto0);signalb_temp:std_logic_vector(10d
6、ownto0);signalsum_temp:std_logic_vector(10downto0);beginprocessbegina_temp<=’0’&a;b_temp<=’0’&b;sum_temp<=a_temp+b_temp+co;sum<=sum_temp(9downto0);c1<=sum_temp(10);endprocess;endbehave;8.1VHDL行为描述方式例8.2行为描述方式描述的10位二进制全加器所谓结构描述方式,就是指在多层次的设计中,通过调用库中的元件或是已设计好的模块来完成设计实体功能的描述。在结构体中
7、,描述只表示元件(或模块)和元件(或模块)之间的互连,就像网表一样。当引用库中不存在的元件时,必须首先进行元件的创建,然后将其放在工作库中,这样才可以通过调用工作库来引用元件。在引用元件时,首先要在结构体说明部分进行元件的说明,然后才在使用元件时进行元件例化。8.2VHDL结构化描述方式LIBRARYIEEE;USEIEEE.std_logic_1164.ALL;ENTITYh_adderISPORT(A,B:INstd_logic;Co:OUTstd_logic;S:OUTstd_logic);ENDh_adder;ARCHITECTURErtl
8、OFh_adderISSIGNALtmp1,tmp2:std_logic;BEGINtmp1<=AORB;tmp2<=AN
此文档下载收益归作者所有