Search code examples
vhdlxilinx

LUT2 symbol has input signal which will be trimmed - can't find the solution


In my project two modules cannot work with each other.

The first one is

http://pastebin.com/hcwrWg11

and second:

http://pastebin.com/Lm6ZGGsU

The deal is, I want to plug 'A' and 'B' from 'maszyna2' to 'a' and 'b' from 'Liczby' and I got errors:

Section 1 - Errors

ERROR:MapLib:979 - LUT2 symbol "XLXI_59/q<0>1" (output signal=q_0_OBUF) has input signal "XLXN_238" which will be trimmed. See Section 5 of the Map Report File for details about why the input signal will become undriven.

ERROR:MapLib:979 - LUT2 symbol "XLXI_59/q<15>1" (output signal=q_15_OBUF) has input signal "XLXN_238" which will be trimmed. See Section 5 of the Map Report File for details about why the input signal will become undriven.

ERROR:MapLib:979 - LUT2 symbol "XLXI_59/q<16>1" (output signal=q_16_OBUF) has input signal "XLXN_238" which will be trimmed. See Section 5 of the Map Report File for details about why the input signal will become undriven.

ERROR:MapLib:979 - LUT2 symbol "XLXI_59/q<17>1" (output signal=q_17_OBUF) has input signal "XLXN_238" which will be trimmed. See Section 5 of the Map Report File for details about why the input signal will become undriven.

ERROR:MapLib:979 - LUT2 symbol "XLXI_59/q<18>1" (output signal=q_18_OBUF) has input signal "XLXN_238" which will be trimmed. See Section 5 of the Map Report File for details about why the input signal will become undriven.

ERROR:MapLib:979 - LUT2 symbol "XLXI_59/q<19>1" (output signal=q_19_OBUF) has input signal "XLXN_238" which will be trimmed. See Section 5 of the Map Report File for details about why the input signal will become undriven.

ERROR:MapLib:979 - LUT2 symbol "XLXI_59/q<1>1" (output signal=q_1_OBUF) has input signal "XLXN_238" which will be trimmed. See Section 5 of the Map Report File for details about why the input signal will become undriven.

ERROR:MapLib:979 - LUT2 symbol "XLXI_59/q<2>1" (output signal=q_2_OBUF) has input signal "XLXN_238" which will be trimmed. See Section 5 of the Map Report File for details about why the input signal will become undriven.

ERROR:MapLib:979 - LUT2 symbol "XLXI_59/q<3>1" (output signal=q_3_OBUF) has input signal "XLXN_238" which will be trimmed. See Section 5 of the Map Report File for details about why the input signal will become undriven.

ERROR:MapLib:979 - LUT2 symbol "XLXI_59/q<4>1" (output signal=q_4_OBUF) has input signal "XLXN_238" which will be trimmed. See Section 5 of the Map Report File for details about why the input signal will become undriven.

ERROR:MapLib:978 - LUT2 symbol "XLXI_59/q<0>1" (output signal=q_0_OBUF) has an equation that uses input pin I1, which no longer has a connected signal. Please ensure that all the pins used in the equation for this LUT have signals that are not trimmed (see Section 5 of the Map Report File for details on which signals were trimmed).

ERROR:MapLib:978 - LUT2 symbol "XLXI_59/q<15>1" (output signal=q_15_OBUF) has an equation that uses input pin I1, which no longer has a connected signal. Please ensure that all the pins used in the equation for this LUT have signals that are not trimmed (see Section 5 of the Map Report File for details on which signals were trimmed).

ERROR:MapLib:978 - LUT2 symbol "XLXI_59/q<16>1" (output signal=q_16_OBUF) has an equation that uses input pin I1, which no longer has a connected signal. Please ensure that all the pins used in the equation for this LUT have signals that are not trimmed (see Section 5 of the Map Report File for details on which signals were trimmed).

ERROR:MapLib:978 - LUT2 symbol "XLXI_59/q<17>1" (output signal=q_17_OBUF) has an equation that uses input pin I1, which no longer has a connected signal. Please ensure that all the pins used in the equation for this LUT have signals that are not trimmed (see Section 5 of the Map Report File for details on which signals were trimmed).

ERROR:MapLib:978 - LUT2 symbol "XLXI_59/q<18>1" (output signal=q_18_OBUF) has an equation that uses input pin I1, which no longer has a connected signal. Please ensure that all the pins used in the equation for this LUT have signals that are not trimmed (see Section 5 of the Map Report File for details on which signals were trimmed).

ERROR:MapLib:978 - LUT2 symbol "XLXI_59/q<19>1" (output signal=q_19_OBUF) has an equation that uses input pin I1, which no longer has a connected signal. Please ensure that all the pins used in the equation for this LUT have signals that are not trimmed (see Section 5 of the Map Report File for details on which signals were trimmed).

ERROR:MapLib:978 - LUT2 symbol "XLXI_59/q<1>1" (output signal=q_1_OBUF) has an equation that uses input pin I1, which no longer has a connected signal. Please ensure that all the pins used in the equation for this LUT have signals that are not trimmed (see Section 5 of the Map Report File for details on which signals were trimmed).

ERROR:MapLib:978 - LUT2 symbol "XLXI_59/q<2>1" (output signal=q_2_OBUF) has an equation that uses input pin I1, which no longer has a connected signal. Please ensure that all the pins used in the equation for this LUT have signals that are not trimmed (see Section 5 of the Map Report File for details on which signals were trimmed).

ERROR:MapLib:978 - LUT2 symbol "XLXI_59/q<3>1" (output signal=q_3_OBUF) has an equation that uses input pin I1, which no longer has a connected signal. Please ensure that all the pins used in the equation for this LUT have signals that are not trimmed (see Section 5 of the Map Report File for details on which signals were trimmed).

ERROR:MapLib:978 - LUT2 symbol "XLXI_59/q<4>1" (output signal=q_4_OBUF) has an equation that uses input pin I1, which no longer has a connected signal. Please ensure that all the pins used in the equation for this LUT have signals that are not trimmed (see Section 5 of the Map Report File for details on which signals were trimmed).

Section 2 - Warnings -------------------- WARNING:Security:42 - Your software subscription period has lapsed. Your current version of Xilinx tools will continue to function, but you no longer qualify for Xilinx software updates or new releases.

Section 3 - Informational ------------------------- INFO:Security:54 - 'xc3s500e' is a WebPack part. INFO:MapLib:562 - No environment variables are currently set.

Section 4 - Removed Logic Summary --------------------------------- 1 block(s) removed 2 block(s) optimized away 1 signal(s) removed

Section 5 - Removed Logic -------------------------

The trimmed logic reported below is either: 1. part of a cycle 2. part of disabled logic 3. a side-effect of other trimmed logic

The signal "XLXN_238" is unused and has been removed. Unused block "XLXI_62/next_state<0>" (ROM) removed.

Optimized Block(s): TYPE BLOCK GND XST_GND VCC XST_VCC

To enable printing of redundant blocks removed and signals merged, set the detailed map report option and rerun map.


Solution

  • Your problem is due to the fact that A and B never change.

    This is because in your 'maszyna2' file:

    PROCESS(ABC_LOG);
      BEGIN
        A <= AB_a;
        B <= AB_b;
        L <= LICZBA;
    END PROCESS;
    

    A and B get assigned the value when an event occurs with the ABC_LOG signal.

    process2 : process (clk)
                   begin
                  ABC_LOG <= not ABC_LOG;
    

    ABC_LOG changes everytime there's an event in the clk signal. However, ABC_LOG has never been initialized. This means that ABC_LOG will never change.

    Also, since you didn't state the requirement for the change in 'process2', all signals inside that process will be update in both clock edges (rising and falling). While this is possible, it's not a good idea to have a dual edge clock as I'm not sure that the board you're targeting at can properly handle it. I'd suggest you to add

    if rising_edge( clk ) then
      ...
    end if;
    

    statement encapsulating your process2.