eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaVHDL - typy. Problem :(
Ilość wypowiedzi w tym wątku: 13

  • 11. Data: 2011-05-29 04:14:27
    Temat: Re: VHDL - typy. Problem :(
    Od: Piotr <b...@b...pl>

    W dniu 2011-05-28 10:38, Michoo pisze:
    > W dniu 27.05.2011 18:08, Piotr pisze:
    >> Dziękuję. Już sobie poradziłem z tym problemem. Błąd leżał w zakresie
    >> integer'a. Nie może być tak, że łącze wyjsce vectorowe z wejściem
    >> integer i integer ma mniejszy zakres niż można zapisać na vectorze i
    >> odwrotnie.
    > Namieszałeś:


    Nie chodzilo mi o to, zeby polaczyc tak "bezposrednio". Dalej niestety
    nie wiem czemu to nie dziala. Nie zamieszczam calego kodu. Tylko to co
    jest zle. :(

    entity IntegerNaVector is port (
    we: in integer range 128 downto -127;
    wy: out std_logic_vector(7 downto 0));
    end entity IntegerNaVector;

    W procesie w architecture mam:

    wy <= std_logic_vector(conv_signed(we, 8)); -- zle :(



    Nie udalo mi sie tego w zaden sposob ominac. Port "we" na schemacie
    graficznym ma bity 0:6 - czyli 7 bitów. Nie wiem dlaczego tak jest. :(
    Przeciez to jest 256 wartosci. :(

    Pozdrawiam
    Piotr


  • 12. Data: 2011-05-29 15:10:54
    Temat: Re: VHDL - typy. Problem :(
    Od: Konop <k...@g...pl>

    W dniu 2011.05.29 06:14, Piotr pisze:
    > W dniu 2011-05-28 10:38, Michoo pisze:
    >> W dniu 27.05.2011 18:08, Piotr pisze:
    >>> Dziękuję. Już sobie poradziłem z tym problemem. Błąd leżał w zakresie
    >>> integer'a. Nie może być tak, że łącze wyjsce vectorowe z wejściem
    >>> integer i integer ma mniejszy zakres niż można zapisać na vectorze i
    >>> odwrotnie.
    >> Namieszałeś:
    >
    >
    > Nie chodzilo mi o to, zeby polaczyc tak "bezposrednio". Dalej niestety
    > nie wiem czemu to nie dziala. Nie zamieszczam calego kodu. Tylko to co
    > jest zle. :(
    >
    > entity IntegerNaVector is port (
    > we: in integer range 128 downto -127;
    > wy: out std_logic_vector(7 downto 0));
    > end entity IntegerNaVector;
    >
    > W procesie w architecture mam:
    >
    > wy <= std_logic_vector(conv_signed(we, 8)); -- zle :(
    >
    >
    >
    > Nie udalo mi sie tego w zaden sposob ominac. Port "we" na schemacie
    > graficznym ma bity 0:6 - czyli 7 bitów. Nie wiem dlaczego tak jest. :(
    > Przeciez to jest 256 wartosci. :(

    Tak naprawdę, to jest to 255 wartości, ale w typowym zapisie U2, to to
    będzie 9 bitów :)... powinieneś dać 127 downto -128. Choć oczywiście to
    nie wyjaśnia ani nie rozwiązuje problemu. W tym Ci nie pomogę, bo to
    powód, dla którego przestałem lubieć VHDLa na rzecz Veriloga ;)...


    --
    Pozdrawiam
    Konop


  • 13. Data: 2011-06-11 21:32:39
    Temat: Re: VHDL - typy. Problem :(
    Od: "j...@g...com" <j...@g...com>

    On 29 Maj, 06:14, Piotr <b...@b...pl> wrote:
    > W dniu 2011-05-28 10:38, Michoo pisze:
    >
    > > W dniu 27.05.2011 18:08, Piotr pisze:
    > >> Dziękuję. Już sobie poradziłem z tym problemem. Błąd leżał w zakresie
    > >> integer'a. Nie może być tak, że łącze wyjsce vectorowe z wejściem
    > >> integer i integer ma mniejszy zakres niż można zapisać na vectorze i
    > >> odwrotnie.
    > > Namieszałeś:
    >
    > Nie chodzilo mi o to, zeby polaczyc tak "bezposrednio". Dalej niestety
    > nie wiem czemu to nie dziala. Nie zamieszczam calego kodu. Tylko to co
    > jest zle. :(
    >
    > entity IntegerNaVector is port (
    >         we: in integer range 128 downto -127;
    >         wy: out std_logic_vector(7 downto 0));
    > end entity IntegerNaVector;
    >
    > W procesie w architecture mam:
    >
    > wy <= std_logic_vector(conv_signed(we, 8)); -- zle :(
    >
    > Nie udalo mi sie tego w zaden sposob ominac. Port "we" na schemacie
    > graficznym ma bity 0:6 - czyli 7 bitów. Nie wiem dlaczego tak jest. :(
    > Przeciez to jest 256 wartosci. :(
    >

    Tutaj przydałby się cały kod tego modułu.
    Nie wiemy jakie biblioteki dołączyłeś - signed | unsigned?
    No i tak jak kolega Konop napisał 128 w U2 to jest liczba 9-bitowa :)

    Poza tym zachęcam w definicji portów do używania typów std_logic,
    ewentualnie record lub array ale składających się z std_logic,
    wszelkie konwersje wewnątrz komponentów!!! Nie utrudniajmy pracy
    syntezerom.

    Pozdrawiam,

    Jerzy Gbur

strony : 1 . [ 2 ]


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: