VHDL physikalische Datentypen

Gast #529178
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
Gast #532412
@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
Gast #532424
@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
#532666
Schuß ins Blaue:
1
        -- predefined type TIME:
2

3
        type TIME is range -2147483647 to 2147483647
4
        -- this declaration is for the convenience of the parser.  Internally
5
        -- the parser treats it as if the range were:
6
        --      range -9223372036854775807 to 9223372036854775807
7
        units
8
                fs;                     -- femtosecond
9
                ps      = 1000 fs;      -- picosecond
10
                ns      = 1000 ps;      -- nanosecond
11
                us      = 1000 ns;      -- microsecond
12
                ms      = 1000 us;      -- millisecond
13
                sec     = 1000 ms;      -- second
14
                min     =   60 sec;     -- minute
15
                hr      =   60 min;     -- hour
16
        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
Gast #533104
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

Eine eigene Frage? Dieser Thread ist über 19 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.