在VHDL中向LOGIC_VECTOR添加"1"

-1 vhdl

我试图在VHDL中将'1'添加到N长度STD_LOGIC_VECTOR

这是我第一次使用VHDL,所以我完全不确定如何添加这个1,而不需要添加一个看似有点冗余的Full-Adder

我们不允许在代码中使用任何更多的库,然后使用一个.

    LIBRARY IEEE ;
USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;


ENTITY cnt IS

 GENERIC (n: natural :=3);

 PORT( clk: IN  std_logic;      -- clock
   rst: IN  std_logic;      -- reset
   cntNum: IN  std_logic_vector(n-1 DOWNTO 0); -- # of counting cycles
   cntOut: OUT std_logic_vector(n-1 DOWNTO 0) -- count result
 );
END cnt;


architecture CntBhvArc OF cnt IS

    signal counta : std_logic_vector(n-1 DOWNTO 0);

begin

 process (clk, rst)

 begin

     if rst='1' then

         counta<="0";

     elsif (clk'event) and (clk='0') then

         counta<= counta+'1';

     end if;

 cntOut<=counta;

 end process;

END CntBhvArc
Run Code Online (Sandbox Code Playgroud)

还有......对于那些在编程方面经验不足的人来说,任何人都可以指向VHDL总计吗?

谢谢

Hen*_*rik 5

你不应该使用库 IEEE.STD_LOGIC_UNSIGNED.ALL

不推荐使用此库(请参阅VHDL FAQ); 使用ieee.numeric_std.all来代替.