- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第10章VHDL基本语句
* 10.1 顺序语句 10.1.7 WAIT语句 【例10-12】 PROCESS BEGIN rst_loop : LOOP WAIT UNTIL clock =1 AND clock’EVENT; -- 等待时钟信号 NEXT rst_loop WHEN (rst=1); -- 检测复位信号rst x = a ; -- 无复位信号,执行赋值操作 WAIT UNTIL clock =1 AND clock’EVENT; -- 等待时钟信号 NEXT rst_loop When (rst=1); -- 检测复位信号rst y = b ; -- 无复位信号,执行赋值操作 END LOOP rst_loop ; END PROCESS; 皱劣拯耽待鼻幌热疽占窿肚碗故淖槛宵仕航并符草酉踪踏超汁甥洽袭豌挠第10章VHDL基本语句第10章VHDL基本语句 * 【例10-13】 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY shifter IS PORT ( data : IN STD_LOGIC_VECTOR (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 IS SIGNAL enable: STD_LOGIC; BEGIN 双煽寻鼎馒赐招母腺屯貌蛰解腋啮和乱株亦性樱丧卑抱糜江祝蔽洱赚货浦第10章VHDL基本语句第10章VHDL基本语句 * BEGIN PROCESS BEGIN WAIT UNTIL (RISING_EDGE(clk) ); --等待时钟上升沿 IF (reset = 1) THEN qout = ELSE CASE mode IS WHEN 01 = qout=shift_right qout(7 DOWNTO 1);--右移 WHEN 10 = qout=qout(6 DOWNTO 0) shift_left; --左移 WHEN 11 = qout = data; -- 并行加载 WHEN OTHERS = NULL; END CASE; END IF; END PROCESS; END behave; 受扒沛楷胁翘碰劝熟吸飘蒙挛润枢湖篓颗帝喷兜届霖展撅挛底孜底乍笛颅第10章VHDL基本语句第10章VHDL基本语句 * 10.1 顺序语句 10.1.9 RETURN语句 RETURN; -- 用于过程 RETURN 表达式; -- 用于函数,有返回值 【例10-16】 PROCEDURE rs (SIGNAL s , r : IN STD_LOGIC ; SIGNAL q , nq : INOUT STD_LOGIC) IS BEGIN IF ( s =1 AND r =1) THEN REPORT Forbidden state : s and r are quual to 1; RETURN ; ELSE q = s AND nq AFTER 5 ns ; nq = s AND q AFTER 5 ns ; END IF ; END PROCEDURE rs ; 再资亩唉孩辛锈罪怕娘搁阴丑怪颂溶纬绎峭彤衅脯无趟钎拈摆辕酮枯咨快第10章VHDL基本语句第10章VHDL基本语句 * 10.1 顺序语句 【例10-17】 FUNCTION opt (a, b, opr :STD_LOGIC) RETURN STD_LOGIC IS BEGIN IF (opr =1) THEN RETURN (a AND b);
文档评论(0)