www.mikrocontroller.net

Forum: FPGA, VHDL & Co. Frage zu std_logic_vector(unsigned.


Important announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: M. K. (marc1234)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Hallo,
ich beschäftige mich zur Zeit mit VHDL und FPGAs und habe eine 
Verständnisfrage zu einem Code von Lother Miller

http://www.lothar-miller.de/s9y/archives/57-Sinusa...

Die zeile verstehe ich noch nicht:

  sinusplusoffset <= std_logic_vector(unsigned(sinus)+to_unsigned(128,8)); 


warum macht man dort unsigned(sinus) ?

das + to_unsigned(128,8) erstellt mir ein 8 Bit Signal welches den 
dezimal wert 128 hat, oder?

gruß

Autor: Peter K. (pek)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Der Operator "+" ist für unsigned definiert, nicht aber für 
std_logic-vector.

Wenn Du das Casten nicht willst, einfach generell unsigned benutzen.

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite Flattr this
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Marc K. schrieb:
> warum macht man dort unsigned(sinus) ?
"Man" macht das dort, weil "man" mit uneingeschränkten Vektoren wie 
std_logic_vect nicht rechnet!
Und weil sinus als std_logic_vector definiert ist, muss der für die 
Addition erst mal nach unsigend umgewandelt werden.

> das + to_unsigned(128,8) erstellt mir ein 8 Bit Signal welches den
> dezimal wert 128 hat, oder?
Das '+' addiert einen 8-Bit unsigned Wert, der aus einem integer 
(128) erzeugt wurde, zum sinus dazu.

Sieh dir das mal an:
http://www.lothar-miller.de/s9y/archives/14-Numeric_Std.html

Autor: Clemens M. (panko)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Aus der entity DDFS kommt der Sinus Wert als std_logic_vektor, der aber 
einen signed Repräsentiert.
Für die pwm wird das Ganze in den positiven Bereich verschoben. Also 
entsprechend der halben Amplitude, nämlich 128. Macht ja sonst auch 
keinen Sinn.
Ist das vielleicht die Frage? und eine Antwort ;-)

Autor: M. K. (marc1234)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
vielen dank für die schnellen antworten :-) jetzt hab ich es auch 
verstanden

ist eigentlich logisch :-)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel




Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder GIF-Format hochladen.
Siehe Bildformate
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken erkennst du die Nutzungsbedingungen an.

webmaster@mikrocontroller.netImpressumNutzungsbedingungenWerbung auf Mikrocontroller.net