VHDL基本语句和函数.ppt
文本预览下载声明
VHDL的基本语句一、VHDL的基本语句二、VHDL的子程序
一、VHDL的顺序语句 顺序语句用来定义进程、过程或函数的行为。 顺序语句完全按照程序中出现的顺序执行各条语句,在结构层次中前面语句的执行结果可能直接影响后面语句的结果,而并行语句中仅仅执行被激活的语句,而不是所有的语句.
顺序语句正确 signal A,B,C: BIT_VECTOR(3 downto 0); signal D,E,F,G: BIT_VECTOR(1 downto 0); signal H,I,J,K: BIT; A=B and C; D=E or F or G; H=(I nand J) nand K;错误: A=B and E; --数组操作数必须大小相同; H=I and J or K; --需括号;
顺序语句包括: 1、IF语句 2、CASE语句 3、LOOP语句 4、NEXT语句 5、EXIT语句 6、RETURN语句 7、NULL语句
1、IF语句 IF语句是VHDL语言中最常见﹑最基础的语句。IF语句有四种形式。 1) IF 条件 THEN 顺序语句; END IF;格式注意这是一种不完整的IF语句,通常用于产生时序电路。
2) IF 条件 THEN 顺序语句1; ELSE 顺序语句2; END IF;格式注意这是一种完整的IF语句,通常用于产生组合电路。
2) IF 条件 THEN 顺序语句1; ELSE 顺序语句2; END IF;格式注意这是一种完整的IF语句,通常用于产生组合电路。
IF语句将boolean型信号转换到 bit型function b12bit(a: Boolean) return BIT is begin if a then return 1; else return 0; end if; end b12bit;
3) IF 条件 THEN IF 条件 THEN 顺序语句; END IF; END IF; 格式注意 这是一种多重IF语句嵌套式条件句,可以产生较为丰富的条件描述,既可以产生组合电路,又可以产生时序电路,或者产生两者的混合。在使用该语句时应注意,END IF结束句的个数应该与嵌入条件句数量一致。
4) IF 条件1 THEN 顺序语句1; ELSIF 条件2 THEN 顺序语句2; …… ELSIF 条件n THEN 顺序语句n; ELSE 顺序语句n+1; END IF;格式注意 这类语句可以实现不同类型电路的描述。其任一分支顺序语句的执行条件是以上各分支条件相与,即语句中顺序语句的执行条件具有向上相与的功能。
结果:在编译时,b增添一位0,比较结果为:ab。Library ieee;use ieee.std_logic_1164.all;entity test_06 is port( d: in std_logic; x: out std_logic);end test_06;architecture test_06 of test_06 issignal a: std_logic_vector(3 downto 0);signal b: std_logic_vector(2 downto 0);begin process begin a=1010; b=111; if(ab) then x=d; else x=0; end if; end process;end test_06;
2、CASE语句 CASE 条件表达式 IS WHEN 选择值1 =〉顺序语句1; WHEN 选
显示全部