error's in xillinx vivado

heyhey

sinds kort ben ik met een vga scherm aan te stuuren .DMV een FPGA deze fpga is een artix 7 van xillinx. Nu ben ik bezig met een demo project aan te passen naar mijn behoeften. Maar dit wilt wilt me niet echt goed lukken. ik krijg namelijk een paar fouten.
namelijk de volgende . mijn aangepaste designe files staan onder het mapje syntax error files en non module files. Eveneens is er een foute topmodulle geselecteerd.En dit kan ik niet veranderen. Evenals krijg ik een fout tijdens het genereren van mijn bitstream file.(deze fouten:ERROR: [Vivado 12-1345] Error(s) found during DRC. Bitgen not run.
ERROR: [Common 17-39] 'write_bitstream' failed due to earlier errors.)
Weet iemand hoe ik hier iets aan kan doen?
Al vast bedankt voor de hulp
Mvg Ben
afbeelding van de fouten:

source code:(https://github.com/bendelathouwer/Psoc_robot/tree/master/VHDL_files/Vi…)

Dat je de bitfile niet kunt genereren is logisch want je hebt fouten eerder in het proces. Als je code niet klopt, kan de synthese er geen chocola van maken. Als er geen synthese resultaat is, kunnen de stappen die erna komen ook niet lopen. Dus, eerst je code errors oplossen. Wat zijn de syntax errors?

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

vhdl code:


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;
         
			  );
end Top;

in deze snipset valt hij over het laatste ronde haakje en punt comma

vhdl code:


Inst_Vga_control: Vga-control port map(
		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,
       
	);

end Behavioral;

en in deze snipset zou vga niet gedeclareerd zijn
nu de eerste fout lijkt me niet te kloppen want in vhdl moet je je port listing toch afsluiten met een punt comma?
Nuja ik kan ook voleedig fout zijn

Op 8 april 2016 19:20:13 schreef Ben De Lathouwer:
in deze snipset valt hij over het laatste ronde haakje en punt comma

Er staat een ; voor het haakje. Moet niet.

en in deze snipset zou vga niet gedeclareerd zijn

Zal het - teken tussen Vga en control zijn. Dat is een aftrek instructie van 2 "dingen". Dit dingen kent iet niet.

Dit was te makkelijk, en Vivado gaat vrij-uit :-)

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

Hoe bedoel je"Er staat een ; voor het haakje. "
en mijn Vga-control is mijn declaratie van mijn sub modulle voor men vga controller. maar zal het eens proberen te vernaderen.Trouwens weet je hoe ik men top file kan veranderen? Deze staat nu op een door xillinx zelf gegenereerde clockdivider.En ik denk niet dat het zo door de beugel kan qua top files

Nu syntysiseerd hij eindelijk. Maar nu wilt hij geen bit stream genereren.Want nu struikeld hij over een drc fout -.- .al vast bedankt voor de hulp flipflop

Op 8 april 2016 19:37:58 schreef Ben De Lathouwer:
Hoe bedoel je"Er staat een ; voor het haakje. "
en mijn Vga-control is mijn declaratie van mijn sub modulle voor men vga controller. maar zal het eens proberen te vernaderen.Trouwens weet je hoe ik men top file kan veranderen? Deze staat nu op een door xillinx zelf gegenereerde clockdivider.En ik denk niet dat het zo door de beugel kan qua top files

vhdl code:


VGA_HS       : out  STD_LOGIC;);

VGA_HS       : out  STD_LOGIC);
[/code=vhdl]
Zie je het verschil?

Ik snap dat Vga-control je declaratie is, maar die - in de naam mag niet. Dat zou een subtract zijn en da's raar op die plek.

Topmodule aanwijzen weet ik zo niet. Staat er nergens een optie in het menu? Of met rechts klikken op de module in je project? Of, detecteert ie het zelf misschien bij de synthese?

[edit] potver, mods, kunnen jullie de help van die code tags eens wat verduidelijken?. Zit ik weer te kloten ermee.
"We cannot solve our problems with the same thinking we used when we created them" - Albert Einstein

Haaa zo ja dat klopt. Ik heb de menu alleen wel gevonden om het te veranderen maar kan geen andere top modulle kiezen :s

Op 8 april 2016 20:28:07 schreef flipflop:

[edit] potver, mods, kunnen jullie de help van die code tags eens wat verduidelijken?. Zit ik weer te kloten ermee.

code=vhdl /code ( en dat tussen []) zo doe je die code highlighting ;)

Shiptronic

Overleden

vhdl code:


VGA_HS       : out  STD_LOGIC;);

VGA_HS       : out  STD_LOGIC);
[/code=vhdl]


Druk even op quote, kan je zien hoe ik het gedaan heb
Wie de vraag stelt, zal met het antwoord moeten leren leven.

Ja ok, er mistte een = tussen code en vhdl. Dat staat nergens in de help, volgens mij mist er een stuk daar.

Loopt de synthese nu wel goed voor alle files in je project? Het staat me bij dat ISE zelf de files in de juiste hierarchy zet als ie alles geanaliseerd heeft. En als je die optie wel gevonden hebt, waarom kun je dan niets selecteren?

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

Op 9 april 2016 09:00:49 schreef flipflop:

Loopt de synthese nu wel goed voor alle files in je project? Het staat me bij dat ISE zelf de files in de juiste hierarchy zet als ie alles geanaliseerd heeft. En als je die optie wel gevonden hebt, waarom kun je dan niets selecteren?

Ik gebruik vivado omdat ise geen artix 7 meer ondersteund .En ik heb wel de menu gevonden om het te kunnen veranderen maar geen keuzen om van top file te veranderen. En compileren lukt ook :)Maar ze staan nog altijd onder die syntak en non modules files

Als er syntax errors zijn, dan compileren ze toch ook niet? Of mis ik iets?

Heb je al gegoogled?
https://forums.xilinx.com/t5/Simulation-and-Verification/Assigned-Top-…

[Bericht gewijzigd door flipflop op zaterdag 9 april 2016 18:41:48 (48%)

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

volgens mij ben je mij ben je fout flipflop (al weet ik het echt niet zeker)

volgens vivado compileert hij normaal

Toch zit er nog steeds een syntax error in je Top.vhd file. Misschien "compileert" ie wel goed voor iets, maar niet je Top file lijkt het. Hint: punt-comma.

Je kunt ook nog in de log files kijken wat ie precies doet. Het zal wel te maken hebben met de foute toplevel module.

ps, als je dat toplevel eens uitklapt (die vetgedrukte), wat staat daar dan onder?

[Bericht gewijzigd door flipflop op zaterdag 9 april 2016 19:10:54 (13%)

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

Als ik mijn top file openkalp staat het volgende er onder: U0-clk_wiz_0_clk_wiz-xilinx

Ondertussen heb ik al 1 vergeten ; gevonden. Aleen is er wel niet verandert aan de situatie buiten dat vga_control nu ook in het mapje Non-module Files staat.

Juist, dan is die nu syntactisch correct, alleen het zit nog nergens onder. Wordt niet gebruikt in je project dus. Syntax errors moet je NERGENS hebben, dus dat is prio 1. Als die top file nu correct is, zou je 'm nu wellicht ook zo kunnen markeren in Vivado.
Anders even googlen, zo uit m'n hoofd ken ik Vivado niet goed genoeg. Geen anderen met Xilinx ervaring hier? Is wel een beetje 2-mans topic zo.

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

Op 9 april 2016 18:31:00 schreef flipflop:
Als er syntax errors zijn, dan compileren ze toch ook niet? Of mis ik iets?

Heb je al gegoogled?
https://forums.xilinx.com/t5/Simulation-and-Verification/Assigned-Top-…

Ik kan die optie niet selecteren:S Maar FlipFlop toch bedankt voor de hulp

Top level selecteren voor synthese doe je door:
- rechtermuisknop op Top.vhd in de project navigator
- set as top

Het compileert nu omdat de clk_wiz_0 file als top level gekozen is.
Top.vhd wordt NIET gesynthetiseerd.

DRC errors komen doordat de top-level poorten niet geconstraint zijn naar fysieke pinnen / IO standard (LVCMOS25 LVCMOS33 etc.)

Ok nu nog een klein vraagje volgens het boek The sdudents guide to vhdl moet ik mijn port mapping zo doen

vhdl code:

entity Top is
    Port map  (  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
         
			  );
end Top;

klopt dit? want het lijkt me geen verschil te maken of ik nu zoals hier boven doe of zoals hier onder.Trouwens volgens mij moet je in vivado geen port map schrijven(wat ook niet veel uitmaakt heb het met en zonder map geprobeert)

vhdl code:

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
         
			  );
end Top;

De tweede vorm is correct om in de entity de port definities te doen.

Port map gebruik je bij het instantieren van een component (vga_control in jouw geval)

Op 10 april 2016 16:13:13 schreef DigitalDesigned:
Port map gebruik je bij het instantieren van een component (vga_control in jouw geval)

dus hier zou ik een prot map moeten gebruiken?

vhdl code:



Inst_Vga_control: Vga_control	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,
       
	);

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 ??

Op deze manier:

vhdl code:


Inst_Vga_control : Vga_control port map (
   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
);
 

- na vga_control port map (
- Geen komma na VGA_GREEN