Debido a un problema en la versión 21.3 del software Intel® Quartus® Prime Pro Edition, es posible que observe un error interno al utilizar pines bidireccionales con registro de entrada rápida, registro de salida rápida o asignación de Registro de activación rápida de salida. Si está habilitado alguno de los registros rápidos, se le requiere que los habilite todos.
Un ejemplo de un caso que falla:
El registro de entrada se asigna al Registro de entrada rápida, pero los registros de OE/Salida no se les asigna como Registro rápido de OE y Registro de salida rápida. Se genera el siguiente mensaje de error interno:
Error interno: sistema secundario: U2B2_GENERIC, archivo: /quartus/db/u2b2_generic/u2b2_generic_translator.cpp, línea: 353
No se pudo encontrar una solución para pio_1_1
Regla: fmgpio_reg::io_gpio_reg_rule @ pio_1_1.x0.outlooko96_core_inst.reo48tile_bot.x3.u1_0.x0.ioereg_top_5_.gpio_wrapper_0.gpio_reg pio_1_1.x0.reso96_core_inst.resalte48tile_bot.x3.u1_0.x0.ioereg_top_5_.gpio_wrapper_0.gpio_reg.mode != BIDIR_MODE || pio_1_1.x0.reso96_core_inst.resalte48tile_bot.x3.u1_0.x0.ioereg_top_5_.gpio_wrapper_0.gpio_reg.xio_gpio_ireg.mode != REG_MODE || pio_1_1.x0.tosta96_core_inst.resalte48tile_bot.x3.u1_0.x0.ioereg_top_5_.gpio_wrapper_0.gpio_reg.xio_gpio_oreg.mode en {DDR_MODE_FR,SDR_MODE}
Variables de entrada y sus valores:
pio_1_1.x0.tosta96_core_inst.resalte48tile_bot.x3.u1_0.x0.ioereg_top_5_.gpio_wrapper_0.gpio_reg.xio_gpio_ireg.mode == REG_MODE
pio_1_1.x0.resalte96_core_inst.eno48tile_bot.x3.u1_0.x0.ioereg_top_5_.gpio_wrapper_0.gpio_reg.xio_gpio_oreg.mode == COMBI_MODE
pio_1_1.x0.tosta96_core_inst.resalte48tile_bot.x3.u1_0.x0.ioereg_top_5_.gpio_wrapper_0.gpio_reg.mode == BIDIR_MODE
Opción 1:
No configure ninguno de los registros en Fast * Register (Registrar rápido).
Opción 2:
Asigne todos los input/OE/Output a Fast * Register. Por ejemplo, añada las siguientes líneas en el archivo .qsf:
Embalaje del registro de entrada: set_instance_assignment -name FAST_INPUT_REGISTER ON- a
Embalaje del registro de salida: set_instance_assignment -name FAST_OUTPUT_REGISTER ON- a
Registro de habilitación de salida: set_instance_assignment -name FAST_OUTPUT_ENABLE_REGISTER ON- a
Opción 3:
Utilice la siguiente asignación para empaquetar todos los registros. Agregue la siguiente línea al archivo .qsf:
set_global_assignment -name OPTIMIZE_IOC_REGISTER_PLACEMENT_FOR_TIMING "PACK ALL IO REGISTERS"
Esto ya se corrigió en Intel® Quartus® versión 21.3 del software Prime Pro Edition.