Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)
17263 Discussions

SOPC Builder .qip file is missing all the HDL source files

Altera_Forum
Honored Contributor II
2,078 Views

Hi, I'm trying to use a SOPC Builder system for two projects located in two different directories, so I need to explicitly tell Quartus the paths to the source files so that it can find them. I'm trying to use the auto-generated .qip file for the SOPC Builder system, but for some reason it's almost completely empty! It doesn't list any of the .vhd or .v files for my system, only a few miscellaneous files: 

 

# clk # tri_state_bridge_0 # cfi_flash_0 # timer0 # jtag_uart_0 # cpu_0 set_global_assignment -name SDC_FILE set_global_assignment -name SOURCE_FILE # sysid # watchdog_timer # altmemddr_0 # null set_global_assignment -name SDC_FILE set_global_assignment -name SOPC_BUILDER_SIGNATURE_ID ... 

 

I tried using Qsys instead but it can't generate my system at all. :/ 

 

Does anyone know how to make SOPC Builder generate a correct .qip file?
0 Kudos
3 Replies
Altera_Forum
Honored Contributor II
1,061 Views

I remember the fact the qip file doesn't list the source files is a known issue/feature and it was discussed in the forum some time ago for Quartus version 9.0. This is also the reason you had a lot of warnings (sort of "hdl file not included in project") during project compilation. 

I think your problem is related to this: you need to have the qip file and the sopc builder auto generated hdl files in the same directory of your project, so that Quartus can find them anyway. 

Unfortunately I don't know if there is a workaround, apart manually copying the required sopc files in both projects.
0 Kudos
Altera_Forum
Honored Contributor II
1,061 Views

For anyone else experiencing this problem, I ended up working around it by writing a TCL script that generates the appropriate assignments from the PTF when the QIP is loaded 

 

I created a util_qip_from_ptf.tcl file containing: 

 

proc util_qip_from_ptf {filepath} { set fp lappend map __PROJECT_DIRECTORY__ while { >= 0} { if {*Synthesis_HDL_Files = "(.*)";$} $line {\1} line]} { foreach hdl_file { set hdl_file ] if { ".vhd"]} { set setting_name VHDL_FILE } elseif { ".v"]} { set setting_name VERILOG_FILE } else { puts "Ignoring unknown HDL file type: $hdl_file" continue } set_global_assignment -name $setting_name $hdl_file } } } } 

 

and I made my own fake .qip file containing: 

 

set_global_assignment -name IP_TOOL_NAME "Fake QIP File" set_global_assignment -name IP_TOOL_VERSION "1.0" source util_qip_from_ptf
0 Kudos
Altera_Forum
Honored Contributor II
1,061 Views

thanks for sharing!

0 Kudos
Reply