mikrocontroller.net

Forum: FPGA, VHDL & Co. Xilinx ISE 4.7 Win7 ok -> Linux Mint 19.1 - Error


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Peter S. (petersieg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo.

Es geht um das ZPU Projekt von hier:
https://www.mikrocontroller.net/articles/ZPU:_Softcore_Implementierung_auf_Spartan-3_FPGA

Unter Win7 und ISE14.7 alles ok (ReRun all). Ich erhalte ein bit File.

Da mein Hauptrechner unter Linux Mint 19.1 läuft, habe ich das Projekt 
hier auch geladen (in beiden Fällen wird das Projekt von 12.x auf 14.7 
migriert).

Hier bekommen ich nun diese Fehlermeldung:
NgdBuild:989 - Failed to process BMM information 
/home/ich/ZPU_Softcore_Implementierung_auf_Spartan-3_FPGA/ZPU/VHDL/BMM/s 
oftcore.bmm

Google liefert dazu einige Ergebnisse. Diese deuten für mich als Fpga 
Noob
darauf hin, das die Pfade in der Datei softcore.bmm nicht mehr stimmen 
unter Linux? Die Hinweise dort verstehe ich aber nicht (Floorplan..)?

Auch ein neues Projekt erstellen und alle Sourcedateien zufügen bringt 
dieselbe Fehlermeldung.

Daher meine Frage: Was muss ich GENAU tun, um diesen Fehler weg zu 
bekommen?
Falls es die Angaben im .bmm sind (Pfade), woher sehe ich, welche er 
haben will? Die Angaben in der .bmm Datei kann ich nicht auf das 
Filesystem/Ordner zuordnen.
ADDRESS_MAP mpsoc PPC405 0
  ADDRESS_SPACE memory1 RAMB16 [0x00000000:0x00003FFF] // 0-3FFFF = 0-16383 Bytes, so 16384 Bytes
    BUS_BLOCK
      core/zpu_core/memory/RAMB16_S4_S4_inst7 [31:28];
      core/zpu_core/memory/RAMB16_S4_S4_inst6 [27:24];
      core/zpu_core/memory/RAMB16_S4_S4_inst5 [23:20];
      core/zpu_core/memory/RAMB16_S4_S4_inst4 [19:16];
      core/zpu_core/memory/RAMB16_S4_S4_inst3 [15:12];
      core/zpu_core/memory/RAMB16_S4_S4_inst2 [11:8];
      core/zpu_core/memory/RAMB16_S4_S4_inst1 [7:4];
      core/zpu_core/memory/RAMB16_S4_S4_inst0 [3:0];
    END_BUS_BLOCK;
  END_ADDRESS_SPACE;
END_ADDRESS_MAP;

Peter

Autor: Duke Scarring (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter S. schrieb:
> Was muss ich GENAU tun, um diesen Fehler weg zu bekommen?
Kannst Du Deinen Synthesereport (.syr) hier als Anhang mal hochladen?
Oder Du suchst im Report nach 'INFO:Xst:3226'.

Im Synthesereport müßten solche Meldungen zu finden sein:
INFO:Xst:3226 - The RAM <gen_fifo.FIFO/DPRAM_B.Mem/Mram_Mem> will be implemented as a BLOCK RAM, absorbing the following register(s): <DF_SL/DataReg>
    -----------------------------------------------------------------------
    | ram_type           | Block                               |          |
    -----------------------------------------------------------------------
    | Port A                                                              |
    |     aspect ratio   | 32-word x 32-bit                    |          |
    |     mode           | read-first                          |          |
    |     clkA           | connected to signal <Clk>           | rise     |
    |     weA            | connected to signal <gen_fifo.FIFO/WriteEnable> | high     |
    |     addrA          | connected to signal <gen_fifo.FIFO/WCNT> |          |
    |     diA            | connected to signal <DataIn>        |          |
    -----------------------------------------------------------------------
    | optimization       | speed                               |          |
    -----------------------------------------------------------------------
    | Port B                                                              |
    |     aspect ratio   | 32-word x 32-bit                    |          |
    |     mode           | write-first                         |          |
    |     clkB           | connected to signal <Clk>           | rise     |
    |     enB            | connected to signal <DF_SL/DataReg_en> | high     |
    |     addrB          | connected to signal <gen_fifo.FIFO/RCNT> |          |
    |     doB            | connected to signal <DF_SL/DataReg> |          |
    -----------------------------------------------------------------------
    | optimization       | speed                               |          |
    -----------------------------------------------------------------------

Dabei müßte "gen_fifo.FIFO/DPRAM_B.Mem/Mram_Mem" der jeweils gesuchte 
Instanzname sein. Die Angaben im .bmm-File müssen dann angepasst werden.

Duke

Autor: Peter S. (petersieg)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo.

Xst:3226 finde ich nichts. 3225 ja.
INFO:Xst:3225 - The RAM <Mrom_data_rom0000> will be implemented as BLOCK RAM
    -----------------------------------------------------------------------
    | ram_type           | Block                               |          |
    -----------------------------------------------------------------------
    | Port A                                                              |
    |     aspect ratio   | 2048-word x 8-bit                   |          |
    |     mode           | write-first                         |          |
    |     clkA           | connected to signal <clk>           | rise     |
    |     weA            | connected to internal node          | high     |
    |     addrA          | connected to signal <addr>          |          |
    |     diA            | connected to internal node          |          |
    |     doA            | connected to signal <data>          |          |
    -----------------------------------------------------------------------
    | optimization       | speed                               |          |
    -----------------------------------------------------------------------
Unit <font_rom> synthesized (advanced).

(Das sieht auf der Win7 Maschine auch so aus)
Halt! Das ist die alte Datei von Win7! Diese Datei wird NICHT neu 
geschrieben im Schritt: Implement Design - Translate.
ERROR::90 - The BRAM instance 'core/zpu_core/MEMORY/RAMB16_S4_S4_inst7' could not be found in the netlist.
ERROR::90 - The BRAM instance 'core/zpu_core/MEMORY/RAMB16_S4_S4_inst6' could not be found in the netlist.
ERROR::90 - The BRAM instance 'core/zpu_core/MEMORY/RAMB16_S4_S4_inst5' could not be found in the netlist.
ERROR::90 - The BRAM instance 'core/zpu_core/MEMORY/RAMB16_S4_S4_inst4' could not be found in the netlist.
ERROR::90 - The BRAM instance 'core/zpu_core/MEMORY/RAMB16_S4_S4_inst3' could not be found in the netlist.
ERROR::90 - The BRAM instance 'core/zpu_core/MEMORY/RAMB16_S4_S4_inst2' could not be found in the netlist.
ERROR::90 - The BRAM instance 'core/zpu_core/MEMORY/RAMB16_S4_S4_inst1' could not be found in the netlist.
ERROR::90 - The BRAM instance 'core/zpu_core/MEMORY/RAMB16_S4_S4_inst0' could not be found in the netlist.
ERROR:NgdBuild:989 - Failed to process BMM information
   /home/ich/ZPU_Softcore_Implementierung_auf_Spartan-3_FPGA/ZPU/VHDL/BMM/softco
   re.bmm
INTERNAL_ERROR::45 - Memory allocation leak of 60 bytes at 0x0A016B0C for a 'AddressMappingType' record.
INTERNAL_ERROR::45 - Memory allocation leak of 100 bytes at 0x0A01D504 for a StrNew.
INTERNAL_ERROR::45 - Memory allocation leak of 52 bytes at 0x0A01E9B8 for a 'AddressMapType' record.

Ich hänge die svr (Win7 erfolgreich) trotzdem einmal hier an.

Peter

Autor: Duke Scarring (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Dein RAM wird offenbar mit den Primitiven aus der Xilinx-Bibliothek 
gebildet:
Analyzing generic Entity <dualport_ram> in library <work> (Architecture <behave_dualport_ram1>).
  addrBitBRAM = 13
    Set user-defined property "INIT_00 =  0000000000000000000000000000000000000000000000000000000000000000" for instance <RAMB16_S4_S4_inst7> in unit <dualport_ram>.
    Set user-defined property "INIT_01 =  0000000000000000000000000000000000000000000000000000000000000000" for instance <RAMB16_S4_S4_inst7> in unit <dualport_ram>.
    Set user-defined property "INIT_02 =  0000000000000000000000000000000000000000000000000000000000000000" for instance <RAMB16_S4_S4_inst7> in unit <dualport_ram>.
...
Ich versuche RAMs immer generisch zu beschreiben, um den Code portabel 
zu halten.


Du kannst das Design (.ncd) im FPGA-Editor öffnen. Dort kann man sich 
die richtigen Instanznamen der BRAMs raussuchen.

Duke

Autor: Peter S. (petersieg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo.

Das geht nicht (Henne-Ei Problem).
Der Fehler tritt ja im Schritt: Translate auf.
Map
Place & Route kommen erst danach.
Daher gibt es nach Start FPGA-Editor:
ERROR: Design ncd file not found. You need to run the 'Map' process 
before FPGA Editor can launch.

:-(

Peter

Autor: Duke Scarring (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Den ersten Durchlauf müsstest Du ohne .bmm-File machen.

Duke

Autor: Peter S. (petersieg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Duke.

Ich glaube dem fpga_editor fehlen noch so einige Libs zum glücklich 
sein:
ich@ich-Macmini2:/opt/Xilinx/14.7/ISE_DS/ISE/bin/lin$ ls -l *fpga*
-rwxr-xr-x 1 ich root 1834056 Okt 13  2013 _fpga_editor
-rwxr-xr-x 1 ich root   17272 Okt 13  2013 fpga_editor
-rwxr-xr-x 1 ich root   17400 Okt 13  2013 fpga_edline
ich@ich-Macmini2:/opt/Xilinx/14.7/ISE_DS/ISE/bin/lin$ ldd _fpga_editor
  linux-gate.so.1 (0xb7f06000)
  libFed_Engine.so => not found
  libFed_Ipc.so => not found
  libCs.so => not found
  libGDev_Windows.so => not found
  libGDev_FedExt.so => not found
  libGDev_Graphics.so => not found
  libGui_Framework.so => not found
  libParsers.so => not found
  libPnb.so => not found
  libPds_Pdl.so => not found
  libPds_Pdm.so => not found
  libPds_Pih.so => not found
  libPortability.so => not found
  libPort_Std.so => not found
  libRf_FacadeBase.so => not found
  libStg_grid.so => not found
  libStg_toolkit.so => not found
  libStg_foundation.so => not found
  libstlport.so.5.1 => not found
  libXCad_Cad.so => not found
  libXCad_CadHelpers.so => not found
  libXCad_RMed.so => not found
  libXdm.so => not found
  libXdh_HierDesign.so => not found
  libXdh_Shape.so => not found
  libUtilities.so => not found
  libBs_Bitgen.so => not found
  libCs_DeviceHelpers.so => not found
  libData2BRAMUtil.so => not found
  libData2MEMDesignUtil.so => not found
  libDrm_Physlayout.so => not found
  libInterToolCommunication.so => not found
  libMhConstr.so => not found
  libPkg_Package.so => not found
  libPds_Exception.so => not found
  libPds_Pah.so => not found
  libPds_Tdm.so => not found
  libPds_Tlm.so => not found
  libPersonalityModule.so => not found
  libPdr_Base.so => not found
  libPdrBas_Rules.so => not found
  libPl_Place.so => not found
  libRf_BoolEquation.so => not found
  libRf_HelperBase.so => not found
  libRt.so => not found
  libDly_DelayCalculator.so => not found
  libTw.so => not found
  libTw_BmPhysical.so => not found
  libTw_DelayCache.so => not found
  libTw_DlyMed.so => not found
  libTw_Report.so => not found
  libXCad_Rho.so => not found
  libXda_hiermgr.so => not found
  libXdh_Iset.so => not found
  libCs_Util.so => not found
  libCs_PcfReader.so => not found
  libCs_UcfReader.so => not found
  libCit_Core.so => not found
  libxercesc.so => not found
  libboost_regex-gcc41-mt-p-1_38.so.1.38.0 => not found
  libXdmMemPool.so => not found
  libStaticFileParsers.so => not found
  libDrm_Cellmodel.so => not found
  libThread.so => not found
  libZlib.so => not found
  libMiniZip.so => not found
  libboost_filesystem-gcc41-mt-p-1_38.so.1.38.0 => not found
  libboost_system-gcc41-mt-p-1_38.so.1.38.0 => not found
  libboost_iostreams-gcc41-mt-p-1_38.so.1.38.0 => not found
  libisl_iostreams.so => not found
  libDrm_Tilemap.so => not found
  libboost_thread-gcc41-mt-p-1_38.so.1.38.0 => not found
  libboost_date_time-gcc41-mt-p-1_38.so.1.38.0 => not found
  libXdmStringPool.so => not found
  libXdh_Bmgr.so => not found
  libXdh_NgdUtil.so => not found
  libBs_Bitstream.so => not found
  libXCad_DesignStats.so => not found
  libXCad_HDHelpers.so => not found
  libSim_XdmUtilities.so => not found
  libPrjrep_Clientac.so => not found
  libSecurity.so => not found
  libXdh_Prim.so => not found
  libtcl8.4.so => not found
  libPrjrep_Repository.so => not found
  libXml.so => not found
  libXdh_Modular.so => not found
  libXdh_ViewCorr.so => not found
  libAlgorithms.so => not found
  libScript_TcTask.so => not found
  libTcl_Tcl.so => not found
  libEst_Estimator.so => not found
  libXdh_Doodle.so => not found
  libRf_TilePinHelpersBase.so => not found
  libMhReport.so => not found
  libPower_Manager.so => not found
  libPower_ManagerNC.so => not found
  libParh_Clevo.so => not found
  libisl_sysinfo.so => not found
  libTw_PhysicalSubNetworkDelays.so => not found
  libTw_LogicalSubNetworkDelays.so => not found
  libMhDataparser.so => not found
  libParh_Utilities.so => not found
  libTw_TimingModel.so => not found
  libTw_Bm.so => not found
  libTw_Util.so => not found
  libTw_GoalGraph.so => not found
  libCs_ResolutionHelper.so => not found
  libxalanc.so => not found
  libXda_eventmgr.so => not found
  libXdmSetupInfo.so => not found
  libboost_bzip2-gcc41-mt-p-1_38.so.1.38.0 => not found
  libXdh_Tag.so => not found
  libXdh_Corr.so => not found
  libCoreu_Utilities.so => not found
  libCoreu_Interface.so => not found
  libCoreu_Base.so => not found
  libXdh_Lib.so => not found
  libXdh_MapCorr.so => not found
  libXilinxPkg.so => not found
  libScript_Interp.so => not found
  libScript_TclUtil.so => not found
  libcommdlg50.so => not found
  libcommctrl50.so => not found
  libshell50.so => not found
  libwinsock50.so => not found
  libmfc50.so => not found
  libgdi50.so => not found
  libuser50.so => not found
  libkernel50.so => not found
  libprnt50.so => not found
  libodbc50.so => not found
  libolest50.so => not found
  libXm.so.3 => not found
  libXp.so.6 => not found
  libXt.so.6 => /usr/lib/i386-linux-gnu/libXt.so.6 (0xb7e60000)
  libXmu.so.6 => /usr/lib/i386-linux-gnu/libXmu.so.6 (0xb7e44000)
  libnsl.so.1 => /lib/i386-linux-gnu/libnsl.so.1 (0xb7e29000)
  libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xb7e0a000)
  libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb7e05000)
  libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xb7c7f000)
  libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xb7b7d000)
  libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xb7b5f000)
  libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb7983000)
  libX11.so.6 => /usr/lib/i386-linux-gnu/libX11.so.6 (0xb7837000)
  libSM.so.6 => /usr/lib/i386-linux-gnu/libSM.so.6 (0xb782e000)
  libICE.so.6 => /usr/lib/i386-linux-gnu/libICE.so.6 (0xb7812000)
  libXext.so.6 => /usr/lib/i386-linux-gnu/libXext.so.6 (0xb77fd000)
  /lib/ld-linux.so.2 (0xb7f08000)
  libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1 (0xb77d1000)
  libuuid.so.1 => /lib/i386-linux-gnu/libuuid.so.1 (0xb77c8000)
  libbsd.so.0 => /lib/i386-linux-gnu/libbsd.so.0 (0xb77ad000)
  libXau.so.6 => /usr/lib/i386-linux-gnu/libXau.so.6 (0xb77a9000)
  libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0xb77a2000)
  librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xb7798000)
ich@ich-Macmini2:/opt/Xilinx/14.7/ISE_DS/ISE/bin/lin$ 

Ansonsten 'läuft' ISE 14.7 aber unter Linux Mint 19.1.
D.h. ich kann Projekte ohne bmm synthetisieren bis hin zum bit file.

Ich denke mit einer XP VM werde ich wohl weiter kommen - oder halt 
dieses Projekt nur auf dem Win Rechner bearbeitet.

Danke für deine Unterstützung!

Peter

: Bearbeitet durch User
Autor: Duke Scarring (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter S. schrieb:
> Ich glaube dem fpga_editor fehlen noch so einige Libs zum glücklich
> sein:
Ja, das kann sein. Das dürften die 32-Bit-Bibliotheken sein.
Die virtuelle Win-Machine ist vermutlich weniger Aufwand.

Hast Du denn jetzt die Instanz-Pfade zu den BRAMs schon rausgefunden?

Duke

Autor: S. R. (svenska)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter S. schrieb:
> Ich glaube dem fpga_editor fehlen noch so einige Libs
> zum glücklich sein:

Das sind keine Standard-Bibliotheken.
Versuche mal LD_LIBRARY_PATH auf den Pfad zu den .so-Dateien (irgendwo 
im ISE) zu setzen und lass das ldd nochmal laufen:

LD_LIBRARY_PATH=/opt/Xilinx/14.7/ISE_DS/ISE/lib/lin/ ldd _fpga_editor

In meiner ISE 14.7-Version gibt es sämtliche Bibliotheken aber auch in 
64 Bit. Vielleicht ist das besser.

Autor: Peter S. (petersieg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Duke+S.R.: Zu: "Hast Du denn jetzt die Instanz-Pfade zu den BRAMs schon 
rausgefunden?" -> Nein. Nutze Win$ nun dafür.

Z.Z. beschäftigt mich eher folgende Frage(n):
Beitrag "XC3sprog mit FT2232H"

Peter

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.