mikrocontroller.net

Forum: FPGA, VHDL & Co. VHDL physikalische Datentypen


Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo leute ich habe folgendes Problem.
Ich moechte mir einen Datentyp 'current' fuer den Strom festlegen. Der 
Haken an der Sache ist, dass der Wertebereich von -10A bis +10A bei 
einer Aufloesung von 1nA gehen soll (also -1E10 bis 1E10). Fuer die 
deklaration wird aber integer verlangt (-2E9 bis 2E9).

ich habe es so versucht:
--------------------------------------------------
type current is range -1E10 to 1E10
  units nA;
    uA = 1000 nA;
    mA = 1000 uA;
     A = 1000 mA;
  end units;
--------------------------------------------------

Gibt es da irgendeine Moeglichkeit? Wie wird das bei 'time' geloest? Da 
geht der Wertebereich von -9E20 bis 9E20.

Viele Dank im vorraus

mfg

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank fuer die zahlreichen Antworten

Autor: Falk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Martin

>Vielen Dank fuer die zahlreichen Antworten

Das Forum (und seine Teilnehmer) ist nicht allwissend. Da musst du schon 
das Orakel von Delphi befragen.

MFG
Falk

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ein einfaches 'geht nicht' haette mir schon gereicht!

Autor: Falk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Martin

>ein einfaches 'geht nicht' haette mir schon gereicht!

Ich weiss nicht ob es nicht geht. Und ich weiss auch nicht wie es geht. 
Deshalb halte ich mich mit der Aussage "geht nicht" zurück. Allen 
anderen Mitlesern wird es ähnlich ergehen.

MfG
Falk

Autor: Stefan Hanke (stefanhanke)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schuß ins Blaue:
        -- predefined type TIME:

        type TIME is range -2147483647 to 2147483647
        -- this declaration is for the convenience of the parser.  Internally
        -- the parser treats it as if the range were:
        --      range -9223372036854775807 to 9223372036854775807
        units
                fs;                     -- femtosecond
                ps      = 1000 fs;      -- picosecond
                ns      = 1000 ps;      -- nanosecond
                us      = 1000 ns;      -- microsecond
                ms      = 1000 us;      -- millisecond
                sec     = 1000 ms;      -- second
                min     =   60 sec;     -- minute
                hr      =   60 min;     -- hour
        end units;

Das große Problem ist, dass der Parser "time" speziell behandelt. Damit 
hast du keine Chance, das gleiche Verhalten hervorzurufen. Der 
Ausschnitt hier ist aus der "standard.vhd" der ISE 9.1.

 -- stefan

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke fuer die antwort.

Also wenn ich das richtig verstanden hab dann kann ich fuer 
physikalische Datentypen lediglich den Wertebereich von integer nutzen. 
Dann muss ich wohl auf real umsteigen :(

trotzdem danke


mfg Martin

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
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
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 bestätigst du, die Nutzungsbedingungen anzuerkennen.