Knoxort
Newbie level 3
- Joined
- Nov 27, 2013
- Messages
- 4
- Helped
- 0
- Reputation
- 0
- Reaction score
- 0
- Trophy points
- 1
- Activity points
- 37
I keep getting this error whenever I try to synthesize.
WARNING:Xst:647 - Input <Qin> is never used. This port will be preserved and left unconnected if it belongs to a top-level block or it belongs to a sub-block and the hierarchy of this sub-block is preserved.
The thing that really drives me around the bend is that the declaration for Q mimics A perfectly, as they essentially have the same basic function, just for grabbing their inputs. I don't understand why I get a warning on Q but not A. Any suggestions? Below is a relavent snippet of the code, with A and Q highligted
WARNING:Xst:647 - Input <Qin> is never used. This port will be preserved and left unconnected if it belongs to a top-level block or it belongs to a sub-block and the hierarchy of this sub-block is preserved.
The thing that really drives me around the bend is that the declaration for Q mimics A perfectly, as they essentially have the same basic function, just for grabbing their inputs. I don't understand why I get a warning on Q but not A. Any suggestions? Below is a relavent snippet of the code, with A and Q highligted
Code:
entity Shift_and_Add_Unit is
Port ( [B]Ain : in STD_LOGIC_VECTOR (15 downto 0);
Qin : in STD_LOGIC_VECTOR (15 downto 0);[/B]
M : in STD_LOGIC_VECTOR (15 downto 0);
CLK : in STD_LOGIC;
Aout : OUT STD_LOGIC_VECTOR (15 downto 0);
Qout : out STD_LOGIC_VECTOR (15 downto 0));
end Shift_and_Add_Unit;
architecture Behavioral of Shift_and_Add_Unit is
[B]SIGNAL A : STD_LOGIC_VECTOR( 15 DOWNTO 0 );
SIGNAL Q : STD_LOGIC_VECTOR( 15 DOWNTO 0 );[/B]
SIGNAL C : STD_LOGIC := '0';
SIGNAL temp_sum : STD_LOGIC_VECTOR(15 DOWNTO 0);
--SIGNAL shift_temp : STD_LOGIC_VECTOR( 15 DOWNTO 0) := "0000000000000000";
begin
PROCESS (CLK)
BEGIN
IF RISING_EDGE(CLK) THEN
[B]A(15 DOWNTO 0) <= Ain(15 DOWNTO 0);
Q(15 DOWNTO 0) <= Qin(15 DOWNTO 0);[/B]
--IF (Q(0) = '1') THEN
--temp_sum <= A + M;
--A <= temp_sum(15 DOWNTO 0);
--END IF;
--For now, ignoring carry
Q(14 DOWNTO 0) <= Q(15 DOWNTO 1);
Q(15) <= A(0);
-- A(14 DOWNTO 0) <= A(15 DOWNTO 1);
A(15) <= C;
-- shift_temp(15) <= A(0);
-- shift_temp(14 DOWNTO 0) <= Q(15 DOWNTO 1);
--
-- Q <= shift_temp;
--
-- shift_temp(14 DOWNTO 0) <= A(15 DOWNTO 1);
--
-- A <= shift_temp;
END IF;
[B]Aout <= A;
Qout <= Q;[/B]
END PROCESS;
Last edited by a moderator: