Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Xst:2371 - HDL ADVISOR - Logic functions respectively driving the data and gate enabl

Status
Not open for further replies.

ketanlad_18

Newbie level 4
Newbie level 4
Joined
Nov 9, 2011
Messages
5
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,363
hi,i am writing the code for right shift.it is synthesis without error.but several warnings are generated.warnings are stated after code.please give me idea to remove this error.


Code VHDL - [expand]
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
 
entity fl1 is
  generic ( wE : positive := 6;
            wF : positive := 13 );
  port ( clk: in std_logic;
         rst: in std_logic;
            nA : in  std_logic_vector(wE+wF downto 0);
         nB : in  std_logic_vector(wE+wF downto 0);
         nR : out std_logic_vector(wE+wF downto 0));
end fl1;
 
architecture Behavioral of fl1 is
 
signal nA_e,nB_e: std_logic_vector(wE-1 downto 0):=(others=>'0');
signal nA_f,nB_f: std_logic_vector(wF-1 downto 0):=(others=>'0');
signal n_diff_i:integer range 0 to 255:=0;
signal sign,c:std_logic:='0';
signal si:std_logic:='0';
signal s : STD_LOGIC_VECTOR (12 downto 0):=(others=>'0');
signal dsum:std_logic_vector(wF-1 downto 0):=(others=>'0');
 
type state is (zero,one,two,three);
type state1 is (a1,a2,a3);
signal co:state1;   
signal comb:state;
 
begin
p1:process(clk,rst,nA,nB,nB_f,nA_F,nA_e,nB_e,si,comb)
 
begin
 
if rst='1' then
   comb<=zero;
elsif rst='0' and clk='1' and (nA(wE+wF-1 downto wF)=nB(wE+wF-1 downto wF)) then
   comb<=one;
elsif rst='0' and clk='1' and (nA(wE+wF-1 downto wF)>nB(wE+wF-1 downto wF))then
   comb<=two;
elsif rst='0' and clk='1' and (nA(wE+wF-1 downto wF)<nB(wE+wF-1 downto wF))then
   comb<=three;
else comb<=zero;
end if;
   
case comb is
  when zero=>
       si<='0';
       nA_e<=(others=>'0');
         nB_e<=(others=>'0');
       nA_f<=(others=>'0');
       nB_f<=(others=>'0');      
  when one=>
       if nA(wF-1 downto 0)> nB(wF-1 downto 0) then
                si<=nA(wE+wF);
         elsif nA(wF-1 downto 0)< nB(wF-1 downto 0) then
                si<=nB(wE+wF);
       else si<=nA(wE+wF);      
         end if;
        
       nA_e<=nA(wE+wF-1 downto wF);
         nB_e<=nB(wE+wF-1 downto wF);
         nA_f(wF-1 downto 0)<=nA(wF-1 downto 0);
         nB_f<=nB(wF-1 downto 0);
  
  when two=>         
          nA_e(wE-1 downto 0)<=nA(wE+wF-1 downto wF);
         nA_f(wF-1 downto 0)<=nA(wF-1 downto 0);
          nB_e(wE-1 downto 0)<=nB(wE+wF-1 downto wF);
         nB_f(wF-1 downto 0)<=nB(wF-1 downto 0);
          si<=nA(wE+wF);
  
  when three=>  
         nA_e(wE-1 downto 0)<=nB(wE+wF-1 downto wF);
         nA_f(wF-1 downto 0)<=nB(wF-1 downto 0);
          nB_e(wE-1 downto 0)<=nA(wE+wF-1 downto wF);
         nB_f(wF-1 downto 0)<=nA(wF-1 downto 0);
         si<=nB(wE+wF);
  
  when others=>
        nA_e(wE-1 downto 0)<=(others=>'0');
         nA_f(wF-1 downto 0)<=(others=>'0');
          nB_e(wE-1 downto 0)<=(others=>'0');
         nB_f(wF-1 downto 0)<=(others=>'0');
          si<='0';
            
end case;
 
end process p1;
 
p2:process(clk,n_diff_i,nA_e,nB_e,s,co,rst,nB_f)
begin
  n_diff_i<=conv_integer(nA_e-nB_e);
 
if rst='1'   then co<=a1;
elsif rst='0'  and  clk='1' then
    if n_diff_i=0 then co<=a2;
    elsif n_diff_i>0  and n_diff_i<13 then
          co<=a3;
    else co<=a1;
    end if;    
else 
 
     co<=a1;
    end if;
 
case co is
    when a1=>s<="0000000000000";
     when a2=>s(12 downto 0)<=nB_f;
     when a3=>--s<="1111111111111";
             s(12 downto 12-n_diff_i)<=(OTHERS =>'0');      
                s(12-n_diff_i+1 downto 0) <= '1'& nB_f(12 downto n_diff_i);
     
     when others=>s<="0000000000000";
     end case;
 
end process p2;
end Behavioral;




warnings

Code:
WARNING:Xst:2734 - Property "use_dsp48" is not applicable for this technology.
WARNING:Xst:737 - Found 1-bit latch for signal <s_7>.
INFO:Xst:2371 - HDL ADVISOR - Logic functions respectively driving the data and gate enable inputs of this latch share common terms. This situation will potentially lead to setup/hold violations and, as a result, to simulation problems. This situation may come from an incomplete case statement (all selector values are not covered). You should carefully review if it was in your intentions to describe such a latch.
WARNING:Xst:737 - Found 1-bit latch for signal <s_8>.
INFO:Xst:2371 - HDL ADVISOR - Logic functions respectively driving the data and gate enable inputs of this latch share common terms. This situation will potentially lead to setup/hold violations and, as a result, to simulation problems. This situation may come from an incomplete case statement (all selector values are not covered). You should carefully review if it was in your intentions to describe such a latch.
WARNING:Xst:737 - Found 1-bit latch for signal <s_9>.
INFO:Xst:2371 - HDL ADVISOR - Logic functions respectively driving the data and gate enable inputs of this latch share common terms. This situation will potentially lead to setup/hold violations and, as a result, to simulation problems. This situation may come from an incomplete case statement (all selector values are not covered). You should carefully review if it was in your intentions to describe such a latch.
WARNING:Xst:737 - Found 1-bit latch for signal <s_10>.
INFO:Xst:2371 - HDL ADVISOR - Logic functions respectively driving the data and gate enable inputs of this latch share common terms. This situation will potentially lead to setup/hold violations and, as a result, to simulation problems. This situation may come from an incomplete case statement (all selector values are not covered). You should carefully review if it was in your intentions to describe such a latch.
WARNING:Xst:737 - Found 1-bit latch for signal <s_11>.
INFO:Xst:2371 - HDL ADVISOR - Logic functions respectively driving the data and gate enable inputs of this latch share common terms. This situation will potentially lead to setup/hold violations and, as a result, to simulation problems. This situation may come from an incomplete case statement (all selector values are not covered). You should carefully review if it was in your intentions to describe such a latch.
WARNING:Xst:737 - Found 1-bit latch for signal <s_12>.
INFO:Xst:2371 - HDL ADVISOR - Logic functions respectively driving the data and gate enable inputs of this latch share common terms. This situation will potentially lead to setup/hold violations and, as a result, to simulation problems. This situation may come from an incomplete case statement (all selector values are not covered). You should carefully review if it was in your intentions to describe such a latch.
WARNING:Xst:737 - Found 1-bit latch for signal <s_0>.
INFO:Xst:2371 - HDL ADVISOR - Logic functions respectively driving the data and gate enable inputs of this latch share common terms. This situation will potentially lead to setup/hold violations and, as a result, to simulation problems. This situation may come from an incomplete case statement (all selector values are not covered). You should carefully review if it was in your intentions to describe such a latch.
WARNING:Xst:737 - Found 1-bit latch for signal <s_1>.
INFO:Xst:2371 - HDL ADVISOR - Logic functions respectively driving the data and gate enable inputs of this latch share common terms. This situation will potentially lead to setup/hold violations and, as a result, to simulation problems. This situation may come from an incomplete case statement (all selector values are not covered). You should carefully review if it was in your intentions to describe such a latch.
WARNING:Xst:737 - Found 1-bit latch for signal <s_2>.
INFO:Xst:2371 - HDL ADVISOR - Logic functions respectively driving the data and gate enable inputs of this latch share common terms. This situation will potentially lead to setup/hold violations and, as a result, to simulation problems. This situation may come from an incomplete case statement (all selector values are not covered). You should carefully review if it was in your intentions to describe such a latch.
WARNING:Xst:737 - Found 1-bit latch for signal <s_3>.
INFO:Xst:2371 - HDL ADVISOR - Logic functions respectively driving the data and gate enable inputs of this latch share common terms. This situation will potentially lead to setup/hold violations and, as a result, to simulation problems. This situation may come from an incomplete case statement (all selector values are not covered). You should carefully review if it was in your intentions to describe such a latch.
WARNING:Xst:737 - Found 1-bit latch for signal <s_4>.
INFO:Xst:2371 - HDL ADVISOR - Logic functions respectively driving the data and gate enable inputs of this latch share common terms. This situation will potentially lead to setup/hold violations and, as a result, to simulation problems. This situation may come from an incomplete case statement (all selector values are not covered). You should carefully review if it was in your intentions to describe such a latch.
WARNING:Xst:737 - Found 1-bit latch for signal <s_5>.
INFO:Xst:2371 - HDL ADVISOR - Logic functions respectively driving the data and gate enable inputs of this latch share common terms. This situation will potentially lead to setup/hold violations and, as a result, to simulation problems. This situation may come from an incomplete case statement (all selector values are not covered). You should carefully review if it was in your intentions to describe such a latch.
WARNING:Xst:737 - Found 1-bit latch for signal <s_6>.
INFO:Xst:2371 - HDL ADVISOR - Logic functions respectively driving the data and gate enable inputs of this latch share common terms. This situation will potentially lead to setup/hold violations and, as a result, to simulation problems. This situation may come from an incomplete case statement (all selector values are not covered). You should carefully review if it was in your intentions to describe such a latch.
INFO:Xst:1767 - HDL ADVISOR - Resource sharing has identified that some arithmetic operations in this design can share the same physical resources for reduced device utilization. For improved clock frequency you may try to disable resource sharing.
 
Last edited by a moderator:

you havent followed the template for synchronous design. Hence you build a load of logic (and no registers.

I suggest following this template for synchronours design:

Code:
process(clk, reset) --ONLY clk and reset
begin
  if reset = '1' then
    --do async reset here
  elsif rising_edge(clk) then
    --register descriptions go here
  end if;
end process;
 

hi,thanks for suggestion
i replaced following portion of code.

Code VHDL - [expand]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
p2:process(clk,n_diff_i,nA_e,nB_e,s,co,rst,nB_f)
begin
n_diff_i<=conv_integer(nA_e-nB_e);
 
if rst='1' then co<=a1;
elsif rst='0' and clk='1' then
if n_diff_i=0 then co<=a2;
elsif n_diff_i>0 and n_diff_i<13 then
co<=a3;
else co<=a1;
end if;
else
 
co<=a1;
end if



replaced portion:

Code VHDL - [expand]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
p2:process(clk,rst,n_diff_i,nA_e,nB_e,s,co,nB_f)
begin
  n_diff_i<=conv_integer(nA_e-nB_e);
 
if rst='1' then co<=a1;
--elsif   clk='1' then
--    if rst='1' then co<=a1;
elsif  rising_edge(clk) then
    if n_diff_i=0 then co<=a2;
       elsif n_diff_i>0  and n_diff_i<13 then
            co<=a3;
       else co<=a1;
       end if;
end if;


but therse is also some warnings as follows:
Code:
Using one-hot encoding for signal <comb>.
WARNING:Xst:2734 - Property "use_dsp48" is not applicable for this technology.
WARNING:Xst:737 - Found 1-bit latch for signal <s_7>.
INFO:Xst:2371 - HDL ADVISOR - Logic functions respectively driving the data and gate enable inputs of this latch share common terms. This situation will potentially lead to setup/hold violations and, as a result, to simulation problems. This situation may come from an incomplete case statement (all selector values are not covered). You should carefully review if it was in your intentions to describe such a latch.
WARNING:Xst:737 - Found 1-bit latch for signal <s_8>.
INFO:Xst:2371 - HDL ADVISOR - Logic functions respectively driving the data and gate enable inputs of this latch share common terms. This situation will potentially lead to setup/hold violations and, as a result, to simulation problems. This situation may come from an incomplete case statement (all selector values are not covered). You should carefully review if it was in your intentions to describe such a latch.
WARNING:Xst:737 - Found 1-bit latch for signal <s_9>.
INFO:Xst:2371 - HDL ADVISOR - Logic functions respectively driving the data and gate enable inputs of this latch share common terms. This situation will potentially lead to setup/hold violations and, as a result, to simulation problems. This situation may come from an incomplete case statement (all selector values are not covered). You should carefully review if it was in your intentions to describe such a latch.
WARNING:Xst:737 - Found 1-bit latch for signal <s_10>.
INFO:Xst:2371 - HDL ADVISOR - Logic functions respectively driving the data and gate enable inputs of this latch share common terms. This situation will potentially lead to setup/hold violations and, as a result, to simulation problems. This situation may come from an incomplete case statement (all selector values are not covered). You should carefully review if it was in your intentions to describe such a latch.
WARNING:Xst:737 - Found 1-bit latch for signal <s_11>.
INFO:Xst:2371 - HDL ADVISOR - Logic functions respectively driving the data and gate enable inputs of this latch share common terms. This situation will potentially lead to setup/hold violations and, as a result, to simulation problems. This situation may come from an incomplete case statement (all selector values are not covered). You should carefully review if it was in your intentions to describe such a latch.
WARNING:Xst:737 - Found 1-bit latch for signal <s_12>.
INFO:Xst:2371 - HDL ADVISOR - Logic functions respectively driving the data and gate enable inputs of this latch share common terms. This situation will potentially lead to setup/hold violations and, as a result, to simulation problems. This situation may come from an incomplete case statement (all selector values are not covered). You should carefully review if it was in your intentions to describe such a latch.
WARNING:Xst:737 - Found 1-bit latch for signal <s_0>.
INFO:Xst:2371 - HDL ADVISOR - Logic functions respectively driving the data and gate enable inputs of this latch share common terms. This situation will potentially lead to setup/hold violations and, as a result, to simulation problems. This situation may come from an incomplete case statement (all selector values are not covered). You should carefully review if it was in your intentions to describe such a latch.
WARNING:Xst:737 - Found 1-bit latch for signal <s_1>.
INFO:Xst:2371 - HDL ADVISOR - Logic functions respectively driving the data and gate enable inputs of this latch share common terms. This situation will potentially lead to setup/hold violations and, as a result, to simulation problems. This situation may come from an incomplete case statement (all selector values are not covered). You should carefully review if it was in your intentions to describe such a latch.
WARNING:Xst:737 - Found 1-bit latch for signal <s_2>.
INFO:Xst:2371 - HDL ADVISOR - Logic functions respectively driving the data and gate enable inputs of this latch share common terms. This situation will potentially lead to setup/hold violations and, as a result, to simulation problems. This situation may come from an incomplete case statement (all selector values are not covered). You should carefully review if it was in your intentions to describe such a latch.
WARNING:Xst:737 - Found 1-bit latch for signal <s_3>.
INFO:Xst:2371 - HDL ADVISOR - Logic functions respectively driving the data and gate enable inputs of this latch share common terms. This situation will potentially lead to setup/hold violations and, as a result, to simulation problems. This situation may come from an incomplete case statement (all selector values are not covered). You should carefully review if it was in your intentions to describe such a latch.
WARNING:Xst:737 - Found 1-bit latch for signal <s_4>.
INFO:Xst:2371 - HDL ADVISOR - Logic functions respectively driving the data and gate enable inputs of this latch share common terms. This situation will potentially lead to setup/hold violations and, as a result, to simulation problems. This situation may come from an incomplete case statement (all selector values are not covered). You should carefully review if it was in your intentions to describe such a latch.
WARNING:Xst:737 - Found 1-bit latch for signal <s_5>.
INFO:Xst:2371 - HDL ADVISOR - Logic functions respectively driving the data and gate enable inputs of this latch share common terms. This situation will potentially lead to setup/hold violations and, as a result, to simulation problems. This situation may come from an incomplete case statement (all selector values are not covered). You should carefully review if it was in your intentions to describe such a latch.
WARNING:Xst:737 - Found 1-bit latch for signal <s_6>.
INFO:Xst:2371 - HDL ADVISOR - Logic functions respectively driving the data and gate enable inputs of this latch share common terms. This situation will potentially lead to setup/hold violations and, as a result, to simulation problems. This situation may come from an incomplete case statement (all selector values are not covered). You should carefully review if it was in your intentions to describe such a latch.
pls,suggest for these warnings
 
Last edited by a moderator:

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top