- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I'm starting a new project, and did a simple top file.
When I try to compile it I get a crash error.
The report:
Problem Details
Error:
Internal Error: Sub-system: FYGR, File: /quartus/fitter/fygr/fygr_cdr_op.cpp, Line: 2875
source_oterm != NULLFitter pre-processing
Stack Trace:
0x166916: FYGR_CDR_OP::emulatedLVDS_create_complementary_pin + 0x966 (fitter_fygr)
0x2ab39: FYGR_EXPERT::fitter_preparation + 0x6b9 (fitter_fygr)
0x23860: FYGR_FITCC_FAMILY_EXPERT::fitter_preparation + 0x40 (fitter_fygr)
0x557a1: FITCC_EXPERT::fitter_preparation + 0x1f1 (FITTER_FITCC)
0x56116: FITCC_EXPERT::invoke_fitter + 0x396 (FITTER_FITCC)
0x23af6: fygr_execute + 0x1a6 (fitter_fygr)
0xe910: fmain_start + 0x900 (FITTER_FMAIN)
0x41b1: qfit_execute_fit + 0x1bd (comp_qfit_legacy_flow)
0x5384: QFIT_FRAMEWORK::execute + 0x2a0 (comp_qfit_legacy_flow)
0x267f: qfit_legacy_flow_run_legacy_fitter_flow + 0x1c7 (comp_qfit_legacy_flow)
0x14410: TclInvokeStringCommand + 0xf0 (tcl86)
0x161e2: TclNRRunCallbacks + 0x62 (tcl86)
0x17a65: TclEvalEx + 0xa65 (tcl86)
0xa6f8b: Tcl_FSEvalFileEx + 0x22b (tcl86)
0xa5646: Tcl_EvalFile + 0x36 (tcl86)
0x12606: qexe_evaluate_tcl_script + 0x376 (comp_qexe)
0x11864: qexe_do_tcl + 0x334 (comp_qexe)
0x16755: qexe_run_tcl_option + 0x585 (comp_qexe)
0x380c3: qcu_run_tcl_option + 0x1003 (comp_qcu)
0x160aa: qexe_run + 0x39a (comp_qexe)
0x16e51: qexe_standard_main + 0xc1 (comp_qexe)
0x2233: qfit2_main + 0x73 (quartus_fit)
0x12e98: msg_main_thread + 0x18 (CCL_MSG)
0x1467e: msg_thread_wrapper + 0x6e (CCL_MSG)
0x16660: mem_thread_wrapper + 0x70 (ccl_mem)
0x12761: msg_exe_main + 0xa1 (CCL_MSG)
0x287e: __tmainCRTStartup + 0x10e (quartus_fit)
0x14033: BaseThreadInitThunk + 0x13 (KERNEL32)
0x73690: RtlUserThreadStart + 0x20 (ntdll)
End-trace
Executable: quartus_fit
Comment:
None
System Information
Platform: windows64
OS name: Windows 10
OS version: 10.0
Quartus Prime Information
Address bits: 64
Version: 18.1.0
Build: 625
Edition: Lite Edition
Tried googling it, and I don't get any information.
I never used an FPGA of this family.
I think the problem might be somewhere in the assigment of the pins.
Namely of the differential ones, because if i comment them it compiles without any crashes.
In previous designs with different devices, I used the primitive ALT_OUTBUF_DIFF whenever i need to output LVDS, but now it tells me it is not supported.
I tried using the megafunction ALTLVDS_TX, with a deserialization of 1 but the crash is still there.
These are the assignments:
set_global_assignment -name FAMILY "MAX V"
set_global_assignment -name DEVICE 5M160ZE64A5
set_global_assignment -name TOP_LEVEL_ENTITY MAXV_i2c_top
set_global_assignment -name ORIGINAL_QUARTUS_VERSION 18.1.0
set_global_assignment -name PROJECT_CREATION_TIME_DATE "09:56:31 APRIL 07, 2020"
set_global_assignment -name LAST_QUARTUS_VERSION "18.1.0 Lite Edition"
set_global_assignment -name PROJECT_OUTPUT_DIRECTORY output_files
set_global_assignment -name MIN_CORE_JUNCTION_TEMP "-40"
set_global_assignment -name MAX_CORE_JUNCTION_TEMP 125
set_global_assignment -name DEVICE_FILTER_PIN_COUNT 64
set_global_assignment -name ERROR_CHECK_FREQUENCY_DIVISOR "-1"
set_location_assignment PIN_7 -to clock
set_location_assignment PIN_2 -to reset
set_location_assignment PIN_5 -to i2c_sda
set_location_assignment PIN_10 -to i2c_scl
set_location_assignment PIN_18 -to data_out[0]
set_instance_assignment -name IO_STANDARD LVDS_E_3R -to data_out[0]
set_location_assignment PIN_19 -to "data_out[0](n)"
set_instance_assignment -name IO_STANDARD LVDS_E_3R -to data_out[1]
set_location_assignment PIN_20 -to data_out[1]
set_location_assignment PIN_21 -to "data_out[1](n)"
set_instance_assignment -name IO_STANDARD LVDS_E_3R -to data_out[2]
set_location_assignment PIN_22 -to data_out[2]
set_location_assignment PIN_24 -to "data_out[2](n)"
set_instance_assignment -name IO_STANDARD LVDS_E_3R -to data_out[3]
set_location_assignment PIN_26 -to data_out[3]
set_location_assignment PIN_27 -to "data_out[3](n)"
set_instance_assignment -name IO_STANDARD LVDS_E_3R -to data_out[4]
set_location_assignment PIN_30 -to data_out[4]
set_location_assignment PIN_31 -to "data_out[4](n)"
set_instance_assignment -name IO_STANDARD LVDS_E_3R -to data_out[5]
set_location_assignment PIN_32 -to data_out[5]
set_location_assignment PIN_33 -to "data_out[5](n)"
set_instance_assignment -name IO_STANDARD LVDS_E_3R -to data_out[6]
set_location_assignment PIN_35 -to data_out[6]
set_location_assignment PIN_34 -to "data_out[6](n)"
set_instance_assignment -name IO_STANDARD LVDS_E_3R -to data_out[7]
set_location_assignment PIN_37 -to data_out[7]
set_location_assignment PIN_36 -to "data_out[7](n)"
set_instance_assignment -name IO_STANDARD LVDS_E_3R -to data_out[8]
set_location_assignment PIN_44 -to data_out[8]
set_location_assignment PIN_43 -to "data_out[8](n)"
set_instance_assignment -name IO_STANDARD LVDS_E_3R -to data_out[9]
set_location_assignment PIN_47 -to data_out[9]
set_location_assignment PIN_46 -to "data_out[9](n)"
set_instance_assignment -name IO_STANDARD LVDS_E_3R -to data_out[10]
set_instance_assignment -name IO_STANDARD LVDS_E_3R -to data_out[11]
set_instance_assignment -name IO_STANDARD LVDS_E_3R -to data_out[12]
set_instance_assignment -name IO_STANDARD LVDS_E_3R -to data_out[13]
set_instance_assignment -name IO_STANDARD LVDS_E_3R -to data_out[14]
set_instance_assignment -name IO_STANDARD LVDS_E_3R -to data_out[15]
set_location_assignment PIN_50 -to data_out[10]
set_location_assignment PIN_49 -to "data_out[10](n)"
set_location_assignment PIN_53 -to data_out[11]
set_location_assignment PIN_52 -to "data_out[11](n)"
set_location_assignment PIN_55 -to data_out[12]
set_location_assignment PIN_54 -to "data_out[12](n)"
set_location_assignment PIN_58 -to data_out[13]
set_location_assignment PIN_56 -to "data_out[13](n)"
set_location_assignment PIN_60 -to data_out[14]
set_location_assignment PIN_59 -to "data_out[14](n)"
set_location_assignment PIN_63 -to data_out[15]
set_location_assignment PIN_61 -to "data_out[15](n)"
set_instance_assignment -name IO_STANDARD "2.5 V" -to clock
set_instance_assignment -name IO_STANDARD "2.5 V" -to i2c_scl
set_instance_assignment -name IO_STANDARD "2.5 V" -to i2c_sda
set_instance_assignment -name IO_STANDARD "2.5 V" -to reset
set_global_assignment -name POWER_PRESET_COOLING_SOLUTION "NO HEAT SINK WITH STILL AIR"
set_global_assignment -name TIMING_ANALYZER_MULTICORNER_ANALYSIS OFF
set_global_assignment -name NUM_PARALLEL_PROCESSORS ALL
set_global_assignment -name SDC_FILE MAXV_i2c.sdc
set_global_assignment -name VERILOG_FILE MAXV_i2c_top.v
set_global_assignment -name VERILOG_FILE i2c_control.v
set_global_assignment -name DEVICE_MIGRATION_LIST 5M160ZE64A5
set_global_assignment -name QIP_FILE LVDS_TX.qip
What do you think I might be doing wrong?
Cheers,
Ricardo
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Can you use the latest release of Quartus Prime 19.1?
Do you have a bunch of output ports that are stuck GND and had assigning to an LVDS I/O standard?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Any update?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Kenny, sorry for not answering sooner.
It is not solved. However, in the end the output were not suppose to be LVDS (miscommunication with my team). I change them to single ended (LVTTL 3.3), and the crash stoped.
Cheers.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks,
Yes, this problem occur because of the LVDS I/O standard was assign incorrectly. It was suppose to give an error rather than crash. I will file a documentation/kdb on this.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I'm having similar issues on a MAX V 5M160ZE64I5 device. I can compile and fit a design when I assign an output pin on bank 2 to 2V5. When I change it to LVDS_E_3R Quartus crashes. I'm using Quartus 20.1 Lite. I'm assigning the pin (txdata) in the pin planner to pin 37 (positive diff pair pin) and when I set it to LVDS_E_3R the pin planner creates the txdata(n) pin on pin 36 which is correct. It sets the IO Standard to LVDS_E_3R. Then when I go back into Quartus and compile it I get the "Sorry! The Quartus Prime software quit unexpectedly." dialog box.
Any ideas? I've only been using Intel devices on this project, previously I have been using the X devices so I'm not sure if it's something I'm doing as a Quartus newb or this is actually a bug.
Problem Details
Error:
Internal Error: Sub-system: FYGR, File: /quartus/fitter/fygr/fygr_cdr_op_place.cpp, Line: 1930
get_io_mgr()->is_insertion_legal(atom, dev_pad_id)Fitter pre-processing
Stack Trace:
0x17f41b: FYGR_CDR_OP::place_atom_at_gid + 0x29b (fitter_fygr)
0x16a278: FYGR_CDR_OP::emulatedLVDS_placer + 0xc78 (fitter_fygr)
0x2abef: FYGR_EXPERT::fitter_preparation + 0x6ff (fitter_fygr)
0x238c0: FYGR_FITCC_FAMILY_EXPERT::fitter_preparation + 0x40 (fitter_fygr)
0x55a73: FITCC_EXPERT::fitter_preparation + 0x203 (FITTER_FITCC)
0x56414: FITCC_EXPERT::invoke_fitter + 0x3b4 (FITTER_FITCC)
0x23b56: fygr_execute + 0x1a6 (fitter_fygr)
0xeeab: fmain_start + 0x8eb (FITTER_FMAIN)
0x4387: qfit_execute_fit + 0x1d3 (comp_qfit_legacy_flow)
0x55e0: QFIT_FRAMEWORK::execute + 0x2b4 (comp_qfit_legacy_flow)
0x2768: qfit_legacy_flow_run_legacy_fitter_flow + 0x1d4 (comp_qfit_legacy_flow)
0x14410: TclInvokeStringCommand + 0xf0 (tcl86)
0x161e2: TclNRRunCallbacks + 0x62 (tcl86)
0x17a65: TclEvalEx + 0xa65 (tcl86)
0xa6f8b: Tcl_FSEvalFileEx + 0x22b (tcl86)
0xa5646: Tcl_EvalFile + 0x36 (tcl86)
0x12877: qexe_evaluate_tcl_script + 0x367 (comp_qexe)
0x11ac3: qexe_do_tcl + 0x343 (comp_qexe)
0x16c34: qexe_run_tcl_option + 0x584 (comp_qexe)
0x39285: qcu_run_tcl_option + 0xf95 (comp_qcu)
0x1658d: qexe_run + 0x39d (comp_qexe)
0x17371: qexe_standard_main + 0xc1 (comp_qexe)
0x2262: qfit2_main + 0x82 (quartus_fit)
0x13258: msg_main_thread + 0x18 (CCL_MSG)
0x14a5e: msg_thread_wrapper + 0x6e (CCL_MSG)
0x16af0: mem_thread_wrapper + 0x70 (ccl_mem)
0x12af1: msg_exe_main + 0xa1 (CCL_MSG)
0x2a02: __tmainCRTStartup + 0x10e (quartus_fit)
0x17033: BaseThreadInitThunk + 0x13 (KERNEL32)
0x4cec0: RtlUserThreadStart + 0x20 (ntdll)
End-trace
Executable: quartus_fit
Comment:
None
System Information
Platform: windows64
OS name: Windows 10
OS version: 10.0
Quartus Prime Information
Address bits: 64
Version: 20.1.1
Build: 720
Edition: Lite Edition

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page