Forum Discussion
Altera_Forum
Honored Contributor
11 years agoHi David(s) ;-)
I don't think it should be necessary to dive into the innards to locate the "problem" - I tried that as well, but that cost me too much time tracking down obscure errors - I think the "problem" is more fundamental, lying in the "special" way top-level entities are treated. If I create a new minimal project with just the qsys/qip and a schematic referencing the nios+ddr block, setting simple.qip as the top level entry (not yet doing anaylisis), and *then* make an identical copy of it (cp -rp test1 test2) (*), *then* change the top level entry in the copy (test2) to the schematic (topblock.bdf), and then run a diff on these two projects, I get: johndoe@quartushost:~/quartus$ diff -r test1 test2 diff -r test1/db/test_bdf_top_level.db_info test2/db/test_bdf_top_level.db_info 3c3 < Creation_Time = Mon Mar 2 17:35:49 2015 --- > Creation_Time = Mon Mar 2 17:36:56 2015 Only in test2/db: test_bdf_top_level.quiproj.5312.rdr.flock diff -r test1/test_bdf_top_level.qsf test2/test_bdf_top_level.qsf 42c42 <set_global_assignment -name TOP_LEVEL_ENTITY simple --- > set_global_assignment -name TOP_LEVEL_ENTITY topblock Only in test1: test_bdf_top_level.qws so essentially exactly the same contents and the ONLY difference is in the top-level entry test1: builds correctly. test2: analysis fails with error 17044 In the reciprocal situation the same happens - analysis fails for the project where the .qip is not the top-level entity. I don't see why/how this can happen. regards, Theo p.s. I'll definitely look into anything that lets me get rid of inconsistencies and allows me to apply normal software development paradigms; somehow I get the feeling that a lot of the gui veneer is not primarily there to increase engineering efficiency... (*) and yes, I found out the hard way that you shouldn't copy (or even move) quartus projects this way if they contain software as apparently *some* paths, which are probably set outside the "software" tree, reference absolute paths, rather than relative paths, so while one thinks one is editing the copy one actually ends up editing the original - very confusing