14 Treffer gefunden
|
Suchdauer: 0,02 Sekunden
|
|
Betreff |
Autor |
Datum |
|
Re: Was ist hier falsch?
hört sich im ersten augenblick gut an, aber .....
hmm jetzt komm ich ins grübeln...muss mir das nochmals anschauen, ob das so geht...bin grad auf arbeit und habe grad ein anderes projekt...mal heute mittag anschauen, wenn ich mehr zeit habe.
wäre aber nett wenn du mal meinen code anschauen könntest.
greez
|
nobbe |
31.01.06, 08:51 |
|
Re: [gelöst] Was ist hier falsch?
ich habe da mal wieder das gleiche problem mit dem divid ...
habe schon verschiedenes versucht, aber ich finde keine lösung....
vielleicht findet ihr ja eine
ich habe eine schleife, wo zu einer variavle "zaeh_ges" immer +1 addiert wird, danach soll in einem andere process ein pwm erzeugt werden, mit folgender bedingung
"frequenz_count * 100 <(5000000 / zaeh_ges) * zaeh_up)"
habe jetzt auch schon so versucht:
"frequenz_count*100*zaeh_ges < 5000000 * zaeh_up" da das ja das letzte mal ja ausch schon geklappt hat(siehe oben)...aber irgendwe hat es sich in mir schon gestreubt, da es ja ein "<" ist und kein "="
Die 5000000 kommen daher, das ich ja die Milisekunden haben will und ich das Signal mit einer CLK von 5000000 abtaste.
Also "Zeit = gezaehlte_impulse / Abtastrate"
momenat steht alles noch in einer architecture, habe mir aber schon überlegt ob es was bringen würde, wenn ich die einzelnen processe in eine eigene architecture legen würde.
Ich hoffe ihr versteht wo mein problem ist....
hier ist mal der gesammte code...bis auf teile, die in diesem fall nicht relevant sind (also nicht über das entity wundern)
greez
nobbe
|
nobbe |
29.01.06, 15:49 |
|
Re: Was ist hier falsch?
ja ok, das ist eine idee... die tzut auch, habe ich total übersehen...sorry.
jetzt wollt ich grad noch nen großes aber sagen, aber mir ist gerade die lösung für mein nextes problem eingefallen...man macht das spaß wenn man endlich selber auf die lösungen kommt ;)
danke für eure hilfe!
greez
|
nobbe |
24.01.06, 23:50 |
|
Re: Was ist hier falsch?
ok...welches buch hast du denn?
so hab jetzt mitlerweile das nexte problem:
Bekomme folgenden Fehler:
[quote]Analyzing Entity (Architecture ).
ERROR:Xst:769 - "D:/geschäft/05027/scripte/PWM_OUT_V1.0/main.vhd" line 76: Operator must have constant operands or first operand must be power of 2[/quote]
soweit ich das rausgelesen habe hat er ein problem das ich folgendes mache:
[quote]
DIP1_int := to_integer(unsigned(DIP1));
pulsdauer := 6 * DIP1_int;
DIP2_int := to_integer(unsigned(DIP2));
frequenz := 6 * DIP2_int;
.
.
.
if frequenz_count < ((frequenz / 100)* pulsdauer) then
.
.
[/quote]
darf ich die zahl nur einmal verändern, oder ist sie zu groß zum dividieren?
was kann da machen? gibt es einen zahlentyp, der auch kommas kann? dann könnt ich statt durch 100 zu teilen einfach nur mit 0,06 multiplizieren
hier der volle code im anhang
|
nobbe |
24.01.06, 22:24 |
|
Re: Was ist hier falsch?
während ich den post geschrieben habe ist mir ein licht aufgeangen.....
habs jetzt rausgefunden, warum das bei mir net getan hat, habe aus dem bit_vector jetzt mal ein std_logic_vector gemacht und scho tuts....
jetzt muss mir das nur noch jemand erklären.
|
nobbe |
24.01.06, 20:57 |
|
Was ist hier falsch?
Hi Leute ich bekomme immer folgenden Fehler wenn ich meine Schaltung syhtentisieren willl:
[quote]Compiling vhdl file "D:/geschäft/05027/scripte/PWM_OUT/main.vhd" in Library work.
Entity compiled.
ERROR:HDLParsers:854 - "D:/geschäft/05027/scripte/PWM_OUT/main.vhd" Line 51. The expression can not be converted to type unsigned.[/quote]
Code sind folgendermaßen in Line 51 aus
[quote]dip_int := to_integer(unsigned(Dip));[/quote]
Die "dip_int" ist als variable integer und der "DIP" als "bit_vector(3 downto 0);" defeniert.
Hat da jemand eine Idee?
Habe mal den ganzen Code angehängt...
(Ich hatte das Thema schon mal im Anfängerforum, aber da habe ich nicht gewusst wie's geht, jetzt habe ich ja nen Fehler im Syntax, deshalb jetzt hier )
Hoffe Ihr könnt mir helfen!
greeez
|
nobbe |
24.01.06, 20:51 |
|
Re: mehr als 3x Variable ändern
hmm...
hab den code mal ausprobiert, es tut zwar jetzt, habe aber einen dc-offset, und mein fpg wird sau heiß...naja ich glaube da stimmt was noch net, habe das mit dem vecotr aber jetzt begriffen und werd bei gelgenheit das mal versuchen selber zu schreiben...
aber das mit dem umformen...muss da wohl mal in google schauen, obs da ne gute erklärung gibt
greez
|
nobbe |
17.01.06, 22:07 |
|
Re: mehr als 3x Variable ändern
ok, das muss ich dann mal heute abend ausprobieren, auf arbeit habe ich kein board dabei ;)
aber das mit dem "to_integer(unsigned(Dip))" habe ich noch nie gerhört, steht auch nicht in der syntax.pdf die ich habe.
liegt wahrscheinlich daran, das es in der "IEEE.numeric_std.ALL;" enthalten ist. gibts draüber auch eine syntax-beschreibung?
und soweit ich den code verstanden habe muss ich jetzt in der *.ucf datei dann stat "dip1" z.B. "dip(0)" schreiben oder?
aber was ich nicht verstehe warum du mir auch die LED's in ein vector gemacht hast.
greez
|
nobbe |
17.01.06, 12:23 |
|
Re: mehr als 3x Variable ändern
hmm..jetzt tuts gar nicht mehr :(
und was muss ich mir genau unter einem "std_logic_vector" vorstellen?
ist das eine art array?
hmmm... ich verstehe den folgenden zeile nicht ganz, kannst du die mir erklären?
"pulsdauer := 6 * to_integer(unsigned(dip_int));"
hoffe die fragen sind nicht zu "dumm"
greez
|
nobbe |
16.01.06, 19:47 |
|
Re: mehr als 3x Variable ändern
Hallo!
Das ist ja grad das komschie, im Simulator tut das wunderbar...
Aber wie würde das mit dem "std_logic_vector" aussehen? Kann mir das grad nicht vorstellen.
greez
|
nobbe |
16.01.06, 15:21 |
|
Re: mehr als 3x Variable ändern
ja wie? hat hier keine eine idee woran das liegen könnte?
es liegt aber nicht an der hardware, denn wenn ich z.b. den dip4 wieder einkommentiere und dafür den 3er raus mache tut es auch :(
greez
|
nobbe |
16.01.06, 12:27 |
|
mehr als 3x Variable ändern
Hallo Leute!
im Vorraus : Bin nen Anfänger.
Ich habe ein Problem mit VHDL und einem FPGA. Ich will ein PWM
erzeugen, bei welchem ich mit 4 Schaltern die Pulsdauer änern kann.
Das PWM erzeugen funzt, wenn ich nur 3 Schalter benutze/programmiere
tut es auch(Bild1), aber sobald ich den 4ten hinzufüge -> seht selbst
(Bild2/3) (die Doppelbalken im Bild3 kommen vom Oszi, ist nicht mehr
das beste)
Habt Ihr eine Ahnung warum?
Auf mich macht es den Eindruck, das ich eine Varaible nicht mehr als
3mal ändern kann. Kann das sein???
Bilder und Code sind in der Zip
greez Nobbe
|
nobbe |
15.01.06, 14:26 |
|
Re: VHDL-Befehlsliste
Nach sehr langem Suchen habe ich doch noch eine Liste gefunden...
[url]http://users.etech.haw-hamburg.de/users/reichardt/VHDLSynt.pdf[/url]
Aber für ein gutes Tutorial wäre ich immer noch danbar. :cool:
mfg
nobbe
|
nobbe |
20.07.05, 11:52 |
|
VHDL-Befehlsliste
Hallo Leute!
Ich habe nach langem googlen dieses Forum gefunden und hoffe, das Ihr mir weiterhelfen könnt.
Ich suche nach einer Befehlsliste/Übersichtsliste von VHDL, also was z.B. := oder <= usw. bedeutet. Ich kenn solche Listen von C oder Assambler, habe aber noch keine für VHDL gesehen.
Wie ihr sicherlich an der obigen Frage seht, bin ich noch ein sehr, sehr blutiger Anfänger und suche deshalb noch ein gutes Tutorial (am besten auf Deutsch). Die, die ich bis jetzt gefunden habe, sind auf English und/oder steigen mir gleich ein wenig zu hoch ein. Ich glaube ich brauche eins, welches mir wirklich von Anfang (am besten noch mit Übungen) VHDL beibringt, bzw. mit dem ich mir VHDL bebringe(muss man wohl sagen). :)
Vielen Dank schon im Vorraus!
gruß
Nobbe
|
nobbe |
19.07.05, 16:40 |
|
|
|
14 von 14 Ergebnisse
|
Anfang
zurück
weiter
Ende
|
powered by carookee.com - eigenes profi-forum kostenlos
Design © trevorj
|