VHDL的程序包

2019-07-16 01:28发布

请问各位大侠,能够告知一下VHDL中的ARITH包、UNSIGNED包和SIGNED包的功能呢?程序中总是调用这些包,可实在是不清楚调用的原因。。。
比如说,如下这个程序,UNSIGNED包的作用是什么呢?
  1. LIBRARY IEEE;
  2. USE IEEE.STD_LOGIC_1164.ALL;
  3. USE IEEE.STD_LOGIC_UNSIGNED.ALL;

  4. ENtiTY JOYSTICK IS
  5. PORT(
  6. CLK: IN STD_LOGIC;
  7. RESET: IN STD_LOGIC;
  8. DATA: IN STD_LOGIC_VECTOR(4 DOWNTO 0);
  9. LED: OUT STD_LOGIC_VECTOR(3 DOWNTO 0)
  10. );


  11. END JOYSTICK;

  12. ARCHITECTURE LED OF JOYSTICK IS
  13. BEGIN

  14. process( DATA )
  15. begin
  16. if(DATA= "11110") then
  17. LED <= "0001";
  18. elsif(DATA= "11101") then
  19. LED <= "0010";
  20. elsif(DATA= "11011") then
  21. LED <= "0011";
  22. elsif(DATA= "10111") then
  23. LED <= "0100";
  24. elsif(DATA= "01111") then
  25. LED <= "0101";
  26. else LED <= "0000";
  27. end if;
  28. end process;

  29. END LED;

复制代码
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
3条回答
youzizhile
2019-07-16 07:20
VHDL定义了四个常用的程序包:
     • std_logic_1164 (std_logic types &  related functions),这个是标准逻辑类型和相关函数运算包
       • std_logic_arith (arithmetic functions),这个是运算函数包
       • std_logic_signed (signed arithmetic functions)这个是有符号数运算函数包
       • std_logic_unsigned (unsigned  rithmetic functions),这个是无符号数运算函数包

一周热门 更多>