VHDL顺序语句SequentialStatem.ppt
《VHDL顺序语句SequentialStatem.ppt》由会员分享,可在线阅读,更多相关《VHDL顺序语句SequentialStatem.ppt(42页珍藏版)》请在三一办公上搜索。
1、第四章 VHDL顺序语句(Sequential Statement),4.1、赋值语句,1.顺序信号赋值语句 信号名=赋值源;赋值符号左边必须是信号名,但不能是端口声明中指定为in的信号。右边表达式中可以出现任意对象类,但不能出现端口声明中指定为out的信号。例:B=A;-惯性延迟,无时间延迟子句,即延迟D=C after 5 ns;-传输延迟,指定延迟时间,2.变量赋值语句,变量赋值的含义是:用计算赋值符号右边的表达式所得新值取代变量原来的值。变量赋值的语法形式为:变量名:=表达式;,3、赋值目标,a:=1;C1:=“1100”;G(2)=y;H(I)=z;F(1 to 4):=“1001”
2、;,SIGNAL a,b,c,d:STD_LOGIC;SIGNAL S:STD_LOGIC_VECTOR(1 TO 4);VARIABLE e,f:STD_LOGIC;VARIABLE g:STD_LOGIC_VECTOR(1 TO 2);VARIABLE h:STD_LOGIC_VECTOR(1 TO 4);S e,4=f,2=g(1),1=g(2):=h;-g(2):=h(1);g(1):=h(2);e:=h(3);f:=h(4);,4.2 流程控制结构,VHDL为用户提供了若干控制进程内部执行流的结构,可分为条件控制和循环控制两种。IF语句CASE语句LOOP语句NEXT语句EXIT语句
3、,1.if语句(条件控制语句),if 条件表达式 then 顺序语句end if;,if 条件表达式 then 顺序语句 else 顺序语句end if;,if 条件表达式 then 顺序语句 elsif 条件表达式 then 顺序语句 else 顺序语句 end if;,求取最大值,BEGIN IF(ab)THEN y=b;ELSE y=a;END IF;END max;,B用VHDL设计一个D触发器,ddf1,引进内部节点信号,进程和敏感信号,检测CLK上升沿,将数据输出端口,顺序语句,PROCESS(clock,clear)BEGINIF clear=0 THENq=0;ELSIF cl
4、ockEVENT and clock=1 THENq=d;END IF;END PROCESS;,T触发器,Process(clk)begin if(clkevent and clk=1)then if(t=1)then q=not(q);else q=q;end if;end if;end process;,ENTITY mul ISPORT(a,b,sel:IN BIT;data_out:OUT BIT);END mul;ARCHITECTURE ex OF mul ISSIGNAL temp:BIT;BEGINprocess_a:PROCESS(a,b,selx)BEGINIF(sel=
5、0)THENtemp=a;ELSE temp=b;END IF;data_out=temp;END PROCESS process_a;,case 语句的一般形式为:case 值表达式 iswhen 选择值=语句;when选择值=语句;when others=语句;end case;case语句选择项的要求:选择唯一,覆盖全集。,2、case语句,选择值的表达方式,单个普通数值 8数值选择范围(2 to 4)并列数值 3|5|8 混合方式,LIBRARY ieee;USE ieee.std_logic_1164.all;ENTITY mux41 isPORT(s1,s2,a,b,c,d:INS
6、TD_LOGIC;z:OUTSTD_LOGIC);END mux41;ARCHITECTURE activ OF mux41 IS SIGNAL s:STD_LOGIC_VECTOR(1 DOWNTO 0);BEGIN s z z z zz=x;END CASE;END PROCESS;END activ;,例:signal C:Integer range 1 to 20;signal Out1:(0,1,2,3);process(C)begincase C iswhen 1=Out1 Out1 Out1 Out1=3;-C=9,16,17,18,19,20end case;end proce
7、ss;,3.循环控制语句(loop 语句),有三种循环语句:简单循环语句,for循环语句以及while循环语句。Next语句和exit语句是与循环密切相关的两个顺序语句,用来控制特殊的循环过程。(1)无条件loop语句(2)for loop语句(3)while loop语句(4)next语句(5)exit语句,(1)无条件loop语句,无条件loop语句是简单循环语句,其中包含一个无限循环执行的语句集,其形式为;loop标号:loop顺序语句;end loop loop标号;循环标号是可选项。从语法上讲,循环体中的语句中还可以有循环语句,因而在一个循环语句里可以嵌套另外的循环语句。如果语句中没
8、有exit语句,则这样的循环语句无限循环,不会停止。但exit语句可以使它结束循环,参看下面的exit语句的介绍。,loop2:loopa:=a+1;exit loop2 when a10;end loop loop2;,(2)for loop语句,loop标号:f or 循环变量 in 循环次数范围 loop 顺序语句;end loop loop标号;循环变量由循环次数范围确定其类型,无需声明。循环变量可用在循环体中,但一旦循环结束,循环变量不再起作用,即不能把循环变量的值带到循环体外。,8位奇偶校验电路ENTITY p_check isPORT(a:IN STD_LOGIC_VECTOR(
9、7 DOWNTO 0);Y:OUTSTD_LOGIC);END p_check;ARCHITECTURE opt OF p_check IS SIGNAL tmp:STD_LOGIC;BEGIN PROCESS(a)BEGIN tmp=0;for n in 0 to 7 looptmp=tmp XOR a(n);end loop;y=tmp;END PROCESS;END opt;,(3)while loop语句,标号:while 循环控制条件 loop语句;end loop 标号;循环控制条件是布尔类型。每次执行完循环体之后,都要检测条件表达式的值是真还是假。只要其值为真,就要在执行一次循环
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VHDL 顺序 语句 SequentialStatem
链接地址:https://www.31ppt.com/p-5452225.html