Quartus compilation

https://github.com/MiSTer-devel/Main_MiSTer/wiki

Moderators: Mug UK, Zorro 2, Greenious, spiny, Sorgelig, Moderator Team

Doozer
Atariator
Atariator
Posts: 28
Joined: Fri Apr 22, 2016 12:26 pm

Quartus compilation

Postby Doozer » Mon Sep 02, 2019 3:26 pm

Hi,

I have noticed that the latest core updates pushed on the git repository have a consequence on the quartus compilation flow (at least on my computer). The compilation stops after the "Quartus Prime Analysis & Synthesis" step. The sys library with pll code is here but not taken into consideration.

I tried to understand what is wrong but I did not managed to solve the issue. Now, I am reaching out to more expert people to provide me with guidance.

I am under Linux and using Quartus 18.1.0. Previously I was able to compile this core and others without any trouble. No update on the compilation chain has been made since.

The NES core is used as example with the compilation result output provided below.

Any idea about the issue? Thank you.



Command line used:
/tools/intelFPGA_lite/18.1/quartus/bin/quartus_sh --flow compile NES


Output:

...
Info (12128): Elaborating entity "video" for hierarchy "emu:emu|video:video" File: /mister/dev/NES_MiSTer/NES.sv Line: 853
Info (12128): Elaborating entity "video_mixer" for hierarchy "emu:emu|video:video|video_mixer:video_mixer" File: /mister/dev/NES_MiSTer/video.sv Line: 341
Info (12128): Elaborating entity "scandoubler" for hierarchy "emu:emu|video:video|video_mixer:video_mixer|scandoubler:sd" File: /mister/dev/NES_MiSTer/sys/video_mixer.sv Line: 92
Info (12128): Elaborating entity "Hq2x" for hierarchy "emu:emu|video:video|video_mixer:video_mixer|scandoubler:sd|Hq2x:Hq2x" File: /mister/dev/NES_MiSTer/sys/scandoubler.v Line: 121
Info (12128): Elaborating entity "DiffCheck" for hierarchy "emu:emu|video:video|video_mixer:video_mixer|scandoubler:sd|Hq2x:Hq2x|DiffCheck:diffcheck0" File: /mister/dev/NES_MiSTer/sys/hq
2x.sv Line: 66
Info (12128): Elaborating entity "Blend" for hierarchy "emu:emu|video:video|video_mixer:video_mixer|scandoubler:sd|Hq2x:Hq2x|Blend:blender" File: /mister/dev/NES_MiSTer/sys/hq2x.sv Line:
73
Info (12128): Elaborating entity "InnerBlend" for hierarchy "emu:emu|video:video|video_mixer:video_mixer|scandoubler:sd|Hq2x:Hq2x|Blend:blender|InnerBlend:inner_blend1" File: /mister/dev
/NES_MiSTer/sys/hq2x.sv Line: 388
Info (12128): Elaborating entity "hq2x_in" for hierarchy "emu:emu|video:video|video_mixer:video_mixer|scandoubler:sd|Hq2x:Hq2x|hq2x_in:hq2x_in" File: /mister/dev/NES_MiSTer/sys/hq2x.sv L
ine: 112
Info (12128): Elaborating entity "hq2x_buf" for hierarchy "emu:emu|video:video|video_mixer:video_mixer|scandoubler:sd|Hq2x:Hq2x|hq2x_in:hq2x_in|hq2x_buf:buf0" File: /mister/dev/NES_MiSTe
r/sys/hq2x.sv Line: 233
Info (12128): Elaborating entity "hq2x_buf" for hierarchy "emu:emu|video:video|video_mixer:video_mixer|scandoubler:sd|Hq2x:Hq2x|hq2x_buf:hq2x_out" File: /mister/dev/NES_MiSTer/sys/hq2x.s
v Line: 133

Error (12006): Node instance "pll_hdmi" instantiates undefined entity "pll_hdmi". Ensure that required library paths are specified correctly, define the specified entity, or change the instantiation. If thi
s entity represents Intel FPGA or third-party IP, generate the synthesis files for the IP. File: /mister/dev/NES_MiSTer/sys/sys_top.v Line: 697
Error (12006): Node instance "pll_cfg" instantiates undefined entity "pll_cfg". Ensure that required library paths are specified correctly, define the specified entity, or change the instantiation. If this
entity represents Intel FPGA or third-party IP, generate the synthesis files for the IP. File: /mister/dev/NES_MiSTer/sys/sys_top.v Line: 731
Error (12006): Node instance "pll" instantiates undefined entity "pll". Ensure that required library paths are specified correctly, define the specified entity, or change the instantiation. If this entity r
epresents Intel FPGA or third-party IP, generate the synthesis files for the IP. File: /mister/dev/NES_MiSTer/NES.sv Line: 314
Error (12006): Node instance "pll_cfg" instantiates undefined entity "pll_cfg". Ensure that required library paths are specified correctly, define the specified entity, or change the instantiation. If this
entity represents Intel FPGA or third-party IP, generate the synthesis files for the IP. File: /mister/dev/NES_MiSTer/NES.sv Line: 335

Info (144001): Generated suppressed messages file /mister/dev/NES_MiSTer/output_files/NES.map.smsg
Error: Quartus Prime Analysis & Synthesis was unsuccessful. 4 errors, 3 warnings
Error: Peak virtual memory: 2736 megabytes
Error: Processing ended: Mon Sep 2 16:50:19 2019
Error: Elapsed time: 00:01:42
Error: Total CPU time (on all processors): 00:01:38
Error (293001): Quartus Prime Full Compilation was unsuccessful. 6 errors, 4 warnings
Error: Flow compile (for project /mister/dev/NES_MiSTer/NES) was not successful
Error: ERROR: Error(s) found while running an executable. See report file(s) for error message(s). Message log indicates which executable was run last.

Error (23031): Evaluation of Tcl script /tools/intelFPGA_lite/18.1/quartus/common/tcl/internal/qsh_flow.tcl unsuccessful
Error: Quartus Prime Shell was unsuccessful. 13 errors, 5 warnings
Error: Peak virtual memory: 968 megabytes
Error: Processing ended: Mon Sep 2 16:50:22 2019
Error: Elapsed time: 00:01:53
Error: Total CPU time (on all processors): 00:01:41


Sorgelig
Ultimate Atarian
Ultimate Atarian
Posts: 5237
Joined: Mon Dec 14, 2015 10:51 am
Location: Russia/Taiwan

Re: Quartus compilation

Postby Sorgelig » Mon Sep 02, 2019 3:45 pm

You need Quartus 17.0.x. There is no point of 18.x version. It gives absolutely nothing new to MiSTer.

Doozer
Atariator
Atariator
Posts: 28
Joined: Fri Apr 22, 2016 12:26 pm

Re: Quartus compilation

Postby Doozer » Mon Sep 02, 2019 5:03 pm

Thanks Sorgelig,

I will downgrade the version to 17.0.x.

Cheers!

Doozer
Atariator
Atariator
Posts: 28
Joined: Fri Apr 22, 2016 12:26 pm

Re: Quartus compilation

Postby Doozer » Tue Sep 03, 2019 11:19 am

Indeed, 17.0 is working fine. Thanks for the heads-up.

Macro
Atarian
Atarian
Posts: 8
Joined: Wed Jul 18, 2018 2:35 pm

Re: Quartus compilation

Postby Macro » Wed Oct 02, 2019 12:18 pm

I've finally got everything setup and synthesising, but have a question.

The core I downloaded to test was Moon Cresta, which creates a SOF file, but I cannot convert it to a RBF file as it uses trial features.

I assume it still has the old scaling in the framework with it.

to update to latest do I simply replace the SYS folder with the newest one (from neogeo for instance) or is there more to it than that ?

Sorgelig
Ultimate Atarian
Ultimate Atarian
Posts: 5237
Joined: Mon Dec 14, 2015 10:51 am
Location: Russia/Taiwan

Re: Quartus compilation

Postby Sorgelig » Wed Oct 02, 2019 1:21 pm

It's not so automatic. Especially arcade cores are using special arcade framework.
Arcades will be updated soon

Macro
Atarian
Atarian
Posts: 8
Joined: Wed Jul 18, 2018 2:35 pm

Re: Quartus compilation

Postby Macro » Thu Oct 03, 2019 8:54 am

Thanks, will wait until then ...

I read that the linux side reloads if you upload a SOF file, so I assume it will still handle rom loads etc. the same as it does with an RBF file

if I get anything worthwhile going I can add it to github for someone else (with a license!) to build.

Sorgelig
Ultimate Atarian
Ultimate Atarian
Posts: 5237
Joined: Mon Dec 14, 2015 10:51 am
Location: Russia/Taiwan

Re: Quartus compilation

Postby Sorgelig » Thu Oct 03, 2019 9:56 am

Computer cores are up to date and don't require paid Quartus license. So you can try one of computer cores.

Macro
Atarian
Atarian
Posts: 8
Joined: Wed Jul 18, 2018 2:35 pm

Re: Quartus compilation

Postby Macro » Thu Oct 10, 2019 9:52 am

I tried one of the newer arcade ones, and that produces the rbf, so will use that as the reference.

cscheib
Atarian
Atarian
Posts: 1
Joined: Fri Sep 13, 2019 10:40 pm

Re: Quartus compilation

Postby cscheib » Fri Oct 11, 2019 6:14 pm

If, for some reason, you "must" use Quartus 18, you can copy `sys/pll_q17.qip` to `sys/pll_q18.zip`... you'll at least get compiled output... I never tested actually RUNNING the output, but... it compiled.

You should use Q17 as Sorgelig mentioned, though.

@Sorgelig, as these projects are open source, they qualify for free CI from various providers, including CircleCI... has there been any consideration of using CI for more standardized/consistent builds, as well as some md5/sha256 hashing of the binaries for the more security minded people out there?
I'm willing to invest some time in this, as I see value in it, and I believe others will as well. I think this lowers the barrier for some people to be able to contribute changes, and for others to review said changes.

Other potential value-add for this type of thing would be possibly using the GitHub Releases feature for binaries, rather than storing/managing binaries in the git tree.

Sorgelig
Ultimate Atarian
Ultimate Atarian
Posts: 5237
Joined: Mon Dec 14, 2015 10:51 am
Location: Russia/Taiwan

Re: Quartus compilation

Postby Sorgelig » Sat Oct 12, 2019 6:38 am

cscheib wrote:@Sorgelig, as these projects are open source, they qualify for free CI from various providers, including CircleCI... has there been any consideration of using CI for more standardized/consistent builds, as well as some md5/sha256 hashing of the binaries for the more security minded people out there?

not interesting, sorry.

cscheib wrote:Other potential value-add for this type of thing would be possibly using the GitHub Releases feature for binaries, rather than storing/managing binaries in the git tree.

having binaries in repo is more convenient in terms of availability without any side tools.


Return to “MiSTer”

Who is online

Users browsing this forum: No registered users and 11 guests