VHDL-Forum

 
Sie sind nicht eingeloggt.
LoginLogin Kostenlos anmeldenKostenlos anmelden
BeiträgeBeiträge MembersMitglieder SucheSuche HilfeHilfe
VotesUmfragen FilesDateien CalendarKalender BookmarksBookmarks
VHDL-Forum
8 Treffer gefunden
Suchdauer: 0,01 Sekunden
VHDL-Forum Anfang   zurück   weiter   Ende
   Betreff   Autor   Datum 
No new posts Re: # ** Error: (vsim-3601) Iteration limit reached at time 0 ns.
Hallo LukeS, poste doch mal Deinen Code - aber keie 35 MB we das Projektfile - nur das VHDL. Hast Du irgendwo ne loop, die immer wieder durchlaufen wird, ohne dass Zeit vergeht (ausser delta delays). Sowas in der Art: 2 concurrent assingments: a <= b+1; b <= a+1; Gruss, Alex
Alex 16.07.06, 23:43
No new posts Re: Zähler
Hi Oliver, hier fehlt die Initialisierung. Std_Logic ist per default immer 'x'. Für die Simulation wäre das ok: signal STIM_OUT_SIG: std_logic_vector (5 downto 1) := (OTHERS => '0'); Besser ist aber, nen Reset zu verwenden (und nen clock, der dann den Prozess mit dem Zähler triggert ... Gruss, Alex
Alex 05.07.06, 16:06
No new posts Re: Mehrere Entities miteinander verknüpfen
Hallo LukeS, Du musst dazu ne Component erstellen von dem Modul, das du instanziieren willst und dieses dann in der darüberliegenden Entity instanziieren ... Am besten mal in ein Buch oder Tutorial reinschauen, wie man strukturelle Beschreibungen macht - dont sind i.d.R. auch entsprechende Beispiele. Siehe z.B. www.vhdl-online.de -> Tutorial, Kapitel 2.2, VHDL Structural Elements. Kapitel 2.2.7 und 2.2.8 beschreibt das ganze ganz gut als Beispiel. Oder sicher auch in dem VHDL-Kompakt-Dokument, dass von A. Maeder im Web kursiert ... BTW, ich würde hier immer mit Named Signal Association arbeiten ... (das Beispiel in 2.2.8 tut's leider nicht - sehe ich gerade). > Ich nehme an, dass ich einen Ausgang an mehrere > Eingänge leiten kann. Ja. Nur umgekehrt, also mehrere Ausgänge "kurzschliessen" ist nicht ganz so einfach. Geht auch und nennt sich dann resolgved, würde ich aber versuchen zu vermeiden (braucht man z.B. für Tristate-Signale). Gruss, Alex
Alex 28.06.06, 18:02
No new posts Re: Simulation
Hallo LukeS, hab auf die Schnelle 2 Links zu nem DCF77 gefunden: http://tams-www.informatik.uni-hamburg.de/ lehre/icPrak/prak7.pdf beschreibt ne DCF77 als Praktikum (mit Blockschaltbilder usw). http://www.i-tip.de/projectDCF/dcfDoku.html Ist aber leider in Verilog. Siehe auch: http://www.mikrocontroller.net/forum/read-9-288765.html Google sei Dank ... ;-) Ansonsten hab ich keine Ahnung, was ein DCF77 genau macht. Bzgl. Taktteiler: Ist im Grunde ein Zähler (kommt darauf an, durch welchen Wert Du teilen möchtest). Das einfachste Beispiel ist :2, also in etwa process (Clock, Reset) begin if Reset then ClockHalbe <= '0'; elsif Rising_edge(Clock) then ClockHalbe <= not ClockHalbe; end if; end process; Für andere Werte zählst Du einfach die Clock-Zyklen, nach der Hälfte setzt Du dann Clock = not Clock ... Bzgl. Beispielen: Hier gibt es viele auf dem Netz, u.a. auch in diversen Online-verfügbaren VHDL Totorien usw ... Siehe u.a.: http://tams-www.informatik.uni-hamburg.de/vhdl/ Dort ist eine VHDL-Anleitung auf Deutsch von A. Maeder und ein deutsches Buch z.Th. VHDL-Schaltungsdesign zum runterladen. Oder www.vhdl-online.de mit nem VHDL-Tutorial. Die meisten Unis/FHs haben hier auch irgendwelche Online-Dokus und Links ... Unter dem Hamburg VHDL/Archiv und www.opencores.org finden sich auch jede Menge fertiger Blöcke. Ich würde allerdings mit einem der obigen Dokumenten anfangen bzw. nem guten VHDL-Buch (und nicht gleich mit nem komplexen Block von OpenCores, VHDL Archive oder RASSP ...) Mir persoenlich gefaellt "The Designers Guide to VHDL" von Peter Ahenden sehr gut. Ist sehr umfassend und enthaelt jede Menge Code, der auch erklaert ist. Leider gibt's das Buch nur auf Englisch. Vielleicht habt Ihr ja auch von Eurem Lehrer/Prof ne gute Buchempfehlung. Gruss, Alex PS: Wuerde Deinen Thread nicht unbedingt unter ModelSim posten sondern eher in den oberen beiden Gruppen ...
Alex 17.06.06, 18:55
No new posts Re: Unterschied zwischen Prozee
Hallo Tim, bei der Variante mit den 2 Prozessen schreibst Du aus beiden Prozessen auf das selbe Signal. Das macht für Dein Beispiel keinen Sinn. Du treibst damit 2 Signale gegeneinander, und das Ergebnis ist X. Die Variante mit einem Prozess ist ok, so sollte man ein D-FF beschreiben. --- Ich vermute mal, dass Du Q als std_logic definiert hast. Ist vom Prinzip her aus Sicht von VHDL zulässig und wird meist verwendet, wenn man Tridtate-Busse beschreiben möchte. std_logic ist resolved. Verwende einfach mal std_ulogic oder bit, dann würde Dir der VHDL-Compiler auch eine entsprechende Fehlermeldung bringen. Gruss, Alex
Alex 24.05.06, 01:41
No new posts Re: Simulation: Variable "now" in Datei ausgeben
Hallo Julian, Du kannst Werte vom Typ "Time" direkt in ein File schreiben, musst Du nicht nach String oder sonstwas konvertieren. Im Package textio ist eine Funktion WRITE, die für die unterschiedlichsten Datentypen definiert ist: Bit, Boolean, Bit_vector, Integer, String und eben auch Time. Delay_lenght ist als subtype von Time definiert, d.h. geht ohne Probleme. Codebeispiel: > file ReportFile: text open write_mode is "Report.txt"; > variable Message : line; > > variable Time1, Time2: delay_length; > > ... > > write(Message, NOW, right, 10); -- NOW geht auch direkt in WRITE. > write(Message, Time2 - Time1, right, 10); > write(Message, Data1, right, 10); > write(Message, Data2, right, 10); > ... usw > writeline(ReportFile, Message); Für das rausschieben von "Time" hab ich übrigens txt_util nicht benötigt. Falls das bei Dir nicht funktioniert, schicke am besten Deinen Beispielcode, dann kann man nochmals draufschauen. Gruss, Alex
Alex 19.05.06, 01:15
No new posts Re: Multiplikationsschleife
Hallo Student, mit einer 4-bit breiten positiven Zahl lassen sich die Werte 0 bis 15 darstellen, d.h. mit einer Multiplikation liegt das Ergebnis irgendwo zwischen 0 und 225 -> d.h. Du brauchts 8 bit für die Darstellung des Ergebnisses (n-Bit mal n-Bit benötigt immer 2n-Bit). > Wie oft wird die Multiplikationsschleife durchlaufen ... ??? Hängt davon ab, wie Du die Multiplikation implementierst. Bei 4 Bit kann man eine Multiplikation durchaus direkt in einem Taktzyklus ausführen, also "keine" Schleife - nur ein Durchlauf. Will man beispielsweise zwei 16-Bit-Vektoren multiplizieren, kann man das z.B. durch 4 Multiplikationen machen, die unteren beiden Bytes, die oberen beiden Bytes und die Paare jeweils über Kreuz. Das ganze noch entsprechent an die richtige Stelle geschoben und addiert. Man kann allerdings auch die eine Zahl immer um eine Stelle nach links schieben (entspricht einer Multiplikation mit 2) und auf das Ergebnis aufaddieren, abhängig davon, ob das zugehörige Bit in der anderen Zahl =1 ist oder nicht. Dann würde man bei 4*4 vier Multiplikationen (und 3 Shift und 3 Add) benötigen, bei 8*8 entsprechend 8 Multiplikationen usw. (Genaugenommen sind's nur 3 (bzw. 7) Multiplikationen, da der erste Wert nur eine Multiplikation mit 1 (oder 0) ist, also nicht als Multiplikation ausgeführt werden muss.) Gruss, Alex
Alex 16.05.06, 22:35
No new posts Re: DatenBus Konflikt
Hallo Bmkassel, ich denke Du beziehst Dich auf das "00X0" auf den Wert des Databus bei 1 us. Sowie's aussieht benutzt Du das Signal Databus als inout sowohl aus der Testbench als auch aus deinem Akku. Im Akku ist zwar ein Tristate-Signal eingebaut, in der Testbench wird das Singal aber immer getrieben. Das Signal ist als "resolved" definiert, somit in VHDL also zulässig. Bei 1 us treibt dein Akku den Wert aus dem internen Register (LoadDaBus=1, AccuIntern="0000") und Deine Testbench immer noch den Stimuliwert (0010). Die Resolution Funktion macht daraus eben das X (00X0). Ob die Testbench so Sinn macht, kann ich nicht sagen, dazu kenne ich Deine Schaltung zu wenig (ich würde z.B. das Signal nicht als Tristate definieren sondern in ein DataBusIn und in ein DataBusOut aufteilen). Dazu musst Du aber schon etwas mehr infos geben als "geht nicht" ... :-) Gruss, Alex PS: Ich hätte das Thema nicht unter ModelSim plaziert, hat mit dem Tool m.E. nichts zu tun.
Alex 16.05.06, 22:09
 
 
8 von 8 Ergebnisse Anfang   zurück   weiter   Ende
Search

powered by carookee.com - eigenes profi-forum kostenlos

Design © trevorj