77范文网 - 专业文章范例文档资料分享平台

VHDL与数字电路设计(2)

来源:网络收集 时间:2021-09-24 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

Variable 变量名:数据类型:= 表达式

例:variableresult : std_logic:= ‘0’;

2、VHDL数据对象(Data Objects)

(1)常数(Constant)

固定值,不能在程序中被改变; 增强程序的可读性,便于修改程序;

可在Library、Entity、Architecture、Process中进行定义,其有效范围也相应限定。

Constant 常数名:数据类型:= 表达式

例:Constantdata_bus_width: integer := 8;

关于信号的使用规则说明:

:=

”——表示对信号直接赋值,可用来表示信号初始值

不产生延时;

“<= ”——表示代入赋值,是变量之间信号的传递,代入

赋值允许产生延时。

例:

T1<=T2 after 20ns;

配套清华大学出版社

3、VDHL数据类型

枚举(Enumeration)

标量类型整数(Integer)(Scalar)

浮点(Float)按数据类型的性质分

物理(Physical)

复合类型Composite)

③IEEE1164标准中预定义了一个枚举类型:std_logic(书P222)

例:Type std_logicis ‘W’, ‘L’, ‘H’, ‘-’);

Signala :std_logic;

¾std_logic类型能比较全面地包括数字电路中信号会

出现的几种状态,因此一般情况把这种类型代替

bit

(1)枚举

①列举数据对象可能存在的值,一般用于定义状态机的状态例:Typestatesis (idle, start, running, pause, stop);

Signal current_state: states;

②IEEE1076标准中预定义了两个枚举类型:boolean和bit例:Type booleanis (False, True);

Type bit

is (‘0’, ‘1’) ;

Signala :bit;

(2)整数、浮点数

方便用于数值方面的运算:加减乘除;②整数范围:-231-1 ~231–1,经常用于计数器;③实数范围:-1.0E38~+1.0E38,不被Max+PLusII

支持

例:Variable a : integer range–255 to+255;

(4)Array Types

①多个相同类型成员组成的队列,一般用于定义数据总

线、地址总线等

例:Signala: std_logic_vectorr(7 downto0);

a <= B“00111010”;

a <= X “3A”;②可自定义复合类型

例:Typeword is array(15 downto0) of bit;

Signal b : word;

Typetable8_4 is array(0 to 7, 0 to 3) of bit;

配套清华大学出版社

(5)Record Types

①相同或不同类型的元素组成,类似C中的结构;②具有模型抽象能力,用于描述一个功能模块。

例:Typeiocellis record

Enable :bit;

DataBus:bit_vector(7 downto0);

end record;singalbus : iocell;bus.Enable<= ‘1’;

bus.DataBus<= “00110110”;

(2)信号(Signal)类属性函数

event:返回boolean值,信号发生变化时返回true;last_value:返回信号发生此次变化前的值;

last_event:返回上一次信号发生变化到现在变化的时间

间隔;

delayed[(时延值)]: 使信号产生固定时间的延时并返回;stable[(时延值)]: 返回boolean, 信号在规定时间内没有变

化返回true;

transaction: 返回bit类型,信号每发生一次变化,返回

值翻转一次。

4、VHDL运算符

1)逻辑运算符

AND、OR、NAND、NOR、XOR、NOT

(2)关系运算符

=、/=

、<、>、<=、>=

(3)算术运算符

参见书P278+、-、*、/

表5-3-1

4)并置

(连接)运算符

&

(1)数值类属性函数

left:

返回左边界值;

right:

返回右边界值;high:返回上限值;low:

返回下限值;

length:返回总长度。

例:

type count is integer range 0 to 127;–count’left= 0; –count’right= 127;–count’high= 127;

–count’low= 0;

–count’length= 128;

配套清华大学出版社

例:delay和stable的应用。

(1)A <= B’delayed(10ns);

——B延时10ns后赋给A

等效于

A <= B after 10ns;

(2)if (B’stable(10ns) ) then…

——判断

B在10ns

中是否发生变化

例:试用when-else命令实现下列真值表。

输入输出xyZ0000111011

1

¾VHDL基本语句

1、并行语句(Concurrent)

z并行语句同时执行,不分位置的先后顺序z

并行语句包括:

–直接设置语句“<=”–With-select-when–

When-else

实现优先级编码器

encode <= “111”when D(7) = ‘1’else

“110”when D(6) = ‘1’else“101”when D(5) = ‘1’else“100”when D(4) = ‘1’else“011”when D(3) = ‘1’else“010”when D(2) = ‘1’else“001”when D(1) = ‘1’else“000”when D(0) = ‘1’else“000”;

配套清华大学出版社

2、顺序语句(Sequential)

zProcess,Function,Procedure等中的语句都是

顺序执行;

zProcess与Process之间,与其他并行语句之间都

是并行的关系;

z常用的顺序语句:If-then-else

Case-when

z断言语句:ASSERT

例:试用with-select-when命令实现下列真值表。

输入输出x

yZ

0000111

011

1

配套清华大学出版社

例:4选1数据选择器

ENTITY mux41 IS

PORT (en,a0,a1,d0,d1,d2,d3: IN Bit;

F: OUT Bit);

END mux41;

ARCHITECTURE bch_mux41 OF mux41 ISBEGIN

PROCESS(en,a1,a0,d3,d2,d1,d0)BEGIN

IF(en=0) THEN

IF(a1=’0’AND a0=’0’) THEN

f<= d0;

IF(en=’0’) THEN

CASS tmp_INIS

WHEN “00”=>tmp_OUT<=“1110”;WHEN “01”=>tmp_OUT<=“1101”;WHEN “10”=>tmp_OUT<=“1011”;WHEN “11”=>tmp_OUT<=“0111”;

WHEN OTHERS=>tmp_OUT<=“1111”;END CASS;ELSE

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说医药卫生VHDL与数字电路设计(2)在线全文阅读。

VHDL与数字电路设计(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/yiyao/1257082.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: