Gast
#1380030
Ich kenne diesen Befehl nur aus C und würde ihn in VHDL benötigen.
1 | |
Gibt es so etwas?? DANKE
|
Anzeige
|
Gibt es das auch in VHDL? a>0?1:(-1)
Gast
#1380030
Ich kenne diesen Befehl nur aus C und würde ihn in VHDL benötigen.
Gibt es so etwas?? DANKE
Gast
#1380036
if a > 0 x <= 1 else x <= -1
Gast
#1380040
und einfacher? das soll in einer if Abfrage stehen.
Gast
#1380054
Was ist daran einfacher ?
> if ((a>0?1:(-1))!=((b>0?1:(-1))
Das ist so was von überflüssig blöd, das schreit förmlich nach einem
Grundkursbesuch.
Gast
#1380083
Lieber Meister des VHDL! Nicht jeder ist so toll wie du! Ich habe leider nur diese Lösung gefunden und würde sie gerne in VHDL umsetzen. Die Frage dazu war ob das geht nicht ob ich mich gut auskenne oder ob Du besser bist als ich. Würde ich in VHDL sehr erfahren sein würde ich nicht um Hilfe bitten.
Gast
#1380088
Das ist trotzdem Blödsinn. Drösel das in zwei Variablen auf oder so, kostet im FPGA nix. Oder mach mal ein KV-Diagramm mit den Zuständen.
Gast
#1380091
Das ist absoluter Murksstil und nein es gibt keinen solchen Operator in VHDL, aber man kann das ohne weiteres mit einem (einfach zu lesenderen) if-Konstrukt bauen
Gast
#1380096
Nachtrag:
> if ((a>0?1:(-1))!=((b>0?1:(-1))
Man könnte auch einfach
schreiben. Ich kann leider kein VDHL, dürfte aber etwa so aussehen:
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:
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
Das wäre dann also in VHDL
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 ... :-(
Gast
#1380113
Naja, in a bzw b soll auch 1 bzw. -1 stehen. Das Ganze wird mit einem Array durchgeführt. Ich werde also mit for... ein paar mal drübergehen. Deshalb wollte ich das so machen. Ich fürchte mir wird nichts übrigbleiben als vorher die Werte zuzuweisen und dann abzufragen. Danke für die Hilfe
Gast
#1380118
Ich glaube wenn ich meinen Chef schlage hat er mich nicht mehr lieb gg Der Code geht über 4 A4 Seiten und ich versuche das in VHDL zu lösen. Schwierig aber ich kann eine Menge lernen!!
Gast
#1380121
if ( (a>0) != (b>0) ) > 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:
> 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
#1380143
Der schlimmste Fehler, den man mit VHDL machen kann, ist zu versuchen, C-Code (oder Code einer beliebeigen anderen normalen Programmiersprache) eins zu eins in VHDL umzusetzen! Ganz besonders schlimm ist dieser Fehler als Anfänger, da man dann gleich mit ner ganz falschen Sichtweise an das Thema VHDL ran geht. Und urigerweise dauert es ziemlich lange, bis es demjenigen Anfänger dann auffällt, dass er (bildlich gesprochen) mit 180 auf eine massive Betonwand zudonnert :-o Oha, eine For-Schleife aus C in in VHDL umsetzen. Lerne erst mal Kombinatorik und denke in FlipFlops, dann lerne VHDL, dann versuch zu verstehen, was der C Code macht und erst dann kannst du eine Hardware mit VHDL beschrieben, die etwas ähnliches macht.
Gast
#1380166
Das da (a>0?1:(-1))!=((b>0?1:(-1) ist =8-o Das da a>0?1:(-1) geht zwar nicht in VHDL, dafür aber in Verilog, das die Syntax von Ausdrücken im Wesentlichen von C geerbt (und erweitert) hat. Du brauchst also dein Design nur nach Verilog zu portieren, dann kommst du auch in den Genuss seiner im Vergleich zu VHDL deutlich knackigeren Syntax ;-)
Gast
#1380184
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
#1380198
Wie wäre es mal mit einem kleinen Wettewerb um die unleserlichste Beschreibung in VHDL? Am besten es gibt ein kleines Vorgabedesign, das bei gleicher Funktionalität, möglichste undurchschaubar beschrieben werden soll. :) Der Besucher
Gast
#1380218
in c würde es wohl eher so ausschaun: if ((a>0)!=(b>0))
Gast
#1380224
> Was soll ich Deiner Meinung nach machen? Wurde dir schon gesagt: Ein VHDL Grundlagenbuch holen und lesen und verstehen. Erst begreifen, was VHDL ist, dann versuchen, etwas in VHDL zu formulieren (und dann kontrollieren, welcher Murks dabei rauskommt).
Gast
#1380232
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. ;) @ 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 ;-)
Gast
#1380403
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.
Gast
#1380410
kannst ja vielleicht eine Schulung rausschlagen ...
Gast
#1380429
Gabriel schrieb:
> Damit gehe ich Euch nicht mehr auf die Nerven.
Na Gottseidank, so viel Selbstmitleid erträgt kein Mensch
Gabriel schrieb: > 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. Wenn du ungeschickt verhandelt hast, zur ARGE. Wenn du geschickt verhandelt hast, zu PLC2 o.ä. zu einem VHDL Kurs, das nutzt allen.
Gast
#1380461
Nein, er holt einen Spezialisten der meine Arbeit macht. 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... Lothar Miller schrieb: > Das wäre dann also in VHDL > if ((a>0 and b<=0) or (a<=0 and b>0)) then Ein XOR hätte es da auch getan. > Ein XOR hätte es da auch getan.
Ja, das steht im C-Code schon da (ein != ist ein Exor)
Aber ich dachte, Christian wäre mehr geholfen, wenn er verstanden hätte,
was da eigentlich im C-Sourcecode dasteht.
Aber wie man sieht: Denken kann Fehlen... ;-)
Lothar Miller schrieb:
> ... Christian wäre mehr geholfen ...
Typo: soll heißen Gabriel
Gast
#1380771
@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
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
>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 schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|