《数字逻辑新编》PPT课件.ppt
《《数字逻辑新编》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《数字逻辑新编》PPT课件.ppt(50页珍藏版)》请在三一办公上搜索。
1、1,教学内容数据对象、数据类型、运算符和表达式常用顺序语句、并行语句VHDL常用的库、程序包教学重点数据对象、数据类型、运算符和表达式常用顺序语句、并行语句,本节教学内容及重点,2,VHDL标识符基本标识符由字母、数字和下划线组成第一个字符必须是字母最后一个字符不能是下划线不允许连续2个下划线保留字(关键字)不能用于标识符大小写等效,3.3 数据对象、数据类型、运算符和表达式,3,VHDL标识符有效的标识符A_h_1 show_new_state COUNTER_A decode3_8 counter非法的标识符A%h_1 show-new-state COUNTER_ T_ _1 3_8de
2、coder IS DOWNTO,3.3 数据对象、数据类型、运算符和表达式,4,3.3.1 数据对象,VHDL语言数据对象常量(CONSTANT)变量(VARIABLE)信号(SIGNAL),5,常量(Constant)固定值,不能在程序中被改变增强程序的可读性,便于修改程序在综合后,连接到电源和地可在Library、Entity、Architecture、Process中进行定义,其有效范围也相应限定常数的描述格式:CONSTANT 常量名:数据类型:=表达式如:Constant data_bus_width:integer:=8;,3.3.1 数据对象,6,变量(Variable)临时数据
3、,没有物理意义只能在Process和Function中定义,并只在其内部有效要使其全局有效,先转换为Signal一旦赋值,立即生效变量的描述格式:VARIABLE 变量名:数据类型:=表达式 如:variable result:std_logic:=0;,3.3.1 数据对象,7,信号(Signals)代表连线,Port也是一种信号没有方向性,可给它赋值,也可当作输入在Entity中和Architecture中定义设定的初始值只是在仿真开始设定了一个起始值,在综合时没有用。信号的描述格式:SIGNAL 信号名:数据类型:=初始值signal count:bit_vector(3 downto
4、0):=“0011”;,3.3.1 数据对象,8,信号赋值语句格式 目标信号名=表达式;q=count;irq=0;aa=dx1;bb=dx2;s1=s2 AFTER 10ns,3.3.1 数据对象,9,信号与变量的区别,信号赋值可以有延迟时间,变量赋值无时间延迟信号除当前值外还有许多相关值,如历史信息等,变量只有当前值进程对信号敏感,对变量不敏感信号可以是多个进程的全局信号,但变量只在定义它之后的顺序域可见信号可以看作硬件的一根连线,但变量无此对应关系赋值的形式不同;声明的位置不同,10,信号与变量的区别,architecture rtl of start is signal count:i
5、nteger range 0 to 7;begin process(clk)begin if(clkevent and clk=1)then count=count+1;if(count=0)then carryout=1;else carryout=0;end if;end if;end process;end rtl;,architecture rtl of start is begin process(clk)variable count:integer range 0 to 7;begin if(clkevent and clk=1)then count:=count+1;if(cou
6、nt=0)then carryout=1;else carryout=0;end if;end if;end process;end rtl;,11,VHDL标准数据类型IEEE标准数据类型用户自定义数据类型,3.3.2 数据类型,12,VHDL标准数据类型,13,VHDL标准数据类型,1、整数(INTEGER)范围:-2147483547-2147483646,用range限定数的范围,如:variable a:integer range 0 to 9;2、实数(REAL)范围:-1.0E38-1.0E38(仿真器中可用,综合器不支持)书写时一定要有小数。如:1.0 8#43.6#e+43、
7、位(BIT)数字系统中,信号经常用位的值表示,位的值 用带单引号的1和0来表示。,14,VHDL标准数据类型,4、位矢量(BIT_VECTOR)位矢量是用双引号括起来的一组位数据 如:“010101”5、布尔量(BOOLEAN)只有“真”和“假”两个状态,可以进行关系运算6、字符(CHARACTER)字符量通常用单引号括起来,对大小写敏感。A与a不同。明确说明1是字符时:CHARACTER(1),15,VHDL标准数据类型,7、字符串(STRING)字符串是双引号括起来的由字母、数字或、%、$组成的一串字符。区分大小写。如:“laksdklakld”“1010101010”8、时间(TIME)
8、时间的单位:fs,ps,ns,ms,sec,min,hr 例:10 ns 整数数值和单位之间应有空格,16,VHDL标准数据类型,9、错误等级(SEVERITY LEVEL)在VHDL仿真器中,错误等级用来表示系统的状态,共有4种:NOTE(注意)、ERROR(错误)、FAILURE(失败)、WARNING(警告)10、自然数(NATURAL)正整数(POSITIVE)自然数是整数的一个子类型,包括0和正整数;正整数也是整数的一个子类型。,17,IEEE标准数据类型,在IEEE库的程序包std_logic_1164中定义了两个非常重要的数据类型:1、标准逻辑位(std_logic)取值:0,1
9、,Z,X,W,L,H等9种 注意:使用时必须大写,若用小写z表示取值 高阻是错误的,必须用大写Z。2、标准逻辑矢量(Std_logic_vector)标准一维数组,数组中每个元素的数据类型均为标准逻辑位类型。,Entity eqcomp4 isPort(a,b:in std_logic_vector(3 downto 0);equal:out std_logic);End eqcomp4;,18,IEEE标准数据类型,注 意:1、在使用“std_logic”和“std_logic_vector”时,在程序中必须声明库及程序包说明语句,即LIBRARY IEEE和std_logic_1164.A
10、LL这两句在程序中必不可少。2、std_logic有多个取值,与标准数据类型bit不同,在编程时应注意考虑全所有情况。,19,VHDL运算符逻辑运算符AND、OR、NAND、NOR、XOR、NOT关系运算符=、/=、=算术运算符+、-、*、/并置(连接)运算符&,3.3.3 VHDL运算符与表达式,20,21,22,运算符优先级,3.3.3 VHDL运算符与表达式,23,注意:在C语言中逻辑运算有左右优先级顺序的规定,而在VHDL语言中,左右没有优先级差别。需加括号表示优先级。,如:X=a AND b OR c;-错误 X=(a AND b)OR c;-正确,但若一个逻辑表达式中只有“AND”
11、,”OR”,”XOR”运算符,那么改变运算顺序将不会导致逻辑的改变。此时,括号可以省略。,逻辑运算符的使用,如:x=a AND b AND c AND d;x=a OR b OR c OR d;x=a XOR b XOR c;,24,注意:而在VHDL语言中,关系运算符=也用于信号的赋值,要根据上下文判断符号=是用于赋值还是小于等于。,关系运算符的使用,architecture rtl of start is signal count:integer range 0 to 7;begin process(clk)begin if(clkevent and clk=1)then count=co
12、unt+1;if(count=0)then carryout=1;else carryout=0;end if;end if;end process;end rtl;,25,并置运算符“”用于位的连接。并置运算可用于位的连接,形成位矢量;并置运算符可用于矢量的连接,形成新的矢量;并置运算可用于位和矢量的连接,形成新的矢量,SIGNAL a,b:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL q:STD_LOGIC_VECTOR(7 DOWNTO 0);q ab;,并置运算符的使用,SIGNAL a,b,c,d:STD_LOGIC;SIGNAL q:STD_LOGIC_V
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字逻辑新编 数字 逻辑 新编 PPT 课件

链接地址:https://www.31ppt.com/p-5519177.html