Xilinx ISE Problem mit PCIe Core vom Generator bzw. den Examples

Gast #1962746
Lesenswert?

Hallo,

wie der Betreff schon sagt habe ich habe ein Problem mit meiner ISE 12.3 
bzw. dem PCIe Endpoint Block Plus 1.14:

Ich erstelle ein neues Projekt, werfe den Core Generator an, bastel mir 
den PCIe Endpoint Block Plus Core zurecht und generiere ihn.

Dann mache ich ein "Add Copy of Source" der VHDL Dateien und dem 
Constraintsfile aus dem Exampleordner 
(ipcore_dir\endpoint_blk_plus_v1_14\example_design\).

Danach mache ich noch ein "Add Source" der XCO Datei 
(ipcore_dir\endpoint_blk_plus_v1_14.xco) und starte ein Generate 
Programming File des Topmodules(xilinx_pci_exp_ep.vhd).

Die Synthese läuft auch durch ( allerdings viel zu schnell ) und er 
bricht beim Implement Design mit 8 Errors ab die sich alle darauf 
beziehen das, daß Core Element was im Constraint erwähnt wird nicht im 
Design gefunden wird:

ERROR:ConstraintSystem:59 - Constraint <INST 
"ep/pcie_ep0/pcie_blk/SIO/.pcie_gt_wrapper_i/GTD[0].GT_i" LOC = 
GTP_DUAL_X0Y3;>
   [xilinx_pci_exp_blk_plus_1_lane_ep_xc5vlx50t-ff1136-1.ucf(115)]: INST
   "ep/pcie_ep0/pcie_blk/SIO/.pcie_gt_wrapper_i/GTD[0].GT_i" not found. 
Please verify that:
   1. The specified design element actually exists in the original 
design.
   2. The specified object is spelled correctly in the constraint source 
file.

Den gleichen Fehler gibt es wenn ich den Core entferne (remove 
endpoint_blk_plus_v1_14.xco), also erkennt wohl irgendwas in der ISE 
diesen nicht.

Das interessante dabei ist jedoch das es zwischenzeitlich (gleiche ISE, 
gleiche Coreversion) mal genau so funktioniert hat, bzw. auch ein Design 
mit diesem Core von einem Tag auf den anderen nicht mehr Implementierbar 
war (mit eben diesem Fehler).

Also gehe ich von irgendeinem Bug aus der nur unter bestimmten 
Bedingungen zum Tragen kommt und hoffe das mir irgend jemand helfen kann 
diesen zu umgehen.
Gast #1963025
Lesenswert?

Georg A. schrieb:
> Sind denn die IP-Sources im xst-Projektfile überhaupt drin? An sich
> sollte man die Files auch in der HDL-Compilation-Sektion vom xst-Log
> finden.


Nein, im xst-File stehen die IP-Sources nicht drin, nur -sd 
{"ipcore_dir"  }; aber die Sourcen stehen im prj-File, wobei mir nicht 
klar ist warum er unbedingt was aus dem example Ordner will, dazu noch 
in Verilog.

Auch im Logfile compiliert er den Verilogfile aus dem example Ordner...

Irgendwie bin ich ratlos und hänge am besten die Dateien mal an.
Angehängte Dateien:
Gast #1963071
Lesenswert?

Ich kenn jetzt den Core nicht, aber es sieht so aus, als wäre der 
diverse ipcore-Source im .prj nicht für die Synthese geeignet, kann man 
wohl bedenkenlos rauswerfen. Wenn das Ding aus dem Coregen kommt, wird 
das wohl eine Blackbox im .ngc-Format sein. Dazu passt auch:
"Instantiating black box module <endpoint_blk_plus_v1_14>".

Wenn das ngc nicht im ipcore-Pfad liegt, ist es entweder woanders oder 
gar nicht mehr da. Evtl. den Core nochmal erzeugen...
Gast #1963076
Lesenswert?

Hab mal den neuen prj-File angehängt, nach dem Entfernen der oben 
genannten Zeilen, wird er neu gebaut, diesmal aber mit allem drum und 
dran. Es haben wohl einige Sourcen gefehlt.

Das warum ist mir zwar immer noch nicht bekannt, aber hiermit kann ich 
fürs erste leben.

Edit: Irgendwie nimmt er den File nicht, dann eben so:
1
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/tlm_rx_data_snk_pwr_mgmt.v"
2
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/tlm_rx_data_snk_mal.v"
3
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/tlm_rx_data_snk_bar.v"
4
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/sync_fifo.v"
5
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/tx_sync_gtx.v"
6
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/tx_sync_gtp.v"
7
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/tlm_rx_data_snk.v"
8
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/pcie_blk_ll_tx_arb.v"
9
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/pcie_blk_ll_tx.v"
10
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/pcie_blk_ll_oqbqfifo.v"
11
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/pcie_blk_ll_arb.v"
12
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/cmm_intr.v"
13
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/cmm_errman_ram8x26.v"
14
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/cmm_errman_ram4x26.v"
15
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/cmm_errman_ftl.v"
16
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/cmm_errman_cpl.v"
17
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/cmm_errman_cor.v"
18
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/cmm_errman_cnt_en.v"
19
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/cmm_decoder.v"
20
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/pcie_soft_int.v"
21
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/pcie_gt_wrapper.v"
22
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/pcie_gtx_wrapper.v"
23
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/pcie_blk_plus_ll_tx.v"
24
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/pcie_blk_plus_ll_rx.v"
25
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/pcie_blk_ll_credit.v"
26
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/pcie_blk_cf_pwr.v"
27
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/pcie_blk_cf_mgmt.v"
28
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/pcie_blk_cf_err.v"
29
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/pcie_blk_cf_arb.v"
30
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/bram_common.v"
31
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/prod_fixes.v"
32
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/pcie_reset_logic.v"
33
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/pcie_mim_wrapper.v"
34
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/pcie_gt_wrapper_top.v"
35
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/pcie_clocking.v"
36
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/pcie_blk_ll.v"
37
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/pcie_blk_cf.v"
38
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/pcie_top.v"
39
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/pcie_blk_if.v"
40
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/extend_clk.v"
41
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/pcie_ep.v"
42
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/endpoint_blk_plus_v1_14.v"
43
vhdl work "EP_MEM.vhd"
44
vhdl work "PIO_EP_MEM_ACCESS.vhd"
45
vhdl work "PIO_64_TX_ENGINE.vhd"
46
vhdl work "PIO_64_RX_ENGINE.vhd"
47
vhdl work "PIO_TO_CTRL.vhd"
48
vhdl work "PIO_EP.vhd"
49
vhdl work "PIO.vhd"
50
vhdl work "pci_exp_64b_app.vhd"
51
vhdl work "ipcore_dir/endpoint_blk_plus_v1_14/simulation/board.vhd"
52
vhdl work "ipcore_dir/endpoint_blk_plus_v1_14/simulation/dsport/pci_exp_usrapp_tx.vhd"
53
vhdl work "ipcore_dir/endpoint_blk_plus_v1_14/simulation/dsport/pci_exp_usrapp_cfg.vhd"
54
vhdl work "ipcore_dir/endpoint_blk_plus_v1_14/simulation/sys_clk_gen_ds.vhd"
55
vhdl work "ipcore_dir/endpoint_blk_plus_v1_14/simulation/dsport/pci_exp_usrapp_rx.vhd"
56
vhdl work "ipcore_dir/endpoint_blk_plus_v1_14/simulation/sys_clk_gen.vhd"
57
vhdl work "ipcore_dir/endpoint_blk_plus_v1_14/simulation/dsport/test_interface.vhd"
58
vhdl work "ipcore_dir/endpoint_blk_plus_v1_14/simulation/tests/tests.vhd"
59
vhdl work "ipcore_dir/endpoint_blk_plus_v1_14/example_design/xilinx_pci_exp_ep.vhd"
60
vhdl work "ipcore_dir/endpoint_blk_plus_v1_14/example_design/PIO.vhd"
61
vhdl work "ipcore_dir/endpoint_blk_plus_v1_14/example_design/PIO_TO_CTRL.vhd"
62
vhdl work "ipcore_dir/endpoint_blk_plus_v1_14/example_design/PIO_EP.vhd"
63
vhdl work "ipcore_dir/endpoint_blk_plus_v1_14/example_design/PIO_64.vhd"
64
vhdl work "ipcore_dir/endpoint_blk_plus_v1_14/example_design/PIO_64_RX_ENGINE.vhd"
65
vhdl work "ipcore_dir/endpoint_blk_plus_v1_14/example_design/EP_MEM.vhd"
66
vhdl work "ipcore_dir/endpoint_blk_plus_v1_14/example_design/PIO_EP_MEM_ACCESS.vhd"
67
vhdl work "ipcore_dir/endpoint_blk_plus_v1_14/example_design/PIO_64_TX_ENGINE.vhd"
68
vhdl work "ipcore_dir/endpoint_blk_plus_v1_14/example_design/pci_exp_64b_app.vhd"
69
vhdl work "xilinx_pci_exp_ep.vhd"
Gast #1963082
Lesenswert?

Hmm, jetzt ist mein vorhergehender Text irgendwie verschwunden ( dürfte 
der 24h DSL-Reconnect gewesen sein ).

Wie auch immer:
Nach dem händischen löschen der Verilog und der Example Zeilen aus dem 
prj-File wurde dieser neu gebaut und sowohl Synthese als auch 
Implementierung funktionieren.

Vielen Dank für deine Mühe!

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren