gnudaemon
Member level 1
- Joined
- Sep 16, 2004
- Messages
- 33
- Helped
- 0
- Reputation
- 0
- Reaction score
- 0
- Trophy points
- 1,286
- Activity points
- 338
xst 1304 in vhdl
I have the following code for shifting several bits of a std_logic_vector signal at 1 clock cycle.
When I synthesized it (with Synplify), it outputs some warning about some parts of inputs are not used, and part of outputs are always '0' (the upper part).
I just wonder whether those warnings are ignorable, and those won't cause any problem when porting into real board????
Pls give me opinion if you've experienced it. Thanks a lot
@gnudaemon
--------------------
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity RgtSftMBits4 is
port( reset: in std_logic;
clk: in bit;
input: in std_logic_vector(7 downto 0);
output: out std_logic_vector(7 downto 0)
);
end RgtSftMBits4;
architecture RgtSftMBits4_bhv of RgtSftMBits4 is
constant deltaM: integer := 3;
constant vectorSize: integer := 7;
begin
process(reset, clk)
begin
if (reset = '1') then
output <= (others => '0');
elsif (clk='1' and clk'event) then
for i in vectorSize downto 0 loop
if (i > vectorSize - deltaM) then
output(i) <= '0';
else
output(i) <= input(i + deltaM);
end if;
end loop;
end if;
end process;
end RgtSftMBits4_bhv;
Added after 39 seconds:
The warnings are as follows
@W: CL111 :"P:\VHDLDocument\VHDLAnalysisAndModelingOfDigitalSystems\FirstPart\rgtSftMbits4.vhd":24:2:24:3|All reachable assignments to output(5) assign '0', register removed by optimization
@W: CL111 :"P:\VHDLDocument\VHDLAnalysisAndModelingOfDigitalSystems\FirstPart\rgtSftMbits4.vhd":24:2:24:3|All reachable assignments to output(6) assign '0', register removed by optimization
@W: CL111 :"P:\VHDLDocument\VHDLAnalysisAndModelingOfDigitalSystems\FirstPart\rgtSftMbits4.vhd":24:2:24:3|All reachable assignments to output(7) assign '0', register removed by optimization
@W:"P:\VHDLDocument\VHDLAnalysisAndModelingOfDigitalSystems\FirstPart\rgtSftMbits4.vhd":24:2:24:3|All reachable assignments to bit 5 of output(7 downto 0) assign 0, register removed by optimization
@W:"P:\VHDLDocument\VHDLAnalysisAndModelingOfDigitalSystems\FirstPart\rgtSftMbits4.vhd":24:2:24:3|All reachable assignments to bit 6 of output(7 downto 0) assign 0, register removed by optimization
@W:"P:\VHDLDocument\VHDLAnalysisAndModelingOfDigitalSystems\FirstPart\rgtSftMbits4.vhd":24:2:24:3|All reachable assignments to bit 7 of output(7 downto 0) assign 0, register removed by optimization
@W:"P:\VHDLDocument\VHDLAnalysisAndModelingOfDigitalSystems\FirstPart\rgtSftMbits4.vhd":13:3:13:7|Input port bit <2> of input(7 downto 0) is unused
@W:"P:\VHDLDocument\VHDLAnalysisAndModelingOfDigitalSystems\FirstPart\rgtSftMbits4.vhd":13:3:13:7|Input port bit <1> of input(7 downto 0) is unused
@W:"P:\VHDLDocument\VHDLAnalysisAndModelingOfDigitalSystems\FirstPart\rgtSftMbits4.vhd":13:3:13:7|Input port bit <0> of input(7 downto 0) is unused
I have the following code for shifting several bits of a std_logic_vector signal at 1 clock cycle.
When I synthesized it (with Synplify), it outputs some warning about some parts of inputs are not used, and part of outputs are always '0' (the upper part).
I just wonder whether those warnings are ignorable, and those won't cause any problem when porting into real board????
Pls give me opinion if you've experienced it. Thanks a lot
@gnudaemon
--------------------
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity RgtSftMBits4 is
port( reset: in std_logic;
clk: in bit;
input: in std_logic_vector(7 downto 0);
output: out std_logic_vector(7 downto 0)
);
end RgtSftMBits4;
architecture RgtSftMBits4_bhv of RgtSftMBits4 is
constant deltaM: integer := 3;
constant vectorSize: integer := 7;
begin
process(reset, clk)
begin
if (reset = '1') then
output <= (others => '0');
elsif (clk='1' and clk'event) then
for i in vectorSize downto 0 loop
if (i > vectorSize - deltaM) then
output(i) <= '0';
else
output(i) <= input(i + deltaM);
end if;
end loop;
end if;
end process;
end RgtSftMBits4_bhv;
Added after 39 seconds:
The warnings are as follows
@W: CL111 :"P:\VHDLDocument\VHDLAnalysisAndModelingOfDigitalSystems\FirstPart\rgtSftMbits4.vhd":24:2:24:3|All reachable assignments to output(5) assign '0', register removed by optimization
@W: CL111 :"P:\VHDLDocument\VHDLAnalysisAndModelingOfDigitalSystems\FirstPart\rgtSftMbits4.vhd":24:2:24:3|All reachable assignments to output(6) assign '0', register removed by optimization
@W: CL111 :"P:\VHDLDocument\VHDLAnalysisAndModelingOfDigitalSystems\FirstPart\rgtSftMbits4.vhd":24:2:24:3|All reachable assignments to output(7) assign '0', register removed by optimization
@W:"P:\VHDLDocument\VHDLAnalysisAndModelingOfDigitalSystems\FirstPart\rgtSftMbits4.vhd":24:2:24:3|All reachable assignments to bit 5 of output(7 downto 0) assign 0, register removed by optimization
@W:"P:\VHDLDocument\VHDLAnalysisAndModelingOfDigitalSystems\FirstPart\rgtSftMbits4.vhd":24:2:24:3|All reachable assignments to bit 6 of output(7 downto 0) assign 0, register removed by optimization
@W:"P:\VHDLDocument\VHDLAnalysisAndModelingOfDigitalSystems\FirstPart\rgtSftMbits4.vhd":24:2:24:3|All reachable assignments to bit 7 of output(7 downto 0) assign 0, register removed by optimization
@W:"P:\VHDLDocument\VHDLAnalysisAndModelingOfDigitalSystems\FirstPart\rgtSftMbits4.vhd":13:3:13:7|Input port bit <2> of input(7 downto 0) is unused
@W:"P:\VHDLDocument\VHDLAnalysisAndModelingOfDigitalSystems\FirstPart\rgtSftMbits4.vhd":13:3:13:7|Input port bit <1> of input(7 downto 0) is unused
@W:"P:\VHDLDocument\VHDLAnalysisAndModelingOfDigitalSystems\FirstPart\rgtSftMbits4.vhd":13:3:13:7|Input port bit <0> of input(7 downto 0) is unused