欢迎来到天天文库
浏览记录
ID:40816884
大小:143.50 KB
页数:19页
时间:2019-08-08
《VHDL的描述风格》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、VHDL的描述风格1行为描述方式2数据流描述方式(RTL描述方式)3结构化描述方式VHDL语言是通过结构体具体描述整个设计实体的逻辑功能。通常结构体有四种不同的描述方式:行为描述方式(behavior)、数据流描述方式(dataflow)或寄存器RTL描述方式、结构化描述方式(structural)以及混合描述方式。VHDL通过这四种不同的描述方式从不同的侧面描述结构体的功能。前三种是最基本的描述方式,他们组合起来就成为混合描述方式。下面结合一个全加器来说明这四种描述风格,全加器的端口示意图如图所示,其输入输出关系如表所示。全加器的输入输出关系输入输出c_
2、inxyc_outsum0000000101010010111010001101101101011111全加器框图一、行为描述方式行为描述输入与输出间转换的行为,不需包含任何结构信息,它对设计实体按算法的路径来描述。行为描述在EDA工程中通常被称为高层次描述,设计工程师只需要注意正确的实体行为、准确的函数模型和精确的输出结果就可以了,无需关注实体的电路组织和门级实现。例1:1位二进制数全加器LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYfull_adderISPORT(x,y,c_in:INSTD_LOGIC;S
3、um,c_out:OUTSTD_LOGIC);ENDfull_adder;ARCHITECTUREbehavOFfull_adderISBEGINPROCESS(x,y,c_in)VARIABLEn:INTEGER;CONSTANTsum_vector:STD_LOGIC_VECTOR(0TO3):=“0101”;CONSTANTcarry_vector:STD_LOGIC_VECTOR(0TO3):=“0011”;BEGINn:=0;IFx=’1’THENn:=n+1;ENDIF;IFy=’1’THENn:=n+1;ENDIF;IFc_in=’1’THE
4、Nn:=n+1;ENDIF;--(0TO3)sum<=sum_vector(n)AFTER2*tpd;--sum_vector初值为“0101”c_out<=carry_vector(n)AFTER3*tpd;--carry_vector初值为“0011”ENDPROCESS;--(0TO3)ENDbehav;输入输出c_inxyc_outsum0000000101010010111010001101101101011111对照真值表解释程序二、数据流描述方式数据流描述方式表示行为,也隐含表示结构,它描述了数据流的运动路线、运动方向和运动结果。对于全加器,
5、用布尔方程描述其逻辑功能如下:s=xXORysum=sXORc_inc_out=(xANDy)OR(sANDc_in)下面是基于上述布尔方程的数据流风格的描述:例2:全加器LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYfull_adderISGENERIC(tpd:TIME:=10ns);PORT(x,y,c_in:INSTD_LOGIC;Sum,c_out:OUTSTD_LOGIC);ENDfull_adder;ARCHITECTUREdataflowOFfull_adderISBEGINs<=xXORyAFT
6、ERtpd;sum<=sXORc_inAFTERtpd;c_out<=(xANDy)OR(sANDc_in)AFTER2*tpd;ENDdataflow;三、结构描述方式结构化描述方式就是在多层次的设计中,高层次的设计可以调用低层次的设计模块,或直接用门电路设计单元来构成一个复杂逻辑电路的方法。利用结构化描述方法将已有的设计成果方便地用于新的设计中,能大大提高设计效率。在结构化描述中,建模的焦点是端口及其互连关系。三、结构描述方式结构化描述的建模步骤如下:(1)元件说明(2)元件例化(3)元件配置元件说明用于描述局部接口;元件例化是要相对于其他元件来放置该
7、元件;元件配置用于指定元件所用的设计实体。对于上图给出的全加器端口结构,可以认为它是由两个半加器和一个或门组成的。基于上图所示的结构,可以写出全加器的结构化描述设计程序如下。例:全加器的结构化描述LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYhalf_adderISGENERIC(tpd:TIME:=10ns);PORT(in1,in2:INSTD_LOGIC;sum,carry:OUTSTD_LOGIC);ENDhalf_adder;ARCHITECTURErtlOFhalf_adderISBEGINPROSE
8、SS(in1,in2)BEGINsum<=in1XORin2AFT
此文档下载收益归作者所有