Go Back   Velocity Reviews > Newsgroups > VHDL
User Name
Password
Register FAQ Members List Calendar Search Today's Posts Mark Forums Read

Reply

VHDL - Synplify warning CL209

 
Thread Tools Search this Thread
Old 04-27-2005, 03:08 PM   #1
Default Synplify warning CL209


Hello,

When synthezing the design with Synplify Pro 8.0 it gave the
follwoing Warning.

CL209 Input port bit <4> of spi_addrs(4 downto 0) is unsed.
CL209 Input port bit <3> of spi_addrs(4 downto 0) is unsed.
CL209 Input port bit <2> of spi_addrs(4 downto 0) is unsed.
CL209 Input port bit <1> of spi_addrs(4 downto 0) is unsed.


I am sure that I am using the slice (4 downto 1) as an input to the
mux.

I tried by assigning this slice to an intermediate wire (signal) and
then to the mux input . But again it is giving the same error.

Following is the relevant piece of code....
ntity Ctrl_Ram is
port(
Ctrl_Data_In : in WORD;
Ctrl_Addrs : in unsigned(3 downto 0);
Spi_Addrs : in unsigned(4 downto 0);
Ctrl_Wr : in std_logic;

Intl_Rst : in std_logic;
Clk : in std_logic;

Reset : in std_logic;

Data32_Out : out DWORD;
Data16_Out : out WORD
);
end entity Ctrl_Ram;

Architecture arch of Ctrl_Ram is
begin
spi_addrs_intl <= Spi_Addrs(4 downto 1);
Addrs_Muxrocess(Ctrl_Addrs,spi_addrs_intl,Intl_R st)
begin
case Intl_Rst is
when '0' => Addrs_In <= spi_addrs_intl;
when '1' => Addrs_In <= Ctrl_Addrs;

when others => Addrs_In <= (others =>'X');
end case;
end process Addrs_Mux;


Thank you.

-- Mohammed A Khader.



Mohammed A Khader
  Reply With Quote
Old 04-27-2005, 04:30 PM   #2
Bert Cuzeau
 
Posts: n/a
Default Re: Synplify warning CL209
Mohammed A Khader wrote:
> Hello,
>
> When synthezing the design with Synplify Pro 8.0 it gave the
> follwoing Warning.
>
> CL209 Input port bit <4> of spi_addrs(4 downto 0) is unsed.
> CL209 Input port bit <3> of spi_addrs(4 downto 0) is unsed.
> CL209 Input port bit <2> of spi_addrs(4 downto 0) is unsed.
> CL209 Input port bit <1> of spi_addrs(4 downto 0) is unsed.
>
>
> I am sure that I am using the slice (4 downto 1) as an input to the
> mux.
>
> I tried by assigning this slice to an intermediate wire (signal) and
> then to the mux input . But again it is giving the same error.
>
> Following is the relevant piece of code....
> ntity Ctrl_Ram is
> port(
> Ctrl_Data_In : in WORD;
> Ctrl_Addrs : in unsigned(3 downto 0);
> Spi_Addrs : in unsigned(4 downto 0);
> Ctrl_Wr : in std_logic;
>
> Intl_Rst : in std_logic;
> Clk : in std_logic;
>
> Reset : in std_logic;
>
> Data32_Out : out DWORD;
> Data16_Out : out WORD
> );
> end entity Ctrl_Ram;
>
> Architecture arch of Ctrl_Ram is
> begin
> spi_addrs_intl <= Spi_Addrs(4 downto 1);
> Addrs_Muxrocess(Ctrl_Addrs,spi_addrs_intl,Intl_R st)
> begin
> case Intl_Rst is
> when '0' => Addrs_In <= spi_addrs_intl;
> when '1' => Addrs_In <= Ctrl_Addrs;
>
> when others => Addrs_In <= (others =>'X');
> end case;
> end process Addrs_Mux;
>
>
> Thank you.
>
> -- Mohammed A Khader.
>


1. Why this complex code and not simply :

Addrs_In <= Spi_Addrs(4 downto 1) when Intl_Rst='0' else Ctrl_Addrs;

2. I don't think we see enough of the code to tell you where
exactly you got it wrong.
Maybe Addrs_In is not used when Intl_Rst='0' ?

Have you checked with simulation that somehow Spi_Addrs is
effectively used ?


Bert Cuzeau



Bert Cuzeau
  Reply With Quote
Old 04-28-2005, 04:54 AM   #3
Tim Hubberstey
 
Posts: n/a
Default Re: Synplify warning CL209
Mohammed A Khader wrote:
> Hello,
>
> When synthezing the design with Synplify Pro 8.0 it gave the
> follwoing Warning.
>
> CL209 Input port bit <4> of spi_addrs(4 downto 0) is unsed.
> CL209 Input port bit <3> of spi_addrs(4 downto 0) is unsed.
> CL209 Input port bit <2> of spi_addrs(4 downto 0) is unsed.
> CL209 Input port bit <1> of spi_addrs(4 downto 0) is unsed.
>
>
> I am sure that I am using the slice (4 downto 1) as an input to the
> mux.
>
> I tried by assigning this slice to an intermediate wire (signal) and
> then to the mux input . But again it is giving the same error.
>
> Following is the relevant piece of code....
> ntity Ctrl_Ram is
> port(
> Ctrl_Data_In : in WORD;
> Ctrl_Addrs : in unsigned(3 downto 0);
> Spi_Addrs : in unsigned(4 downto 0);
> Ctrl_Wr : in std_logic;
>
> Intl_Rst : in std_logic;
> Clk : in std_logic;
>
> Reset : in std_logic;
>
> Data32_Out : out DWORD;
> Data16_Out : out WORD
> );
> end entity Ctrl_Ram;
>
> Architecture arch of Ctrl_Ram is
> begin
> spi_addrs_intl <= Spi_Addrs(4 downto 1);
> Addrs_Muxrocess(Ctrl_Addrs,spi_addrs_intl,Intl_R st)
> begin
> case Intl_Rst is
> when '0' => Addrs_In <= spi_addrs_intl;
> when '1' => Addrs_In <= Ctrl_Addrs;
>
> when others => Addrs_In <= (others =>'X');
> end case;
> end process Addrs_Mux;


I don't see anything wrong with your code, other than being
unnecessarily complex.

This warning from Synplify usually comes from the optimization phase. It
typically means that the signal referred to does not enter into the
reduced equation of any output or stored internal state. This can be
either because you have a logic error somewhere in your design, or
because interaction with some other signal(s) causes the result to not
depend on the flagged signal. In other words, you have to examine the
total portion of the design that includes the entity in question.

This type of warning is an extremely common in large and/or
parameterized designs. It needs to be investigated to make sure the
optimization is reasonable, but it isn't something to panic over.
--
Tim Hubberstey, P.Eng. . . . . . Hardware/Software Consulting Engineer
Marmot Engineering . . . . . . . VHDL, ASICs, FPGAs, embedded systems
Vancouver, BC, Canada . . . . . . . . . . . http://www.marmot-eng.com


Tim Hubberstey
  Reply With Quote
Old 04-28-2005, 05:51 AM   #4
Ken McElvain
 
Posts: n/a
Default Re: Synplify warning CL209
If Addrs_In is unused, then the references to spi_addrs will
be pruned leaving spi_addrs unused.

Mohammed A Khader wrote:

> Hello,
>
> When synthezing the design with Synplify Pro 8.0 it gave the
> follwoing Warning.
>
> CL209 Input port bit <4> of spi_addrs(4 downto 0) is unsed.
> CL209 Input port bit <3> of spi_addrs(4 downto 0) is unsed.
> CL209 Input port bit <2> of spi_addrs(4 downto 0) is unsed.
> CL209 Input port bit <1> of spi_addrs(4 downto 0) is unsed.
>
>
> I am sure that I am using the slice (4 downto 1) as an input to the
> mux.
>
> I tried by assigning this slice to an intermediate wire (signal) and
> then to the mux input . But again it is giving the same error.
>
> Following is the relevant piece of code....
> ntity Ctrl_Ram is
> port(
> Ctrl_Data_In : in WORD;
> Ctrl_Addrs : in unsigned(3 downto 0);
> Spi_Addrs : in unsigned(4 downto 0);
> Ctrl_Wr : in std_logic;
>
> Intl_Rst : in std_logic;
> Clk : in std_logic;
>
> Reset : in std_logic;
>
> Data32_Out : out DWORD;
> Data16_Out : out WORD
> );
> end entity Ctrl_Ram;
>
> Architecture arch of Ctrl_Ram is
> begin
> spi_addrs_intl <= Spi_Addrs(4 downto 1);
> Addrs_Muxrocess(Ctrl_Addrs,spi_addrs_intl,Intl_R st)
> begin
> case Intl_Rst is
> when '0' => Addrs_In <= spi_addrs_intl;
> when '1' => Addrs_In <= Ctrl_Addrs;
>
> when others => Addrs_In <= (others =>'X');
> end case;
> end process Addrs_Mux;
>
>
> Thank you.
>
> -- Mohammed A Khader.
>




Ken McElvain
  Reply With Quote
Old 04-28-2005, 05:54 AM   #5
Ken McElvain
 
Posts: n/a
Default Re: Synplify warning CL209
If Addrs_In is unused, then the references to spi_addrs will
be pruned leaving spi_addrs unused.

Mohammed A Khader wrote:

> Hello,
>
> When synthezing the design with Synplify Pro 8.0 it gave the
> follwoing Warning.
>
> CL209 Input port bit <4> of spi_addrs(4 downto 0) is unsed.
> CL209 Input port bit <3> of spi_addrs(4 downto 0) is unsed.
> CL209 Input port bit <2> of spi_addrs(4 downto 0) is unsed.
> CL209 Input port bit <1> of spi_addrs(4 downto 0) is unsed.
>
>
> I am sure that I am using the slice (4 downto 1) as an input to the
> mux.
>
> I tried by assigning this slice to an intermediate wire (signal) and
> then to the mux input . But again it is giving the same error.
>
> Following is the relevant piece of code....
> ntity Ctrl_Ram is
> port(
> Ctrl_Data_In : in WORD;
> Ctrl_Addrs : in unsigned(3 downto 0);
> Spi_Addrs : in unsigned(4 downto 0);
> Ctrl_Wr : in std_logic;
>
> Intl_Rst : in std_logic;
> Clk : in std_logic;
>
> Reset : in std_logic;
>
> Data32_Out : out DWORD;
> Data16_Out : out WORD
> );
> end entity Ctrl_Ram;
>
> Architecture arch of Ctrl_Ram is
> begin
> spi_addrs_intl <= Spi_Addrs(4 downto 1);
> Addrs_Muxrocess(Ctrl_Addrs,spi_addrs_intl,Intl_R st)
> begin
> case Intl_Rst is
> when '0' => Addrs_In <= spi_addrs_intl;
> when '1' => Addrs_In <= Ctrl_Addrs;
>
> when others => Addrs_In <= (others =>'X');
> end case;
> end process Addrs_Mux;
>
>
> Thank you.
>
> -- Mohammed A Khader.
>




Ken McElvain
  Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
Error: Physical sythesis tool PALAC is not supported by Formal Verification tool Conf bbiandov Software 0 12-22-2008 05:25 AM
RARE DOCUMENTARIES - OLD HBO UNDERCOVER & MORE, SELL OR TRADE Michelangelo098@aol.com DVD Video 0 10-03-2006 10:58 PM
Warning about JENOVIA DIRECT on eBay Fluffy DVD Video 0 05-05-2006 03:35 AM
WARNING - DVD Fire Hazzard davidmahoney@earthlin_.net DVD Video 24 09-15-2005 11:06 AM
WARNING - HANDLE DVDs WITH CAUTION listitem45y@consumerprotection.org DVD Video 71 01-31-2004 03:51 PM




SEO by vBSEO 3.3.2 ©2009, Crawlability, Inc.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46