Rechenfehler mit unsignd und integer constante

Gast #1326365
Lesenswert?
• ▲
▼
Hallo,

der folgende Code gibt mit modelsim eine Rechenfehler. Wenn row 1 ist, 
dann ist row_offset 759, wie es sein sollte. test ist aber 247, warum?


port (
row          : in std_logic_vector(8 downto 0);
 );

test: process(n_reset, clk )


        variable test       : unsigned(18 downto 0);
        variable row_offset       : unsigned(18 downto 0);

    begin
        if (n_reset = '0') then

        elsif(rising_edge(clk))then

                row_offset  :=(to_unsigned((758+1),10)*unsigned(row));
                test        :="0"&((758+1)*unsigned(row));

        end if;
    end process;

Ich hoffe einer hat eine Erklährung

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren