- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Our course at ETSEIB-UPC is actually based in DE0 Cyclone III board and VHDL using an old version of Quartus II.
We are analyzing to move to DE10-Lite board and VHDL using Quartus Prime Lite Edition, as we consider very interesting mixed analog/digital designs.
We have many problems simulating the ADC included in the DE10-Lite MAX10 device.
ADC simulation works as expected at RTL level in verilog designs, but ADC output data is kept constant to 0 at gate level simulations (it is necessary, previously to simulate, to manually correct the .vo file to include the connection of clk_dft in adcblock). Is it possible to obtain a desired ADC output data at gate level, as occurs at RTL level? How?
ADC simulation doesn't work at RTL level in VHDL designs because ADC is mainly described in verilog and the simulator of Lite Edition does not support mixed VHDL/verilog designs. At gate level, ADC output data is kept constant to 0 (it is necessary, previously to simulate, to manually correct the .vho file to include the connection of clk_dft in adcblock). It works as designs in verilog at gate level. Is it possible to correctly simulate ADC in VHDL designs? How?
Thanks for your answer.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi ,
I would recommend to use the ADC IP , there was an issue with VHDL simulation previously. With my understanding the issue got resolved in new version of quartus.
I would recommend to use new Standard version of Quartus .
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you for your suggestions.
Our course is in VHDL, so we need to make designs in VHDL. Our students mainly work at home, so each student needs to install Quartus Prime in its PC or desktop. Standard version of Quartus Prime is a payment version, and students cannot buy it. This is the reason why, in the last years, we have been using the Lite version, which is free. In the past (some years ago), students used the Quartus II web version and asked for a semester licence, which was free.
In our design, we use variations of the Quartus Prime Lite IPs ALTPLL and modular ADC core, which are asked to be generated in VHDL. Nevertheless, only the top layers in the IP hierarchy are obtained in VHDL. Lower layers are obtained in verilog. This mixed VHDL/verilog is not supported by Modelsim in the Quartus Prime Lite version, so it is not possible to simulate at RTL level. It is possible to compile and simulate at gate level, but in this case the data out from the ADC is always 0, not following the expected behavior (the expected behavior only is found in verilog designs at RTL level).
Signal clkout_adccore still remains unconnected in synthesized modular ADC core when using Quartus Prime Lite 19.1, so you have to add the connection manually modifying the .vho file.
Any other suggestion? Thanks in advance.
Emili Lupon
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Emili,
Sorry for the late response, according to the link [1] below, you can actually use ModelSim*-Intel® FPGA Starter Edition Software which is free and no licensed required to simulate RTL and Gate Level[1}. This free software also support mixed-language for VHDL-Verilog for your top and lower layer design. Let me know if it helps.
[1].https://www.intel.com/content/www/us/en/software/programmable/quartus-prime/model-sim.html
Thanks,
Regards
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you very much for your answer.
Yes. It is the same problem, but now it has been solved. In solving it, I have detected three bugs in, at least, version 19.1 of Quartus Prime Lite software, when you try to simulate the ADC in MAX10 FPGA family. I will report these three bugs later in this message.
I already had ModelSim-Intel FPGA Starter Edition installed, but I though that it was not a mixed VHDL/verilog simulator and I tried to simulate a full VHDL design. My VHDL design is named prova_ADC and my modular ADC core Intel FPGA IP variation is named nucli_ADC1.
WHAT IT WORKS
RTL simulation works well if you generate the modular ADC core IP in verilog. To aid in the explanation of bugs described below, it follows the content of file .../nucli_ADC1/simulation/submodules/nucli_ADC1_modular_adc_0.v, which consists in an appropriately parameterized instance of module altera_modular_adc_control:
Content sent by e-mail
WHAT DOES NOT WORK (BUG 1)
RTL simulation does not work if you generate the modular ADC core IP in VHDL. The problem here is that Quartus Prime Lite generates file .../nucli_ADC1/simulation/sumodules/nucli_ADC1_modular_adc_0.vhd as an instance of an unknown non-parameterized component named nucli_ADC1_modular_adc_0_control_internal instead of an appropriately parameterized instance of the component named altera_modular_adc_control, as in the verilog case. It follows the content of the generated file:
Content sent by e-mail
RTL simulation works well if you modify the content of file .../nucli_ADC1/simulation/submodules/nucli_ADC1_modular_adc_0.vhd to the correct one that is, an appropriately parameterized instance of the component named altera_modular_adc_control:
Content sent by e-mail
WHAT DOES NOT WORK (BUG 2)
Gate level simulation does not work if you generate the compiled design in VHDL, described in file .../simulation/modelsim/prova_ADC.vho. The problem here is that Quartus Prime Lite generates an instance of the parameterized component fiftyfivenm_adcblock unassigning some generic parameters (enable_usr_sim, reference_voltage_sim, and simfilename_chx) and a port (clk_dft), and wrongly assigning another generic parameter (upper case letter must be used in device_partname_fivechar_prefix). It follows the relevant part of the content of the generated file .../simulation/modelsim/prova_ADC.vho:
Content sent by e-mail
Gate level simulation works well if you modify the file .../simulation/modelsim/prova_ADC.vho to include an instance of the parameterized component fiftyfivenm_adcblock with all generic parameters and ports correctly assigned:
Content sent by e-mail
WHAT DOES NOT WORK (BUG 3)
Gate level simulation does not work if you generate the compiled design in verilog, described in file .../simulation/modelsim/prova_ADC.vo. The problem here is that Quartus Prime Lite generates an instance of the parameterized module fiftyfivenm_adcblock unassigning some parameters (enable_usr_sim, reference_voltage_sim, and simfilename_chx) and a port (clk_dft), and wrongly assigning another parameter (upper case letter must be used in device_partname_fivechar_prefix). It follows the relevant part of the content of the generated file .../simulation/modelsim/prova_ADC.vo:
Content sent by e-mail
Gate level simulation works well if you modify the file .../simulation/modelsim/prova_ADC.vo to include an instance of the parameterized module fiftyfivenm_adcblock with all parameters and ports correctly assigned:
Content sent by e-mail
Please, try to correct these bugs in future versions of Quartus Prime. Thank you very much.
Best regards,
Emili Lupon
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page