eda技术与vhdl-第一部分 vhdl语句课件

上传人:aa****6 文档编号:57415374 上传时间:2018-10-21 格式:PPT 页数:63 大小:192KB
返回 下载 相关 举报
eda技术与vhdl-第一部分 vhdl语句课件_第1页
第1页 / 共63页
eda技术与vhdl-第一部分 vhdl语句课件_第2页
第2页 / 共63页
eda技术与vhdl-第一部分 vhdl语句课件_第3页
第3页 / 共63页
eda技术与vhdl-第一部分 vhdl语句课件_第4页
第4页 / 共63页
eda技术与vhdl-第一部分 vhdl语句课件_第5页
第5页 / 共63页
点击查看更多>>
资源描述

《eda技术与vhdl-第一部分 vhdl语句课件》由会员分享,可在线阅读,更多相关《eda技术与vhdl-第一部分 vhdl语句课件(63页珍藏版)》请在金锄头文库上搜索。

1、EDA技术与VHDL,第1部分 VHDL语句,一 顺序语句,1.1 赋值语句,信号赋值语句 变量赋值语句,1.2 IF语句,1.3 CASE语句,选择值 |选择值 ,单个普通数值,如6。 数值选择范围,如(2 TO 4),表示取值为2、3或4。 并列数值,如35,表示取值为3或者5。 混合方式,以上三种方式的混合。,【例1】LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY mux41 ISPORT (s4,s3, s2,s1 : IN STD_LOGIC;z4,z3, z2,z1 : OUT STD_LOGIC); END mux41;ARCHIT

2、ECTURE activ OF mux41 ISSIGNAL sel : INTEGER RANGE 0 TO 15;BEGINPROCESS (sel ,s4,s3,s2,s1 )BEGINsel z1 z2 z3 z4 out1 out1 out1 out1 result result - a、b相等IF (a = b) THEN result - a、b不相等IF (a /= b) THEN result = x“01“;ELSE result 10 ; - 当a大于10时跳出循环END LOOP L2;.,一顺序语句,1.4 LOOP语句,(2) FOR_LOOP语句,语法格式如下:L

3、OOP标号: FOR 循环变量,IN 循环次数范围 LOOP 顺序语句END LOOP LOOP标号;,一顺序语句,1.4 LOOP语句,【例4】LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL; ENTITY p_check ISPORT ( a : IN STD_LOGIC_VECTOR (7 DOWNTO 0);y : OUT STD_LOGIC ); END p_check; ARCHITECTURE opt OF p_check ISSIGNAL tmp :STD_LOGIC ; BEGINPROCESS(a) BEGINtmp =0;FOR n IN

4、 0 TO 7 LOOPtmp = tmp XOR a(n);END LOOP ;y = tmp;END PROCESS;END opt;,一顺序语句,1.4 LOOP语句,【例5】SIGNAL a, b, c : STD_LOGIC_VECTOR (1 TO 3); . FOR n IN 1 To 3 LOOP a(n) = b(n) AND c(n); END LOOP; 此段程序等效于顺序执行以下三个信号赋值操作: a(1)=b(1) AND c(1); a(2)=b(2) AND c(2); a(3)f);s3 : b(k+8) := 0;k := k+1;NEXT LOOP L_y

5、;NEXT LOOP L_x ;.,一顺序语句,1.6 EXIT语句,EXIT; - 第一种语句格式 EXIT LOOP标号; - 第二种语句格式 EXIT LOOP标号 WHEN 条件表达式; - 第三种语句格式,一顺序语句,1.6 EXIT语句,【例8】 SIGNAL a, b : STD_LOGIC_VECTOR (1 DOWNTO 0); SIGNAL a_less_then_b : Boolean; .a_less_then_b bEXIT ;ELSIF (a(i)=0 AND b(i)=1) THENa_less_then_b = TRUE ; - a bEXIT;ELSE NUL

6、L;END IF;END LOOP; - 当 i=1时返回LOOP语句继续比较,一顺序语句,1.7 WAIT语句,WAIT; - 第一种语句格式 WAIT ON 信号表; - 第二种语句格式 WAIT UNTIL 条件表达式; - 第三种语句格式 WAIT FOR 时间表达式; - 第四种语句格式,超时等待语句,一 顺序语句,1.7 WAIT语句,【例9】 SIGNAL s1,s2 : STD_LOGIC; . PROCESS BEGIN . WAIT ON s1,s2 ; END PROCESS ;,一顺序语句,1.7 WAIT语句,【例10】 (a) WAIT_UNTIL结构 (b) WA

7、IT_ON结构 . LOOP Wait until enable =1; Wait on enable; . EXIT WHEN enable =1;END LOOP;,一顺序语句,1.7 WAIT语句,WAIT UNTIL 信号=Value ; - (1) WAIT UNTIL 信号EVENT AND 信号=Value; - (2) WAIT UNTIL NOT 信号STABLE AND 信号=Value; - (3),WAIT UNTIL clock =1;WAIT UNTIL rising_edge(clock) ;WAIT UNTIL NOT clockSTABLE AND clock

8、 =1;WAIT UNTIL clock =1 AND clockEVENT;,一 顺序语句,1.7 WAIT语句,【例11】 PROCESS BEGIN WAIT UNTIL clk =1; ave = a; WAIT UNTIL clk =1; ave = ave + a; WAIT UNTIL clk =1; ave = ave + a; WAIT UNTIL clk =1; ave = (ave + a)/4 ; END PROCESS ;,一 顺序语句,1.7 WAIT语句,【例12】PROCESSBEGINrst_loop : LOOPWAIT UNTIL clock =1 AND

9、 clockEVENT; - 等待时钟信号NEXT rst_loop WHEN (rst=1); - 检测复位信号rstx = a ; - 无复位信号,执行赋值操作WAIT UNTIL clock =1 AND clockEVENT; - 等待时钟信号NEXT rst_loop When (rst=1); - 检测复位信号rsty = b ; - 无复位信号,执行赋值操作END LOOP rs,【例13】 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY shifter ISPORT ( data : IN STD_LOGIC_VECTOR (

10、7 DOWNTO 0);shift_left: IN STD_LOGIC;shift_right: IN STD_LOGIC;clk: IN STD_LOGIC;reset : IN STD_LOGIC;mode : IN STD_LOGIC_VECTOR (1 DOWNTO 0);qout : BUFFER STD_LOGIC_VECTOR (7 DOWNTO 0) ); END shifter; ARCHITECTURE behave OF shifter ISSIGNAL enable: STD_LOGIC;BEGINPROCESS BEGINWAIT UNTIL (RISING_EDGE(clk) ); -等待时钟上升沿IF (reset = 1) THEN qout qout qout qout NULL; END CASE;END IF;END PROCESS; END behave;,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号