Hallo, Ich habe in VHDL ein JK-FF Programmiert und möchte es als Zähler nutzen. Schon wenn wenn es überhaupt nur genutzt wrden soll, Bekomme ich bei Implement Design die Fehlermeldung: WARNING:Par:100 - Design is not completely routed. There are 8 signals that are not completely routed in this design. See the "Z1.unroutes" file for a list of all unrouted signals. Check for other warnings in your PAR report that might indicate why these nets are unroutable. These nets can also be evaluated in FPGA Editor by selecting "Unrouted Nets" in the List Window. In Z1-Unrouted Steht nun: WARNING:ParHelpers:360 - Design is not completely routed. GLOBAL_LOGIC1 g0/Q g0/Q_not0001 led_0_OBUF led_0_OBUF1 led_1_OBUF led_2_OBUF led_3_OBUF Das Programm: library IEEE; use IEEE.STD_LOGIC_1164.ALL; entity Z1 is Port (sw : in STD_LOGIC_VECTOR(7 downto 0); led : out STD_LOGIC_VECTOR(7 downto 0)); end Z1; architecture Behavioral of Z1 is component jkff --Die Komponente rsff soll genutzt werden port( Tackt : in STD_LOGIC; --Übergabe an die Komponente J : in STD_LOGIC; K : in STD_LOGIC; reset : in STD_LOGIC; Q : buffer STD_LOGIC); end Component; signal a: STD_LOGIC_Vector(3 downto 0); --Interne Signale begin g0: jkff port map (sw(0),sw(1),sw(2),sw(3),a(0)); led(0)<=sw(0); led(1)<=sw(1); led(2)<=sw(2); led(3)<=sw(3); led(4)<=a(0); end Behavioral; --JK-FF library IEEE; use IEEE.STD_LOGIC_1164.ALL; entity JKFF is Port (Tackt,J,K,Reset: in STD_LOGIC; Q: buffer STD_LOGIC); end JKFF; architecture Behavioral of JKFF is begin process (Tackt,reset) begin if reset='1' then q<='0'; elsif (Tackt 'event and Tackt = '0') then if(J='1' and K = '0') then --Setzen q<='1'; elsif(j='0' and K = '1') then--Rüchsetzen q<='0'; elsif(j='1' and k='1') then--Toggeln q<=not q; else q<=q; end if; end if; end Process; end Behavioral; Wäre klasse wenn wenn jemand wüsste was nicht OK ist.
Matze schrieb: > Wäre klasse wenn wenn jemand wüsste was nicht OK ist. Nun, Synplify Pro meint, dass alles in Ordnung ist. Kann auch auf einem MachXO2 ohne Fehler implementiert werden. Aber mal eine Frage: Was um Himmelswillen willst du mit einem JK-FF? Ausserdem ist deine Beschreibung (NICHT PROGRAMM) kein JK-FF, sondern eine Nachbildung eines Teils der Funktion mittels eines D-FF.
Also für mich sieht g0: jkff port map (sw(0),sw(1),sw(2),sw(3),a(0)); schon recht seltsam aus. Kann aber sein, dass so manches Tool damit zurecht kommt. Diese Beschreibungsform wäre mir zu unübersichtlich, da die Portnamen fehlen. Und was passiert mit led(7 downto 5)? Die sind nicht angeschlossen. sw(0) soll also der Tackt sein? Neben der ungewöhnlichen Namensgebung ist das dennoch sehr sehr unübersichtlich. Am besten du fügst einige aussagekräftige Zwischensignale ein, um etwas mehr Ordnung zu schaffen. Q ist vom Typ Buffer. Viele Tools haben damit Probleme. Nutze besser den Typ OUT. Dann mußt du aber ein internes Signal z.B: q_int deklarieren. Die Zeile else q<=q; ist nicht notwendig. Der Besucher
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.