Problema crítico
Se você selecionar VHDL na interface MegaWizard e gerar um controlador DDR2 ou DDR3 SDRAM com núcleo UniPHY IP, o gerado o núcleo está no HDL verilog.
Para gerar um núcleo DE VHDL, siga estas etapas:
- Em um editor de texto aberto <Quartus Diretório II>\ip\altera\uniphy\lib\common_ddrx.tcl.
- Pesquise a string "
LANGUAGE
" que aparece no seguinte código:append param_str ",LANGUAGE=[get_generation_property HDL_LANGUAGE]
" - Mude esta linha para o seguinte código:
append param_str ",LANGUAGE=vhdl"
- Continue procurando a próxima ocorrência da string
"
LANGUAGE
" que aparece no seguinte código: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\]" }
- Comente a linha se, a outra linha e o bloco
de código na seção condicional para que o código no "
else
" o bloco sempre é executado, semelhante ao seguinte código:# 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\]" # }
- Use a interface MegaWizard para gerar uma interface baseada no UniPHY Núcleo IP.
Para gerar um núcleo HDL IP Verilog, restaure o original arquivo common_ddrx.tcl .