其他分享
首页 > 其他分享> > VHDL硬件描述语言学习笔记(三)

VHDL硬件描述语言学习笔记(三)

作者:互联网

文章目录

1.4.5 return 语句

return语句只能用于子程序中,并用来终止一个子程序的执行。
格式:return [表达式];
分为:1)return;用于过程,只是结束过程,不返回任何值。
2)return 表达式;用于函数,并且必须返回一个值。
例:用于过程的return语句

procedure rs(s,r: in std_logic; 
					  q,nq: inout std_logic) is
begin
	if s='1' and r='1' then 
		report "forbidden state:s and r are equal to '1' "; 
		return; 
	else 
		q<=s and nq after 5 ns;
		nq<=r and q after 5 ns; 
	end if; 
end procedure rs;

例:用于函数的return语句

function opt(a,b,sel:std_logic)
	return std_logic is
begin 
	if sel='1' then 
		return(a and b); 
	else 
		return(a or b); 
	end if; 
end function opt;

1.4.6 null语句

null为空语句,不作任何操作。格式:null;

entity ex15 is 
	port (control: in integer range 0 to 7;
			a: in bit;
			z:out bit);
end ex15;
architecture behav of ex15 is
begin 
	process(control, a)
	begin
		z<=a;
		case control is 
			when 0|7 => z <= not a;
			when others => null;
		end case;
	end process;
end behav;

1.4.7 其它语句和说明

属性(attribute)描述:属性是某一对象的特征表示,是一个内部预定义函数。格式为:对象名’属性标识符
综合器支持的属性有:left、right、high、low、range、rverse_range、length、event、stable
属性’event:
对在当前的一个极小的时间段Δ内发生的事件的情况进行检测。
如发生事件,则返回true,否则返回false。
发生事件:信号电平发生变化。
在这里插入图片描述
时钟信号的上升沿描述:clock‘event and clock=‘1’
时钟信号的下降沿描述:clock’event and clock=‘0’
上升沿触发器描述:

process(clock)
begin
	if clock'event and clock = '1' then 
		q<=data;
	end if;
end proess;

属性’stable
属性’stable的测试功能与event刚好相反,信号在Δ时间段内无事件发生,则返回true,否则返回false。
以下两语句的功能相同:
clock’event and clock=‘1’
not(clock’stable)and clock=‘1’

1.5 VHDL并发语句(Concurrent)

在这里插入图片描述
结构体中所有的语句都是并发的。
20集


参考资料:
【考研】EDA技术(vhdl技术)

标签:语句,1.4,return,VHDL,clock,描述语言,笔记,end,event
来源: https://blog.csdn.net/qq_42759162/article/details/120380294