error's in xillinx vivado

DigitalDesigned het maakt geen verschil uit het staat nog altijd onder de sintax error map. Ik moet er wel bijzeggen dat ik vanuit een werkend voorbeeld ben begonnen.Dat in vivado heeft gewerkt

Op 10 april 2016 17:54:46 schreef Blauw Lampje:
Ik heb hier totaal geen verstand van (wel van PIC programmatie) dus sorry als ik wat stoms tik, maar als ik dit zo voor de eerste keer lees, hoort die komma achter VGA_GREEN er wel te staan ??

Nee, die comma hoort er inderdaad niet. De comma betekent, hierna komt het volgende signaal. Bij de laatste is er geen volgende en dus sluit je gelijk af met een haakje.

TS, je snapt niet helemaal wat je doet met dat port statement. Als je een module definieert, dan definieer je daar ook bij wat z'n in en uitgangen zijn. In dat geval staat er alleen "port" en geen map. "Map" betekent, hoe sluit ik de port aan. Je mapped een input of output aan een signaal. Dat is dus bij instantiatie van een module in een hoger level. Bv in je toplevel instantieer je vga_xx. De laatste heeft een port en die map je op signalen in dat toplevel. Eigenlijk precies zo alsof je een IC aansluit op een printplaat.

oh, nog over de syntaxen: Vivado geeft zeker weten aan wat de errors zijn. Zoek die eerst eens op en los de errors op, anders kom je nooit ergens. Errors wegwerken en liefst warnings ook. Die laatste comma kan nooit gewerkt hebben, da's gewoon geen correct VHDL. VDHL is erg strikt dus ik kan me niet voorstellen dat er een synthesiser is die dat accepteert.

"We cannot solve our problems with the same thinking we used when we created them" - Albert Einstein

Beetje warrig verhaal zo. Kun je aangeven wat je hebt veranderd waardoor het niet meer werkt?

Gezien ik je hoor praten over de poort map van je top level vraag ik me af of je een poort hebt toegevoegd of verwijderd. Zo ja, heb je dan ook het in/uitgangssignaal toegewezen aan een fysieke pin in de .XDC file?

LED addicted... Fijnmalen en snuiven maar!! :P

Op 10 april 2016 21:27:45 schreef Nieko:
Beetje warrig verhaal zo. Kun je aangeven wat je hebt veranderd waardoor het niet meer werkt?

https://reference.digilentinc.com/basys3:gpiodemo van dit project heb ik alles er uitgegooid wat niet met het vga gedeelte te doen heeft )User Switches, User LEDs ,User Push Buttons ,4-digit 7-Segment Display ,USB-UART Bridge ,USB HID Host With Mouse ) heb ik er uitgesmeeten. zodoende dat ik mijn vga aansturing alleen over hou.Dit zodat ik hier later zelf op kan verder bouwen.Dus in die top file heb ik dus alles verwijdert wat niet met die vga te maken had.Eveneens heb ik aan die xdc file niet echt veel verandert .Sorry voor alle verwarring en hoop je hiermee wat wijzer heb gemaakt over mijn probleem.

Het is natuurlijk wel belangrijk dat je de pin assignments in je XDC file die je niet gebruikt in je TOP verwijderd. Anders geeft dat geheid problemen tijdens het mappen/place & routen van het geheel.

LED addicted... Fijnmalen en snuiven maar!! :P

Ik heb even op je github link gekeken en de code van Top aangepast naar een werkende versie (gecheckt in vivado 2015.3):

vhdl code:


library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

--The IEEE.std_logic_unsigned contains definitions that allow 
--std_logic_vector types to be used with the + operator to instantiate a 
--counter.
use IEEE.std_logic_unsigned.all;

entity Top is
    Port (  CLK 		: in  STD_LOGIC;
            VGA_RED      : out  STD_LOGIC_VECTOR (3 downto 0);
            VGA_BLUE     : out  STD_LOGIC_VECTOR (3 downto 0);
            VGA_GREEN    : out  STD_LOGIC_VECTOR (3 downto 0);
            VGA_VS       : out  STD_LOGIC;
            VGA_HS       : out  STD_LOGIC -- Hier geen comma
         
			  );
end Top;


architecture Behavioral of Top is



component Vga_control
    Port ( CLK_I       : in STD_LOGIC;
           VGA_HS_O    : out STD_LOGIC;
           VGA_VS_O    : out STD_LOGIC;
           VGA_RED_O   : out STD_LOGIC_VECTOR (3 downto 0);
           VGA_BLUE_O  : out STD_LOGIC_VECTOR (3 downto 0);
           VGA_GREEN_O : out STD_LOGIC_VECTOR (3 downto 0) -- Hier geen comma
   
           );
end component;


begin -- Dit moet toegevoegd worden tussen de declaraties van signalen components etc. en de echte inhoud

----------------------------------------------------------
------              VGA Control                    -------
----------------------------------------------------------

Inst_Vga_control: Vga_control port map ( -- Hier "port map (" toegevoegd
	CLK_I       => CLK,
	VGA_HS_O    => VGA_HS,
	VGA_VS_O    => VGA_VS,
	VGA_RED_O   => VGA_RED,
	VGA_BLUE_O  => VGA_BLUE,
	VGA_GREEN_O => VGA_GREEN -- Hier geen comma
      
	);

end Behavioral;

Ik raad je wel aan om eventueel een tutorial over VHDL te volgen, bijvoorbeeld: http://class.ece.iastate.edu/cpre583/ref/VHDL/shock_awe_vhdl_adobe.pdf

Port assignments voor niet bestaande poorten in de .xdc zorgen alleen voor warnings, dus is niet netjes maar zou wel moeten werken.

Hey hey
eindelijk eens wat goed nieuws:) het werkt zoals het hoort (buiten die xdc fouten dan). zoals DigitalDesigned aanhaalde ben ik gewoon mijn begin statment vergeten schrijven
hartelijk dank aan iedereen die mee heeft gedacht aan deze fouten.

[Bericht gewijzigd door Ben De Lathouwer op maandag 11 april 2016 18:37:29 (61%)

En waardoor werkt het nu wel? Wat zat er fout?

Over die , en ; Als je het zo opschrijft, is de verwarring weg en voelt het (voor mij in elk geval) ook veel duidelijker:

vhdl code:


component Vga_control
  Port ( CLK_I       : in STD_LOGIC;
         VGA_HS_O    : out STD_LOGIC;
         VGA_VS_O    : out STD_LOGIC;
         VGA_RED_O   : out STD_LOGIC_VECTOR (3 downto 0);
         VGA_BLUE_O  : out STD_LOGIC_VECTOR (3 downto 0);
         VGA_GREEN_O : out STD_LOGIC_VECTOR (3 downto 0)  );
end component;
"We cannot solve our problems with the same thinking we used when we created them" - Albert Einstein

men begin statement te vergeten in men top modulle:)