VHDL physikalische Datentypen

Gast #529178
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
Gast #532424
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
#532666
Lesenswert?

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
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

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