VHDL的描述风格

VHDL的描述风格

ID:40816884

大小:143.50 KB

页数:19页

时间:2019-08-08

VHDL的描述风格_第1页
VHDL的描述风格_第2页
VHDL的描述风格_第3页
VHDL的描述风格_第4页
VHDL的描述风格_第5页
资源描述:

《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

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

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

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