原创 VHDL语法总结2

2013-2-20 20:56 1165 10 10 分类: FPGA/CPLD

 

转换函数:
conv_std_logic_vector(integer,m+1) 把integer型的数据转换为m+1位的标准矢量值
variable a : integer range 0 to 7;
conv_std_logic_vector(a,3);
 
conv_integer(addr) 将标准矢量值转换为integer型数据
signal adr_in : integer range 0 to 7;
signal adr : std_logic_vector(2 downto 0);
addr_in <= conv_integer(adr);
 
函数
ARCHITECTURE demo OF func IS

  FUNCTION sam(x ,y ,z : STD_LOGIC) RETURN STD_LOGIC IS
  BEGIN
    RETURN ( x AND y ) OR y  ;
  END FUNCTION sam ;

  BEGIN
    PROCESS ( a )
    BEGIN
     m(0) <= sam( a(0),  a(1),  a(2) ) ;
     m(1) <= sam( a(2),  a(0),  a(1) ) ;
     m(2) <= sam( a(1),  a(2),  a(0) ) ;
    END PROCESS ;
  END ARCHITECTURE demo ;
 
signal temp : std_logic_vector(3 downto 0 );
temp1 <= '0'&temp ;  就是0与temp并置,使得temp变为五位的标准矢量

文章评论0条评论)

登录后参与讨论
我要评论
0
10
关闭 站长推荐上一条 /2 下一条