如果在MegaWizard界面中选择VHDL并生成带有UniPHY IP内核的DDR2或DDR3 SDRAM控制器,则生成的内核采用Verilog HDL。
解决/修复方法
要生成VHDL IP内核,请执行以下步骤:
- 在文本编辑器中打开< Quartus II目录 > \ ip \ altera \ uniphy \ lib \ common_ddrx.tcl 。
- 搜索以下代码中显示的字符串“
LANGUAGE
”:append param_str ",LANGUAGE=[get_generation_property HDL_LANGUAGE]
” - 将此行更改为以下代码:
append param_str ",LANGUAGE=vhdl"
- 继续搜索下一个代码中出现的字符串“
LANGUAGE
”的下一个出现:if {[string compare -nocase [get_generation_property HDL_LANGUAGE] verilog] == 0} { add_file /.v {SYNTHESIS SUBDIR} puts "set_global_assignment -name VERILOG_FILE \[file join $::quartus(qip_path) .v\]" } else { add_file /.vhd {SYNTHESIS SUBDIR} puts "set_global_assignment -name VHDL_FILE \[file join $::quartus(qip_path) .vhd\]" }
- 注释掉条件部分中的if行,else行和代码块,以便“
else
”块中的代码始终执行,类似于以下代码:# if {[string compare -nocase [get_generation_property HDL_LANGUAGE] verilog] == 0} { # add_file /.v {SYNTHESIS SUBDIR} # puts "set_global_assignment -name VERILOG_FILE \[file join $::quartus(qip_path) .v\]" # } else { add_file /.vhd {SYNTHESIS SUBDIR} puts "set_global_assignment -name VHDL_FILE \[file join $::quartus(qip_path) .vhd\]" # }
- 使用MegaWizard界面生成基于UniPHY的IP内核。
要生成Verilog HDL IP内核,请恢复原始common_ddrx.tcl文件。
没有回复内容