Forum: FPGA, VHDL & Co. Multiply Accumulator v2.0 Xilinx IP-Core


von Jan (Gast)


Lesenswert?

Guten Tag,

ich würde gerne mit den DSP48A Slices auf einem Spartan-6 32Bit 
Operationen durchführen. Hier bietet Xilinx beispielsweise den IP-Core 
"Multiply Accumulate" an.

Mein Problem ist allerdings, dass ich den Wizard nicht ausführen kann. 
Ich bekomme immer die folgende Fehlermeldung:

------------------------------------------------------------------------ 
--
Wrote CGP file for project 'test'.
Core Generator create command failed.
INFO:sim:172 - Generating IP...
Resolving generics for 'test'...
Applying external generics to 'test'...
Delivering associated files for 'test'...
Generating implementation netlist for 'test'...
INFO:sim - Pre-processing HDL files for 'test'...
Running synthesis for 'test'
ERROR:sim - "\\dc-bhu-01\data\Projekte\Adaptiver Schallblocker
   (ASB)\04_MSR\02_Programmierung\VHDL\140326_MAC_FILTER\140326_MAC_Filter_ 
V2.1\
   ipcore_dir\tmp\_cg\_dbg\test.prj" line 3: Source file
   //dc-bhu-01/data/Projekte/Adaptiver Schallblocker
   (ASB)/04_MSR/02_Programmierung/VHDL/140326_MAC_FILTER/140326_MAC_Filter_ 
V2.1/
   ipcore_dir/tmp/xbip_utils_v2_0/xcc_utils_v2_0.vhd does not exist
ERROR:sim - Failed executing Tcl generator.
ERROR:sim - Failed to generate 'test'.  Failed executing Tcl generator.

Wrote CGP file for project 'test'.
Core Generator create command failed.
------------------------------------------------------------------------ 
---

Die Schritte, die zu diesem Fehler führen:

1) Create new source "IP (CORE Generate & Architecture Wizard)"

2) Auswählen von "Multiply Accumulator" (V2.0) und finish

3) generate

=> Resultiert in der obigen Fehlermeldung

Kann jemand einen Fehler in dieser Vorgehensweise auffinden?

Grüße,

Jan

von Der Retter der Nation (Gast)


Lesenswert?

Warum formulierst Du Dein Multiplikation nicht einfach in VHDL?
Das Tool kann doch dann entscheiden, wie es die MUL umsetzt.

von Jan (Gast)


Lesenswert?

Wir haben die Multiplikation selber programmiert. Ich würde gerne einen 
Ressourcenvergleich haben, ob unsere MAC-Einheit ressourcenschonend 
implementiert ist. Eventuell ist Xilinx debuggter code besser im 
pipelining der Operationen. Daher würde ich gerne den IP-Core einmal 
testen.

von Christian R. (supachris)


Lesenswert?

Jan schrieb:
> ERROR:sim - "\\dc-bhu-01\data\Projekte\Adaptiver Schallblocker

Leerzeichen und Bindestriche in Pfadnamen sind etwas, womit Xilinx ganz 
schlecht umgehen kann. Schließlich gabs die in den 70er Jahren nicht. 
Außerdem braucht der CoreGen zwingend ein temp Verzeichnis direkt auf C:

Jan schrieb:
> Eventuell ist Xilinx debuggter code

Du wolltest schreiben "verbuggter" Core... ;)

von Strubi (Gast)


Lesenswert?

Jan schrieb:
> Wir haben die Multiplikation selber programmiert. Ich würde gerne
> einen
> Ressourcenvergleich haben, ob unsere MAC-Einheit ressourcenschonend
> implementiert ist. Eventuell ist Xilinx debuggter code besser im
> pipelining der Operationen. Daher würde ich gerne den IP-Core einmal
> testen.

Moin,

da schenkt sich gar nix, habe das schon mal genauer untersucht, kommt 
bei klassischer Implementation exakt dasselbe raus, Variationen gibt es 
nur beim Overflow-Handling, aber das sind ein paar Gatter mehr. 
Ansonsten gibt es ja nicht so viele Möglichkeiten, eine n-bit 
MAC-Pipeline zu programmieren, von der float-Welt mal abgesehen...

Grüsse,
- Strubi

von Jan (Gast)


Lesenswert?

@Christian: Die anderen DSP48 IP-Cores funktionieren und führen nicht 
direkt zu einer Fehlermeldung. Daher dachte ich an den Pfaden liegt es 
eher nicht. Der einzige Core der nicht direkt zu implementieren ist, ist 
der Multiply Accumulate Core.

Ok, dann werden wir den Vergleich wohl erstmal verschieben, dennoch 
danke für alle Hinweise!

Jan

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
Noch kein Account? Hier anmelden.