Problème critique
Si vous sélectionnez VHDL dans l’interface MegaWizard et créez un contrôleur SDRAM DDR2 ou DDR3 avec cœur IP UniPHY, le produit le cœur est dans Verilog HDL.
Pour générer un cœur IP VHDL, procédez comme suit :
- Dans un éditeur de texte ouvert <Quartus Répertoire II>\ip\altera\uniphy\lib\common_ddrx.tcl.
- Rechercher la chaîne
LANGUAGE
» qui s’affiche dans le code suivant :append param_str ",LANGUAGE=[get_generation_property HDL_LANGUAGE]
" - Changez cette ligne au code suivant :
append param_str ",LANGUAGE=vhdl"
- Continuez à rechercher la prochaine apparition de la chaîne
LANGUAGE
« » qui apparaît dans le code suivant :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\]" }
- Indiquez la ligne if, la ligne d’autre et le bloc
du code dans la section conditionnalité afin que le code dans le
else
« le bloc s’exécute toujours, semblable au code suivant :# 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\]" # }
- Utilisez l’interface MegaWizard pour générer une interface UniPHY cœur IP.
Pour générer un cœur IP HDL Verilog, restaurez l’original fichier common_ddrx.tcl.