Gibt es das auch in VHDL? a>0?1:(-1)

Moderator (Firma: Titel) Persönliche Seite #1380107
Lesenswert?

1
  if ((a>0?1:(-1))!=((b>0?1:(-1))
Diese Zeile ist schon in C absoluter Hirnriss!
Das hat noch gar nichts mit VHDL zu tun.

Diese Zeile könntest du auch so schreiben:
1
  if ( (a>0) != (b>0) )

Also steht da: wenn der eine größer 0 ist, aber der andere 
kleiner/gleich 0, dann mach das, was folgt.
Das wäre dann also in C
1
  if ( ((a>0)&&(b<=0)) || ((a<=0)&&(b<0)) )

Das wäre dann also in VHDL
1
   if ((a>0 and b<=0) or (a<=0 and b>0)) then


BTW:
wenn du den triffst, der diesen Originalcode geschrieben hat, gratuliere 
ihm zum trickreichsten, undurchsachulichsten Programmierstil, oder 
(alternativ) gib ihm eine auf die Nase   ;-)

EDIT:
Pech, Zweiter ...  :-(
Moderator (Firma: Titel) Persönliche Seite #1380126
Lesenswert?

> Naja, in a bzw b soll auch 1 bzw. -1 stehen.
Wird es aber nicht. Das Zwischenergebnis der Berechnung wird schon im 
C-Code einfach verworfen. Sonst müsstest du schreiben:
1
  if ( (a=(a>0?1:(-1))) != (b=(b>0?1:(-1))) )

> Ich werde also mit for... ein paar mal drübergehen.
In VHDL?
Du weißt schon, was eine for-Schleife in VHDL macht?

EDIT:
@ Entwickler:
Leider nur Dritter... :-o
Gast #1380184
Lesenswert?

Schön wie man in diesem Forum gleich angegriffen wird. Wie schon einmal 
gesagt, ich bin ein Anfänger. Wenn ich etwas dazulernen kann mache ich 
das auch wenn ich dadurch viel Arbeit habe. Einige der anwesenden 
Personen dürften mit perfektem VHDL Wissen auf die Welt gekommen sein 
und verstehen das nicht.

Es tut mir leid, dass ich die Idee hatte mich an ein Forum zu wenden. 
Keine Angst, ich werde das sicher nie wieder tun.

@Chris: Was soll ich Deiner Meinung nach machen? Meinem Chef sagen er 
soll jemanden einstellen der das super kann wenn er mir die Chance gibt 
es zu lernen?
Gast #1380232
Lesenswert?

Eines der ganz wichtigen Designziele bei VHDL war die eindeutige und 
übersichtliche Beschreibung des Quelltextes allein schon "durch sich 
selbst" - also die Syntax. Derartige Konstrukte aus dem Gruselkabinett 
schlechter C-Programmierer sollen damit vermieden werden.

Im Übrigen schließe ich mich den Vorrednern an: Bitte mache Dir erstmal 
klar, was der Unterschied zwischen Softwareprogrammierung und 
Hardwarebeschreibung ist. Dann lösen sich auch solche Fragen ganz 
schnell in Wohlgefallen auf. ;)
Moderator (Firma: Titel) Persönliche Seite #1380323
Lesenswert?

@  Gabriel
> Es tut mir leid, dass ich die Idee hatte mich an ein Forum zu wenden.
> Keine Angst, ich werde das sicher nie wieder tun.
Es wird dir nicht helfen, wenn du wegen eines (deiner Meinung nach) 
ruppigen Tons jetzt sagst: die sind doch doof, ich werde das schon 
können.

Sieh dir mal deinen Original-Post an:
>>>> Ich kenne diesen Befehl nur aus C und würde ihn in VHDL benötigen.
>>>> (a>0 ? 1:(-1))
>>>> Gibt es so etwas??
Hätte damals einer vermuten können, worauf das Ganze rausläuft?


> Was soll ich Deiner Meinung nach machen? Meinem Chef sagen er
> soll jemanden einstellen der das super kann wenn er mir die Chance
> gibt es zu lernen?
Dann soll dich dein Chef auf ein entsprechendes VHDL-Seminar schicken. 
Und auch nach diesem Seminar wirst du noch weit weg von der direkten 
Umsetzung eines C-Codes auf eine VHDL-Beschreibung sein. Aber durch den 
Kurs wirst du nicht an jedem kleinen Kiesel stolpern...

> Was soll ich Deiner Meinung nach machen?
Das kommt darauf an, welchen Zeitrahmen du hast...

> Was soll ich Deiner Meinung nach machen?
Das kommt darauf an, was du bisher gemacht hast...

Als grobe Zeitplanung:
wenn du bisher noch kein VHDL und kein FPGA verwendet hast, dann wirst 
du frühestens zum ersten Schnee was Sinnvolles herausbekommen. Und wenn 
die Blumen wieder blühen wirst du verstehen, was in der Hardware noch 
klemmt...

Das solltest du deinem Chef auf jeden Fall klarmachen.


@  max (Gast)
> in c würde es wohl eher so ausschaun:
Leider nur Vierter  ;-)
Moderator (Firma: Titel) Persönliche Seite #1380522
Lesenswert?

Gabriel schrieb:
> Habe mit meinem Chef gesprochen und er hat eingesehen, dass er einen
> Fehler gemacht hat.
Das ist mal nicht der schlechteste Chef. Manche sehen sowas nicht ein.

> Nein, er holt einen Spezialisten der meine Arbeit macht.
Hast du deinem Chef evtl. zuviel versprochen?

> Nein, er holt einen Spezialisten der meine Arbeit macht.
Sei doch ehrlich zu dir selbst:
du hättest (derzeit) die Arbeit doch gar nicht machen können.

> Nein, er holt einen Spezialisten der meine Arbeit macht.
Und das nur wegen ein paar Posts in einem Forum?

> Nein, er holt einen Spezialisten der meine Arbeit macht.
Falls der gut ist, und du noch lange genug in der Firma bist, kannst du 
einiges lernen.

> Spätestens Montag erfahre ich ob ich noch einen Job habe oder nicht.
So, dann wäre ich, der ich meine Zeit darauf verwendet habe, dir helfen 
zu wollen, mit Schuld daran, dass du auf der Strasse sitzt? Ist das 
deine tiefe innere Überzeugung? Sind immer die Anderen schuld? Oh, 
Mann...
Gast #1380771
Lesenswert?

@Gabriel:

10:32 - erstes Post
13:38 - Chef sucht jemand anders

Das alles in 3 Stunden!

In welchem Bundesland wird denn der "Spezialist" gesucht?
Die wachsen nämlich nicht auf Bäumen...

Kleiner Tipp:
Versuche doch erstmal alles etwas besonnener anzugehen. Dann bleibt dir 
in Zukunft sowas erspart. Und bloß nicht alles gleich persönlich nehmen!

Der Besucher
Gast #1380785
Lesenswert?

Nachtrag:

Vielleicht liegt ja deine Stärke dadrin den eigentlichen Algorythmus aus 
dem Programmcode zu extrahieren und in eine allgemeinere 
Darstellungsform zu bringen. Das würde dem "VHDL-Spezialisten" 
sicherlich ungemein helfen, da er eben auf VHDL und nicht auf C 
spezialisiert ist.
Und deinem Chef hilft es auch, da dann die Umsetzung schneller von 
statten geht. Nur mal so als kleiner Tipp.

Der Besucher
Gast #1381048
Lesenswert?

>Habe mit meinem Chef gesprochen und er hat eingesehen, dass er einen
>Fehler gemacht hat. Er wird einen Spezialisten holen und überlegt sich
>wohin er mich gibt. Spätestens Montag erfahre ich ob ich noch einen Job
>habe oder nicht.
>
>Damit gehe ich Euch nicht mehr auf die Nerven.

Na super! Du sollst etwas aus C in eine HW umsetzen, hast keine Ahnung 
wie das geht (ich rede hier nicht von VHDL oder Verilog, vorher musst du 
erstmal begreifen 'wie' HW im Vergleich zu SW tickt!) und machst dann 
den Leuten hier noch ein schlechtes Gewissen!

Und als Eingangspost schmeisst du ein einzelnes C-Statement in den Raum 
und beschwerst dich ueber Loesungen/Tipps/Tricks die dir Leute geben, 
die mit sowas tagtaeglich zu tun haben...

Kopfschuettel...

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